DJ

Mapeo de controladores en Traktor (I): Fundamentos

28/03/2014 por Teo Tormo

Para sacarle un buen partido a Traktor es fundamental emplear el programa conjuntamente con controladores MIDI. El problema para muchos usuarios novatos llega cuando el controlador no viene de fábrica con un mapeo realizado por el fabricante o sencillamente el usuario preferiría emplear su controlador de manera diferente a como el fabricante lo ha mapeado, ya que desconocen el procedimiento a seguir para hacer que los comandos de su controlador los entienda Traktor. Con este tutorial vamos a tratar de que todos los usuarios de Traktor aprendan a mapear cualquier controlador MIDI. En otros tutoriales de Traktor hemos hecho uso de diversas funciones de mapeo para lograr algún fin, en ocasiones incluso funciones avanzadas, pero esta vez el tutorial está pensado para explicar de cero el proceso de mapeo para todos aquellos que no tienen ni idea. Y no nos vamos a quedar en los controladores MIDI, también vamos a trabajar con los controladores que fabrica Native Instruments para Traktor, y que además de MIDI emplean un protocolo propio llamado NHL.

¿Pero qué es eso de mapear?

[Índice]

Mapear es un proceso a través del cual le “explicamos” al software que estamos usando, en el caso de este tutorial Traktor, que control físico de nuestro aparato (potenciómetro, fader, botón, etc.) controla cada función del programa. Este proceso habitualmente lo realiza el fabricante, y con el producto incluye o bien un CD con un archivo que debe cargarse en Traktor (tienen extensión .tsi) o un enlace para descargarlo de internet. Algunos controladores ni tan siquiera necesitan este archivo, ya que gracias a acuerdos entre Native Instruments y los fabricantes de los aparatos, Traktor ya viene preparado para soportar el controlador, es lo que se conoce como controlador “Traktor Ready”. En todos estos casos, el proceso es tan simple como cargar un archivo que viene con la instalación de Traktor. Luego lo explicaremos como importar estos archivos, los que ofrecen los fabricantes y aficionados y los incluidos en Traktor.

Pero puede darse el caso de que el fabricante no haya hecho este trabajo previo, quizá porque el controlador está diseñado para otro software para discjockeys o bien porque se trate de lo que podríamos llamar un controlador “genérico”, es decir, un controlador que no ha sido pensado para una finalidad concreta y que según las necesidades del usuario puede aprovecharse de diferentes maneras (para mezclar en un DAW, para pinchar, para disparar muestras), en este tipo de controladores los fabricantes no pueden abarcar todos los usos posible, así que muchas veces no incorporan mapeos de fábrica. También puede darse el caso de que el fabricante prepara un mapeo para que un determinado control del aparato controle una función que no nos resulta útil, y preferiríamos que fuera otra. Por ejemplo tenemos unos knobs asignados al control de efectos, pero nosotros apenas usamos efectos y nos gustaría que controlaran los filtros, ya que por nuestro estilo pinchando los empleamos muy frecuentemente. Para todas estas situaciones hay que saber cómo mapear nuestro controlador, un proceso que se realiza en Traktor desde la ventana Preferences (se accede desde el botón de la rueda dentada que está arriba a la derecha), dentro de la pestaña Controller Manager. Pero antes de llegar ahí tenemos que ver unas cuantas cosas teóricas y necesarias para entender lo que vamos a hacer.

Empecemos por el MIDI

[Índice]

Para empezar, lo mejor será explicar un poco lo que es el MIDI, algo fundamental para entender lo que vamos a hacer. El MIDI es un protocolo de comunicación (además de una serie de especificaciones técnicas estandarizadas) entre aparatos electrónicos musicales, y sus siglas significan Musical Instrument Digital Interface. Su desarrollo comenzó en el año 1981 a propuesta de Dave Smith, ingeniero de Sequential Circuits, y tras ser debatido y revisado durante dos años por varios fabricantes de instrumentos musicales electrónicos, se hizo la primera demostración pública de su funcionamiento en el NAMM Show de 1983, haciendo que sintetizadores de dos fabricantes diferentes, un Sequential Circuits Prophet 600 y un Roland JP-6, se comunicaran entre sí (en la siguiente foto puedes verlo). Unos meses más tarde, la especificación MIDI se publicó al completo y pasó a convertirse en un standard de la industria audiovisual.

La importancia de este protocolo ha sido máxima, porque ha permitido que aparatos musicales de distintos fabricantes y ordenadores, puedan comunicarse entre sí. Puedes por ejemplo emplear un teclado controlador Fatar para tocar un módulo sintetizador Access, y que las notas queden grabadas en el secuenciador Cubase. O con un controlador Faderfox decirle a Traktor que se inicie la reproducción de la canción cargada en el deck A, que estará sincronizado mediante MIDI Clock con Ableton Live, que tiene cargados unos efectos cuyos parámetros controlamos desde otro controlador de Doepfer.

Los aparatos y ordenadores compatibles con MIDI se conectan entre ellos usando… conectores MIDI. Son conectores redondos con 5 pines dentro. Cada conector es un puerto de comunicación unidireccional, es decir, sólo puede enviar o recibir MIDI. Los puertos de entrada de datos se suelen llamar MIDI-In y los de salida MIDI-Out (bastante evidente), también hay conectores MIDI-Thru, que sirven para conectar varios dispositivos encadenados y hacer que los datos circulen a través de los aparatos. Pero estarás pensando, “Mi controlador para DJ no tienen esos conectores”. Efectivamente, los controladores modernos para DJ (y para otras cosas) se conectan por los habituales puertos USB normales ya que su finalidad es emplearlos con un ordenador, y los puertos MIDI están virtualizados, de manera que a través de un único cable USB el aparato puede tener diversos puertos MIDI de entrada y salida. Y a través de esos puertos viajan los mensajes MIDI entre los aparatos.

Simplificando mucho la realidad (que no me maten los expertos), podríamos decir que hay dos tipo de mensajes MIDI que nos interesan para el tutorial: los mensajes que transmiten notas musicales y los que transmiten cambios en los parámetros del dispositivo electrónico musical, como el volumen, la panorámica, si es un sintetizador puede controlar parámetros como la afinación del oscilador, el corte de frecuencia del filtro, el tiempo de ataque de una envolvente... estos mensajes para controlar parámetros se conocen como Control Change, abreviadamente se les nombra como CC, y así será como los nombraremos durante el resto del tutorial.

Son los mensajes CC los que más nos interesan principalmente en este tutorial, ya que los controladores MIDI para DJs principalmente envían este tipo de mensajes. En cada aparato, cada control físico tiene asignado un número de CC, que puede ir de 0 a 127. Cada uno de esos controles envía mensajes con su posición exacta, esa posición se indica con un valor numérico que puede ir de 0 a 127. El valor mínimo y máximo indican las dos posiciones más alejadas del control, y el resto de valores indican progresivamente en orden todas las posiciones intermedias. Por ejemplo, normalmente en un knob la posición 0 indica la posición de inicio de rotación a la izquierda, y la 127 el final de la rotación a la derecha, mientras que la posición 63 indicaría la posición central y la 95 serían tres cuartos del giro a la derecha (tampoco es exacto porque tienen una "zona muerta" que no envía posición en los extremos). Para cosas como los botones, la pulsación del botón envía un mensaje de valor máximo, 127, mientras que al soltar el botón se envía un mensaje con el valor mínimo, 0. Ya que he nombrado los botones, debo decir, que aunque antes he comentado que nos interesaban más para el tema de controladores DJ los mensajes CC, algunos controladores en sus botones, especialmente los que tienen pads, envían mensajes de notas musicales. Básicamente estos mensajes se componen de la nota con una letra usando la notación anglosajona, junto con el número de la octava, y un valor de velocity, que en caso de ser botones siempre será de valor 127 y en caso de que sea un controlador con pads sensibles a la velocidad será un valor más alto o más bajo dependiendo de la fuerza con la que se pulsa el pad.

Luego tenemos los canales. Puedes imaginar los canales como autopistas por las que viajan los mensajes MIDI, tanto de notas como mensajes CC. A través de cada puerto MIDI se pueden manejar hasta 16 canales, pero lo lógico es que un controlador para DJs maneje todos sus datos como mucho a través de 2 canales. Por poner un ejemplo, hay controladores para DJs de 4 canales/4 decks, en los que hay conjuntos de botones cuyas funciones están compartidas por 2 decks (el 1 con el 3, y el 2 con el 4, generalmente) y empleando un botón “selector” consigues que los botones o controles envíen sus mensajes CC por diferentes canales. Con esto se consigue que el mismo mensaje MIDI del mismo con físico, dependiendo por el canal por el que viaje, sirva para activar una función en un deck, o en otro.

En el Controller Manager de Traktor, cuando asignemos mensajes CC a una función concreta, el CC aparece así: “Ch.01.CC.03”, que viene a decir que esa función queda asignada a los mensajes con valores de posición del CC número 03 que se recibe a través del canal 01. Cuando una función quede asignada a un mensaje de nota, veremos algo así: “Ch.02.Note.C3”, que viene a decir que la función queda asignada a los mensajes de la nota C3 (la tecla de Do central del teclado) recibidos a través del canal 2.

El MIDI de 14 bits

[Índice]

Para algunas cuestiones actuales relativas a pinchar, el protocolo MIDI “normal” se queda corto, especialmente si con el software queremos emular las prestaciones de un equipo autónomo. Por ejemplo, para ajustar el tempo, con el protocolo MIDI normal apenas hay resolución para algo tan preciso. Si el fader de control de tempo (incorrectamente conocido como pitch-fader) debe moverse entre valores que van desde -8% a +8%, con una precisión de 2 decimales, tenemos 1600 posiciones físicas, cuando en realidad el protocolo MIDI únicamente nos da 128, con lo que al mover el pitch los valores saltarán con una resolución aproximada de 0,12%, demasiado teniendo en cuenta que los CDJ actuales pueden llegar a tener una resolución de 0,02%.

Para mejorar este tipo de cuestiones se desarrolló el MIDI de 14 bits, que es empleado por algunos controladores para DJs. Los mensajes MIDI normales tienen una longitud de 7 bits, al poderse enviar mensajes el doble de largos no tenemos el doble de valores para transmitir una posición, tenemos… su potencia al cuadrado, es decir, de 128 posiciones pasamos a 16.384 (aunque en realidad no se emplean todas), suficiente como para lograr una resolución más aceptable. En Traktor los mensajes MIDI de 14 bits aparecen como si se recibiera MIDI simultáneamente de dos CC, en el recuadro de asignación del Controller Manager veremos algo como “Ch2.CC.033+Ch2.CC.01”.

El MIDI de 14 bits no forma realmente parte de la especificación standard del MIDI, y únicamente lo implementan dispositivos modernos con MIDI sobre USB pensados para ser conectados a ordenadores.

Sigamos por el protocolo NHL

[Índice]

Como este tutorial de mapeo de controladores es para Traktor, es necesario hablar del protocolo NHL. Native Instruments tienen desarrollada una línea bastante amplia de productos musicales y para DJs, y como algunos de sus productos son combinaciones de hardware y software que ellos mismos hacen, decidieron crear su propio protocolo de comunicación entre sus aparatos y su software. Muchos controladores de NI tienen implementado tanto el protocolo MIDI como el NHL creado por NI, así que pueden ser usados en software que no sea de Native, pero ojo, solo con software, ya que muchos de estos controladores realmente el MIDI lo envía su driver, así que no pueden ser usados si no es con un ordenador. Cuando un controlador de NI se usa con Traktor, funciona automáticamente con el protocolo NHL, a no ser que empleando una combinación de botones (distinta en cada aparato) lo hagas trabajar en modo MIDI.

Para el usuario normal, el protocolo NHL con Traktor suponen algunas ventajas. Por ejemplo, a la hora de realizar mapeos, el usuario ve el nombre exacto del control que está mapeando, y no el mensaje MIDI que envía. Por ejemplo, si tiene conectado un Kontrol F1 y quiere asignar a una función el tercer fader, podrá elegir “Volume 3” de un menú desplegable en lugar de ver un mensaje del tipo Ch1.CC.09. Para mapear funciones con botones de iluminación RGB programable también es mucho más cómodo, ya que permite elegir el color exacto de una lista y no tener que introducirlo probando mensajes MIDI hasta dar con el mensaje correcto. A nivel de precisión, para algunos tipos de controles el protocolo NHL es relativamente mejor, volviendo al ejemplo que usábamos antes del tempo, asignandole un fader de 50mm de un controlador de NI se logra una resolución de 0.02-0.03%, lo cual está francamente bien. En el caso de los knobs, se obtiene también cierta mejora, en lugar de 128 posiciones, se obtienen 200 posiciones, 100 del centro hasta el punto máximo de giro a la izquierda, y otras 100 del centro al punto máximo de giro a la derecha.

Native Instruments no ha hecho públicas las especificaciones de su protocolo, a fin de cuentas tampoco es demasiado necesario ya que sólamente lo van a emplear sus aparatos, y por eso mismo también las especificaciones pueden cambiar según lancen nuevos aparatos y necesiten cambiar algo para adaptarlo a las funciones del aparato.

El Controller Manager

[Índice]

El Controller Manager es el área en la sección de preferencias (Preferences) donde realizamos todo el proceso de mapeo de controladores. En la parte superior, donde pone Device Setup, es desde donde se importan mapeos que puedas obtener de fabricantes o aficionados al controllerism, exportar los que hayas realizado tú, y también cargar los mapeos de los controladores Traktor Ready.

En la parte inferior de Assignment Table es donde aparecerán todas las funciones del programa y el control al que están asignadas, así como las condiciones que hayas podido establecer mediante modificadores. Un poco más abajo, en Device Mapping y Mapping Details, es donde están ubicados los controles y opciones para añadir las asignaciones.

Importando mapeos de fabricantes y aficionados

[Índice]

Vamos a empezar a meterle mano al Controller Manager importando mapeos ya realizados. Tienes dos formas de hacerlo:

- Si el controlador es Traktor Ready (lo suele poner en la caja o serigrafiado en el controlador) y tu Traktor está actualizado, sencillamente en el Controller Manager, en la parte de Device Setup, pulsa en Add y baja hasta Import TSI, se desplegará al lado un menú con fabricantes donde debes buscar tu controlador y seleccionarlo. Verás como ahora en Device aparece el controlador y como todas las asignaciones del mismo aparecen en Assignment Table. Asegúrate de que en In-Port está seleccionado el puerto del dispositivo, suele tener el mismo nombre o similar al del controlador.

- Si el controlador tiene un mapeo que has descargado de la web del fabricante o de un aficionado, dale a Add/Import TSI y en el menú de los fabricantes elige la última opción: Import Other. Se abrirá una ventana para elegir el archivo .TSI de tu disco duro.

No es tan difícil, ¿verdad?.

Haciendo tus primeras asignaciones

[Índice]

Bien, veamos ahora como comenzar a asignar controles de un controlador cualquiera (uno MIDI, los NHL los veremos en el siguiente tutorial) a las funciones de Traktor. Asegúrate de que tu controlador está conectado por USB y si necesita alimentación externa asegúrate de que dispone de ella, y enciende el controlador antes de abrir Traktor.

Pulsa en Add y elige Generic MIDI, esto creará un nuevo dispositivo en el menú Device llamado… pues eso, Generic MIDI. En In-Port elige el puerto MIDI del dispositivo, como ya he dicho antes, suele tener un nombre similar al del aparato. En el apartado Device, para no confundirte con lo de Generic MIDI, vamos a cambiarle el nombre y ponerle el nombre concreto del aparato, para ello pulsa en Edit y en el menú que aparece elige Edit Comment, lo cual abrirá otra ventana donde escribir según el programa un “comentario para el controlador”, pero a fin de cuentas es lo que aparece escrito en Device y lo que sirve para distinguirlo. Llámalo por su nombre o como quieras.

Bien, ya hemos creado un dispositivo, elegido el puerto y cambiado el nombre. Ahora vamos a asignar uno de sus faders al control de volumen del canal A del mixer de Traktor. En la parte de abajo de la Assignment Table pulsa en Add In y en el desplegable que aparece (ahí están todas las funciones asignables a un controlador) elige Mixer/Volume Adjust. Aparecerá una nueva línea en amarillo en la Assignment Table, pero cuidado, Traktor no sabe todavía que tiene que hacer con esa función. Ahora pulsarás el botón Learn, lo cual pondrá a Traktor en un modo en el que espera recibir algún mensaje MIDI para asignar el control del que proviene a la función elegida. Lo dicho, pulsa Learn y acto seguido mueve un fader de tu controlador y verás como aparece en el recuadro de al lado de Learn el canal y número de CC del fader de tu controlador. Vuelve a pulsar Learn para desactivar el modo en el que espera Traktor los mensajes MIDI, si no lo haces en cuanto toques otro control, será este el que quede asignado.

Veamos algunas opciones del control que has asignado. Verás que abajo donde pone Type of Controller aparece elegido Fader/Knob, normalmente Traktor detecta sin problemas el tipo de control, pero en caso de error, puedes pulsar en ese menú y elegir entre dos opciones más, que son Button y Encoder (controles de giro infinito). En Interaction Mode tendrás elegido Direct, pero si pulsas en el menú verás que tienes la opción Relative. La diferencia entre Direct y Relative es que con la primera Traktor utiliza la posición exacta del control físico para colocar el virtual exactamente igual, mientras que en la segunda Traktor solo tiene en cuenta si mueves el control físico arriba o abajo y aplica ese desplazamiento al control virtual, pero no hace coincidir su posición.

Finalmente, en la opción Assignment tendrás Device Target. A su vez verás que arriba Device Target está seleccionado como Focus. En el menú Device Target de arriba se define el área concreta sobre la que actúa el controlador en caso de que sea un controlador sólo para el deck A, B, C o D pero si es un controlador para múltiples decks (como casi todos salvo algunos controladores auxiliares) es mejor dejarlo en Focus y abajo en Assignment elegir el deck exacto en cuestión. Te preguntarás, ¿qué es Focus?, se podría traducir como “enfoque”, y si te fijas, siempre hay un deck cuya letra está en color naranja, ese deck es el que tiene el “enfoque”, y por tanto, si la asignación de un control es dependiente del “enfoque”, según cambie el “enfoque” estarás controlando un deck u otro… en cualquier caso recomiendo asignar de manera concreta cada control. Para cambiar el “enfoque” se debe asignar algún control o tecla a esta función concreta. No obstante, para lo que queríamos, que era que el fader de volumen quedara asignado al Deck A, debemos elegir Deck A en Assignment.

Y hasta aquí el tutorial, por el momento. Tras mucha teoría y un poquito de práctica, la semana que viene veremos como mapear más tipos de controles, asignar múltiples funciones a un solo control y mapear controladores NHL.

Te puede interesar