INPUTS & OUTPUTS – TOUCHDESIGNER

Se analiza la implementación del protocolo de comunicación de eventos MIDI para la integración de interfaces de control físico en el entorno de TouchDesigner. El hardware de ejemplo, una interfaz de control MIDI, dispone de múltiples actuadores de entrada: un teclado matricial, faders táctiles con capacidad de retroiluminación y potenciómetros rotativos (knobs). Cada actuador genera un flujo de datos con atributos específicos, los cuales son procesados como canales numéricos.

 

La inicialización de la comunicación requiere una configuración a través del diálogo `MIDI Device Mapper`. Este proceso consiste en escanear los dispositivos MIDI conectados (`Check MIDI Devices`) y establecer un mapeo persistente (`Create New Mapping`), asignando el dispositivo hardware detectado (e.g., Launchkey Mini MK3) a un identificador lógico de entrada (`In Device`) dentro del sistema. Una vez configurado el mapeo, la captura de datos se realiza mediante la instanciación de un `MIDI In CHOP`.

 

Este operador se suscribe al flujo de datos del dispositivo mapeado y genera dinámicamente un canal de datos por cada tipo de mensaje MIDI recibido. La nomenclatura de los canales generados sigue un formato estructurado que refleja la gramática del protocolo, típicamente `ch[Canal_MIDI]n[Número_Nota]` para mensajes `Note On/Off` y `ch[Canal_MIDI]c[Número_Controlador]` para mensajes `Control Change` (CC). El protocolo MIDI organiza la comunicación en 16 canales lógicos, permitiendo la segmentación de los flujos de control.

 

Se constata que los valores transmitidos por el protocolo MIDI operan, por estándar, en un rango de 0 a 127, lo cual corresponde a una resolución de datos de 7 bits. Esta cuantificación es inherente a la mayoría de los mensajes MIDI. Se observa una diferenciación funcional entre los actuadores: los faders de modulación y los potenciómetros emiten mensajes `Control Change`, cuyos valores son absolutos y se mantienen en la última posición registrada. Por el contrario, un control de `Pitch Bend` emite valores relativos a un punto central (64 en la escala de 7 bits) y retorna a este estado de reposo al ser liberado. Además, las teclas del teclado matricial transmiten, junto con el mensaje `Note On`, un valor de velocidad (velocity) que cuantifica la fuerza de la pulsación, también en el rango 0-127. TouchDesigner normaliza este valor de velocidad a un flotante entre 0.0 y 1.0, permitiendo un control dinámico y expresivo. La subsecuente manipulación de estos rangos de datos de 7 bits, para su aplicación en el control de parámetros de sistema, se realiza típicamente mediante operadores como el `Math CHOP` para efectuar operaciones de re-escalado y re-mapeo.