Informática musical

De host a host con MIDI USB-USB de Sevilla Soft

17/02/2015 por Pablo Fernández-Cid Actualizado el 05/03/2015

Conectar dos equipos host MIDI-USB directamente con un cable USB es inviable. En USB MIDI siempre tiene que haber un ‘host’ y un ‘device’. Llegar a conectar dos ordenadores o un ordenador y un iPad vía MIDI implica dotar de un interfaz MIDI a cada extremo y tirar los cables de siempre, con DIN 5 puntas, entre uno y otro. Otra vía es WIFI para evitar cableado pero implica un incómodo peaje en forma de latencia. Hay más opciones que pasan por equipos relativamente complejos que necesitan configurarse y atenderse. Es lo que han vivido en Sevilla Soft, y de esa vivencia nace la idea de MIDI USB-USB, lo más parecido que conozco a un cable directo entre dos host USB MIDI.

Sevilla Soft

[Índice]

Sevilla Soft es la empresa de un sevillano afincado en Madrid miembro de Hispasonic—, curiosamente en el pueblo llamado Sevilla la Nueva. Su producto estrella es —no podía ser otro con esos antecedentes— ‘Metrónomo flamenco’, disponible en versiones soft y hard y que ofrece una recopilación de palos listos para usarse como acompañamiento de percusión a la hora de practicar. Cuenta también con una versión centrada en estilos brasileños, en lo que parece podría seguir creciendo hacia otras músicas ‘de raíz’.

La experiencia con la versión software en iOS ha llevado a Sevilla Soft a ser consciente de la complicación de algo tan simple como conectar vía MIDI un iPhone/iPad (en el que está ejecutándose su metrónomo) con cualquier ordenador en el que esté funcionando un secuenciador o DAW, algo que muchos usuarios deseaban para poder sincronizar y grabar con comodidad. Aprovechando la experiencia en USB ganada con las llaves de protección de su soft en versiones para ordenador, han concebido una solución simple para resolver esa necesidad.

MIDI USB-USB, ‘casi’ un cable

[Índice]

Con un precio de 39€ que cubre el envío dentro de España, MIDI USB-USB presenta el aspecto de un lápiz de memoria pero con dos conectores. La idea es que el dispositivo llegue a estar intercalado entre los dos hots (cualquier combinación entre PC, Mac, Linux, iPad, etc.) y que, sin necesidad de ajustes de ningún tipo, resulte para el usuario como tener un cable tendido entre ambos y que los vincula vía USB para comunicar bidireccionalmente MIDI. De serie se incluyen también dos prolongadores de cable USB, muy inteligentemente con dos longitudes diferentes, para poder facilitar el que se conecte sin necesidad de estar inmediato a ninguno de los dos host.

La funcionalidad es muy simple, porque está pensado para usuarios que no quieren complicarse la vida. El paralelismo con la idea de haber tirado un simple cable es total. Cada host al que se conecta ve un dispositivo USB-MIDI Class Compliant dotado de 4 puertos in y otros tantos out, el equivalente a 4 interfaces MIDI en cada extremo, cada uno con sus 16 canales.

En la imagen siguiente lo tenéis uniendo un iMac y un iPad. He incrustado las imágenes que muestran cómo aparece en cada uno de los dos entornos. Lógicamente en iPad/iPhone hay que contar con el ‘camera kit’.

Internamente MIDI USB-USB conecta cruzados los puertos de idéntico número, con lo cual toda la información que un extremo envíe por el puerto 1 será recibida por el puerto 1 del otro host y viceversa. Lo mismo con los puertos 2, 3 y 4; sin realizar configuración ninguna, de forma transparente y simple. Es en cada host donde decidiremos qué enviamos por cada salida y qué hacemos con cada entrada.

Aplicaciones

[Índice]

Me llegó el primer prototipo de este dispositivo cuando se cerraba su fase de proyecto pero a tiempo de sugerir que la idea inicial de un único puerto se hiciera crecer a los 4 que lleva actualmente. De esa forma no es necesario ni siquiera andar planificando el reparto de canales MIDI y podemos rápidamente integrar en un entorno único múltiples aplicaciones que estén ejecutándose en dos entornos diferentes de computación como PC, Mac, Linux, iOS, etc.
Resulta también ventajoso en algunos casos en los que necesitamos enviar una señal MIDI, procesarla en un host diferente (por ejemplo con un arpegiador en iPad) y recuperar la versión procesada: hacerlo por un puerto diferente simplifica a menudo el ruteo y ayudar a evitar posibles bucles perniciosos.

En mi caso he realizado pruebas conectando un iMac y un iPad. Algunos de los usos que le he dado:

  • Dirigir pistas del DAW hacia un sinte soft en el iPad.
  • Aprovechar plantillas de edición personalizadas para sintes hardware que tengo en iPad (con la app MIDI TB Stuff) pudiendo encaminarlos y grabarlos usando las diferentes pistas de Cubase.
  • Pasar acordes grabados en pistas de Cubase hacia un arpegiador en iPad para registrar el resultado de nuevo en Cubase.
  • Dirigir un teclado conectado directamente al Mac para gobernar simultáneamente sintes soft en Mac y en iPad.

En definitiva, nada que no pudiera hacer antes, pero sin el lío de cables al que cualquiera de esas cuestiones me obligaba. Una limpieza que se agradece.

Pruebas de retardo

[Índice]

He preparado un pequeño vídeo para que os hagáis una mejor idea del funcionamiento, y de paso os muestro cómo he realizado una medición 'realista' de latencia en un caso típico de uso, desde la perspectiva del usuario.

En una pista Cubase de un iMac preparo un patrón de notas. Lo envío por MIDI USB-USB puerto 1, del otro lado está un iPad. En iPad una app (MIDI Bridge) que me permite hacer que lo que llega por puerto 1 salga por puerto 2 de vuelta hacia el ordenador. Otra pista de Cubase está configurada para grabar lo que llega por puerto 2. Lo dejo corriendo con grabación en bucle (para poder acumular varias grabaciones) y luego analizo el resultado.

Nada que objetar a la velocidad de transmisión, en ese entorno resultan <5 ms. de latencia acumulada, lo cual está muy bien. Si fuera una comunicación en un único sentido (por ejemplo lanzando un sinte iPad desde una pista de un DAW en ordenador) la cifra sería la mitad. Es un valor bueno. porque están implicados 4 interfaces (sale de ordenador, entra a iPad, sale de iPad, entra a ordenador) y el tiempo 'típico' de un interfaz MIDI-USB está algo por debajo de 3ms. Es comparable a iConnectMIDI o a usar interfaces MIDI unidos entre sí y la correspondiente maraña de cables. Hice alguna medición empleando dos interfaces MIDI-USB y resultaban cifras mayores (el doble).

Además la dispersión de valores es mínima (aprox. 1ms). Me refiero a que es un retardo muy estable, sin grandes desviaciones, sin 'jitter', comparando varias grabaciones sucesivas. Eso permitiría realizar una compensación del retardo si fuera necesario.

Pruebas de robustez

[Índice]

Junto a la cuestión de la velocidad de la comunicación, otro aspecto que conviene probar es la robustez, y para ello nada mejor que un test con mensajes sysex, puesto que pueden ser de una grandísima longitud.

He probado a realizar algún volcado sysex voluminoso, y nuevamente no he encontrado problemas (sí con ese primer prototipo que recibí anticipadamente, pero solventado para la serie de producción). Envié un banco de sonidos de DX7 (más de 4000 bytes) de nuevo desde una pista Cubase pasándolo por el iPad en modo ‘eco’ y volviendo a registrar en otra pista Cubase. Todo OK, al verificar los ficheros con 4104 bytes enviados y los 4104 recibidos resultan idénticos, como cabía esperar.

Me pareció notar (y así me lo confirman desde Sevilla Soft) que la transmisión de sysex va más veloz que en MIDI sobre DIN de 5 puntas. Los tiempos de volcado de sysex entre los dos host se redujeron notablemente (fácilmente a la décima parte, calculo). En la norma USB-MIDI los sysex se trocean en fragmentos de 3 bytes que se envían sucesivamente, precedidos de una cabecera, pero no deja de ser un único mensaje completo que se aprovecha de la mayor velocidad de USB enviando a toda velocidad esos fragmentos. La utilidad será escasa normalmente, puesto que el sistema MIDI que finalmente deba recibirlo a menudo no admitirá una tasa tan veloz. En todo caso, cualquier regulación o limitación de la velocidad tendrá que venir de los host o las aplicaciones, no se impone ningún control de flujo desde el dispositivo de Sevilla Soft. Tiene el aspecto bueno de la mejor velocidad y el malo del posible desbordamiento de algún host ‘lento’ o con buffer insuficiente, pero es un problema bastante común en sistemas MIDI-USB y que sólo sucede con mensajes sysex de gran volumen, dado que cualquier otro mensaje MIDI es siempre de longitud máxima 3 bytes, y entra en la capacidad de un único paquete de comunicación USB-MIDI.

Para quién y para qué

[Índice]

Ciertamente al conocer MIDI USB-USB enseguida me vino a la memoria el iConnectMIDI2+/4+ que también probé para hispasonic hace unos meses y que considero la competencia más próxima. Pero son dos productos bien diferentes; la funcionalidad de iConnect es muchísimo mayor, desde luego (en particular con la posibilidad de transferir también audio, no sólo MIDI). Pero también es mayor su complejidad para el usuario que busca una forma sencilla de integrar aplicaciones MIDI sobre dos host diferentes. El precio de iConnectMIDI2+ es sólo el doble de MIDI USB-USB., pero mientras con solo 39€ la decisión de compra con MIDI USB-USB no exige pensar mucho, los interesados por iConnectMIDI2+ seguramente harían bien en pensar si quizá deben ahorrar para saltar al 4+, con un precio bastante superior pero muy crecidas funciones.

Para una solución poco voluminosa, con cero configuración y sin lectura de manuales de uso, MIDI USB-USB es una vía interesante. La única, que yo conozca, con esa simplicidad. Mientras me pienso lo del iConnectMIDI4+ no pienso devolver este MIDI USB-USB; me encantan este tipo de ‘gadgets’ solucionaproblemas que ocupan poco entre el arsenal de conectores y cables, y pueden salvar alguna que otra necesidad.

Más información | Web de Sevilla Soft

Te puede interesar