Informática musical

USB y MIDI: conceptos básicos

Logotipo oficial de USB
Logotipo oficial de USB

USB y MIDI

El MIDI ha mantenido su relevancia a lo largo de sus 30 años de historia adaptándose a las diversas formas en que los ordenadores envían y reciben información de y hacia dispositivos externos. Podemos enviar MIDI a través de conectores DIN de 5 pines, puertos serie, USB, Firewire, Ethernet, Bluetooth y más. Pero la forma más habitual de conectar ordenadores, tablets y smartphones actualmente es el USB; por ello, en este artículo nos ocuparemos de algunos aspectos básicos del USB-MIDI.

Cómo surgió el USB

A principios de los 90 había demasiados tipos de conexiones en los ordenadores: puertos serie y paralelo, ratón y teclado, joystick... Era complicado saber si el periférico que estabas comprando funcionaría con tu ordenador. Por este motivo, Compaq, Intel, Microsoft y NEC (a las que se unieron después Hewlett-Packard, Lucent y Philips) formaron el USB Implementers Forum, Inc (USB-IF), una corporación sin ánimo de lucro cuyo objetivo consistía en publicar las especificaciones del USB y organizar su futuro desarrollo. De un modo similar a la MIDI Manufacturers Association, USB-IF se asegura de que haya interoperabilidad entre diversos dispositivos USB.

Objetivos del USB

USB-IF tenía algunas metas muy claras cuando desarrolló la primera especificación USB:

  • Estandarizar los tipos de conectores: hoy en día tenemos distintos tipos de conexiones USB, pero todas están estandarizadas por USB-IF.
  • Intercambio en caliente: los dispositivos USB pueden ser conectados y desconectados según se necesite, mientras el ordenador está funcionando. Así, no es necesario reiniciar.
  • Plug and Play: los dispositivos USB están divididos en tipos funcionales (audio, imagen, interfaz de usuario, almacenamiento masivo). De este modo, el sistema operativo puede identificar, configurar y cargar el driver apropiado automáticamente, nada más conectar el dispositivo USB.
  • Alto rendimiento: USB ofrece tasas de transferencia bajas (1.5 Mbit/s), a toda velocidad (12 Mbit/s) y alta velocidad (hasta 480 Mbit/s). USB 3.0 (SuperSpeed USB) alcanza los 5.0 Gbit/s.
  • Capacidad de expansión: en teoría, se pueden conectar hasta 127 dispositivos distintos en un mismo bus USB a la vez.

Arquitectura de sistema USB

La arquitectura de sistema USB básica es muy sencilla y consiste en estos componentes principales:

  • Un ordenador host, smartphone o tablet
  • Uno o más dispositivos USB
  • Un bus físico representado por el cable USB que une los dispositivos con el host

Es importante tener claro que Universal Serial Bus (USB) es un bus controlado por host. Todas las transferencias de datos se inician y se controlan desde el host, y los periféricos USB son esclavos que responden a los comandos de ese host. Por eso, para utilizar periféricos USB-MIDI siempre necesitarás un ordenador, smartphone o tablet en el sistema, para controlar e iniciar la comunicación.

Clases de dispositivos USB

Los dispositivos USB se definen en clases funcionales específicas, como decíamos antes. Por ejemplo: imagen, interfaz de usuario (teclado, ratón, joystick), almacenamiento masivo y audio. De esa forma, el sistema operativo puede saber para qué ha sido diseñado el dispositivo y cargar automáticamente un driver "class compliant" (es decir, un driver que "cumple" con las especificaciones de la clase de dispositivo que vamos a usar).

En 1999, USB-IF desarrolló la especificación MIDI USB en cooperación con la MIDI Manufacturers Association, incluyendo así la clase de dispositivos de audio. Por eso a veces pasa que, cuando conectas un periférico USB-MIDI, el sistema operativo dice que se ha conectado un dispositivo USB-Audio: en lo que respecta al USB, el MIDI es un dispositivo Audio Class Compliant.

Drivers class compliant vs. drivers específicos del fabricante

Los drivers class compliant son muy útiles porque no tienes que descargar ningún software externo, pero a menudo, los drivers específicos de los fabricantes ofrecen funcionalidades añadidas. Por ejemplo, el caso de Yamaha: como la transferencia de datos sobre USB es mucho más rápida que las conexiones DIN de 5 pines, es posible tener múltiples puertos MIDI (un puerto es un grupo de 16 canales MIDI) en un único cable USB; el driver dedicado de Yamaha ofrece ocho puertos USB-MIDI de alta velocidad, incluye los nombres de todos los dispositivos que son compatibles con el driver, y añade algunas capacidades de ruteo. Estas funcionalidades sólo se pueden conseguir descargando el driver de la web de Yamaha.

Muchas interfaces de audio son también interfaces MIDI que envían y reciben datos con un cable USB. Así, si compras una interfaz MIDI o audio deberías echar un vistazo al manual y la web del fabricante para ver si hay un driver USB específico para tu producto, que añada funcionalidad adicional.

Tipos de conectores MIDI USB

La mayor parte de los ordenadores y portátiles tienen el conector USB A. Un cable USB estándar tiene un conector tipo A en un extremo (para conectarse al host) y otro tipo B en el otro extremo (para conectarse al periférico).

Conector USB tipo A y tipo B
Conector USB tipo A (izquierda) y tipo B (derecha)

El conector tipo A tiene un pin que aporta alimentación a los periféricos externos, así que debes tener cuidado al conectar dos hosts con un cable con conectores tipo A en ambos extremos. Esto puede causar serios daños a tu equipo; consulta al fabricante o lee el manual antes de intentarlo.

El conector tipo A es para controladores host (ordenadores, smartphones, tablets y algunos instrumentos musicales digitales que funcionan como host) y hubs USB. Un hub USB es un dispositivo que expande un único puerto USB en varios; así tienes más puertos disponibles para conectar dispositivos a un sistema host.

Estos hubs USB se incluyen a menudo en ordenadores, teclados de ordenador, monitores e impresoras, pero ten en cuenta que cuando un dispositivo tiene muchos puertos USB, todos suelen venir de uno o dos hubs USB internos, en vez de tener circuiterías USB independientes por cada puerto. Si necesitas aún más puertos USB, también existen hubs externos; tendrás que comprobar si tus periféricos USB necesitan ser alimentados vía puerto USB, en cuyo caso necesitarías un hub USB con alimentación de corriente.

Elektron Overhub
Hub USB de Elektron, especializado en música

Por último, en muchos instrumentos musicales digitales encontrarás dos conectores USB: uno tipo A etiquetado como "To Device" y otro tipo B etiquetado como "To Host". El puerto To Host se utiliza típicamente para enviar MIDI, audio o ambas cosas a un ordenador, smartphone o tablet. El puerto To Device se utiliza habitualmente para conectar dispositivos de almacenamiento como pendrives, aunque también puede utilizarse para otros propósitos.

To Host y To Device
Conectores 'To Host' y 'To Device' en el panel trasero de un Motif XF8 de Yamaha
¿Te gustó este artículo?
7
Comentarios
  • #1 por jBetances el 13/07/2016
    Deberían hacer una estatua al que invento el USB.
    3
  • #2 por Knowño el 13/07/2016
    Antes al que inventó el diazepam.

    Y sobre todo, a los desarrolladores que, no sólo añaden funcionalidades a los controladores class compliant; sino que hacen funcionar equipos de forma fluida a pesar de lo contradictorio que es protocolo USB.

    Sobre todo a los de RME.
    1
  • #3 por franelco el 13/07/2016
    Genial artículo!!!

    No estaría demás indicar que USB son las siglas de "Universal Serial Bus" :wink:
  • MOD
    #4 por Soyuz el 13/07/2016
    #3 Se comenta de pasada al hablar de la arquitectura de sistemas ;-)
  • #5 por BlahBlah el 14/07/2016
    A mí el USB me gusta más bien poco.

    Si bien el concepto es bueno de partida, la forma en que lo implementaron acumula una cagada encima de otra.

    Fijaos que hablamos de millones de bits por segundo, pero luego en la práctica la mayoría de interfaces MIDI sobre USB dan problemas para enviar Sysex.

    O por ejemplo, el estándar para transmitir "keystrokes" de teclados de ordenador no acepta más de 8 pulsaciones a la vez por la forma en que encapsula los datos. No imagináis el infierno que es eso para desarrollar cosas relacionadas con videojuegos (especialmente adaptadores para sistemas antiguos y cosas similares). Por no hablar de la latencia.
  • #6 por franelco el 14/07/2016
    #4 Vaya, se me pasó... ¿En serio eso estaba ahí ayer?

    Las vacaciones me tienen despistao, jajaja
  • #7 por Czarnian el 18/07/2016
    Yo tengo repartidos mis sintes entre un interfacr midi/usb y un hub usb. La verdad q estoy teniendo bastantes problemas con tanto sinte conectado al hub, dispositivos q no reconoce, otros q si reconoce pero no envia ni recibe nada, en fin que no se que tipo de hub usa la peña pero yo no encuentro solucion. Todo esto en live 9 bajo OSX10. Soy el unico que tiene estos problemas?