miércoles, 15 de septiembre de 2010

Controlar NI Traktor con un iPad.

Bueno. Tras recorrer la web buscando, la verdad es que lo mejor que he visto es de pago, y francamente, no me convence demasiado.
Personalmente considero que los productos comerciales han de ser sólidos como rocas y estar muy bien diseñados. Más aún cuando se trata de algo tan crítico como controlar usa sesión de dj, donde los errores deben ser los del dj, no los del sistema. La solución Control1 de NI es un ejemplo de excelencia.
Pero aqui hablamos de algo diferente.

Actualmente estoy embarcado en un proyecto personal con el que pretendo controlar totalmente a Traktor mediante un iPad, implementando los flujos de trabajo de un DJ durante una sesión.
Pretendo realizarlo utilizando software libre, y por supuesto, una vez terminado, poner el resultado a la libre disposición de toda la comunidad.

Este proyecto tiene dos aspectos: (1) Determinar los flujos de trabajo a implementar. (2) Resolver la comunicación entre iPad y Traktor y viceversa.
Respecto al primer aspecto, tengo algunas ideas, procedentes de mi modesta experiencia en el "controlerismo" y el djing, que me han llevado a determinar 6 áreas de control (que se traducen en "pantallas tactiles" en el iPad). Estas áreas serían:
  • Control de los platos A y B
  • Control de los platos C y D
  • Busqueda, carga, localización y "cue point settings", de canciones
  • Control de los 4 platos
  • Gestión de efectos
  • Scratching
Sobre estas áreas estoy abierto a cualquier sugerencia. Las tengo bastante desarrolladas, pero la ayuda de gente más experta en djing será bienvenida. Pronto mostrare, aqui mismo, imágenes de cada pantalla para poder recibir comentarios al respecto.

Lo referente al sistema de base, sobre el que desarrollar la solución, ha requerido un proceso de selección sobre cuyos resultados agradeceré cualquier comentario o sugerencia.

En principio, NI decidió que el protocolo de mensajeria desde y hacia Traktor fuera MIDI. Nada que decir, es universal.
Por otro lado, hace falta una manera de "pintar" controles en la pantalla del iPad, y hacer que estos envien mensajes midi a Traktor.
Afortunadamente existe una aplicación llamada touchOSC para iPad (disponible en app store), que no solo "pinta" controles si no que ademas hace que envíen y reciban mensajes al pc/mac usando el protocolo OSC, de forma inalambrica!!!
Para transformar los mensajes OSC a MIDI, y viceversa, existe una opción de software libre llamada pure data. Se ejecuta en el mismo ordenador que Traktor. 
Es un entorno similar a MAX (progenitores comunes) . La pega, o no, es que se trata de un lenguaje de programación no estructurado. Dispone de una interfase gárafica para definir objetos y explicarles que deben hacer con los datos OSC y MIDI que reciban. Eso quiere decir que para cada objeto (botón, fader, etc) que se diseñe en touchOSC (la parte iPad de la solución), debe crearse y programarse un objeto en pure data (la parte pc/mac).
Digo esto porque si me proponeis alternativas, estas deben ser "cojonudas". Pensad que las 6 áreas / pantallas tienen entre todas mas de 300 objetos definidos (de momento). 300 en touchOSC, 300 en pure data, 300 parametros de control externo de Traktor, poca broma.

Actualmente estoy acabando la parte pure data de la solución, en la que trato de que solucionar temas del tipo realimentación, escalado, y broadcast. Para que por ejemplo los faders no "salten" ni en Traktor ni en Ipad. Ver saltar un fader, cada vez que lo tocas, es muy desagradable y no permite un control muy preciso que se diga.
Si hay algún experto en pure data entre el público, que levante la mano. Yo mientras continuo estudiando la documentación y haciendo pruebas.

Como decía antes, en breve mostrare capturas de las 6 pantallas diseñadas en touchOSC.
Espero vuestra ayuda y comentarios.

Y mientras termino el trabajo, os adelanto una plantilla pure data modificada con los trucos que he ido aprendiendo. Espero que os sea util.

No hay comentarios:

Publicar un comentario

tus impresiones son bienvenidas, gracias.