10.4 La interfaz MIDI
§1 Historia
MIDI ("Musical Instrument Digital Interface") es un protocolo de conexión desarrollado por la MMA,("Midi Manufacturer Association") a principio de los años 80, como un estándar que permitiera interconectar equipos musicales electrónicos, de forma que pudiesen controlarse mutuamente y compartir información musical. La primera demostración pública se realizó en la feria Americana de Fabricantes Musicales de 1983 en Los Ángeles. La primera especificación fue publicada en 1984.
El estándar comprende tanto el protocolo de comunicaciones (capa de enlace) como el cable necesario (capa física). Si establecemos una analogía con el mundo de la informática digital, podríamos decir MIDI es a los instrumentos musicales lo que el estándar RS232 a las comunicaciones serie entre ordenadores.
§2 Descripción
MIDI no es un dispositivo, un fichero o un software. MIDI es una forma de hacer ciertas cosas (un estándar). En un conjunto de dispositivos musicales interconectados bajo el estándar MIDI, un conjunto predefinido de eventos, ocurridos en un instrumento denominado controlador maestro, son traducidos en mensajes digitales que indican al receptor cuando debe producir una nota; cuando debe dejar de hacerlo, y otros comandos accesorios. Existen dos tipos de controladores maestros: los instrumentos y los secuenciadores. Los primeros son dispositivos electrónicos que pueden "Tocarse" como un instrumento (generalmente un teclado) y producen una secuencia de mensajes MIDI correspondientes a las notas. Los secuenciadores son dispositivos que pueden almacenar secuencias de comandos MIDI y reproducirlas posteriormente. Es decir, enviarlas a otros dispositivos MIDI que los transformarán en sonido.
Los mensajes MIDl utilizan un formato binario muy compacto, e indican al receptor cuando debe sonar una nota, por cuanto tiempo, con que volumen, y cuando y como debe terminar. Los eventos ocurridos en el controlador maestro pueden ser destinados a 16 canales lógicos independientes numerados de 0 a 15, aunque algunos dispositivos MIDI proporcionan un número distinto (mayor o menor). Para conseguir esto, algunos mensajes llevan como parte de su información indicación del canal al que va destinado el mensaje (a este fin se destinan 4 bits).
El flujo de datos MIDl es bidireccional y asíncrono, y se transmite a través de enlaces serie a 31.25 Kbps, en paquetes de 10 bits (1 bit de inicio, 8 bits de datos y 1 bit de parada). Por ejemplo, cuando se toca el teclado de un instrumento MIDI, la conexión MIDl informa instantáneamente al sintetizador sobre la información del sonido deseado (nota, timbre, duración y volumen). Para dar soporte a esta comunicación bidireccional, el estándar MIDI utiliza tres conectores: MIDI In (entrada), MIDI Out (salida) y MIDI Thru, que puede ser utilizado para encadenar dispositivos.
La información MIDI puede ser específica para un hardware determinado; puede ordenar a un sintetizador que cambie el sonido o controlar su volumen; para señalar la métrica de una composición o sus puntos de inicio y parada; también para editar y almacenar información para un sintetizador en el ordenador. En realidad existen dos tipos de mensajes MIDI: , denominados mensajes de sistema y de canal. Los primeros son genéricos y se destinan a todos los instrumentos del conjunto. Los de canal son específicos y como se ha indicado, utilizan cuatro bits para indicar el canal de destino.
§2.1 Mensajes
La unidad de información es un byte, aunque agrupando varios bytes puede transmitirse información más compleja; cada mensaje MIDI está compuesto de una secuencia específica de bytes. El primero es el byte de estado, que en su caso, contiene de forma codificada el canal al que va destinado y le indica la función a realizar. Cada dispositivo puede aceptar o ignorar esta información en base al canal al que se adscriba el dispositivo. El byte de estado es el único que contiene información sobre el canal, mientras no se indique otra cosa, se supone que los bytes siguientes se dirigen al mismo canal.
Algunas de las funciones específicas indicadas por el byte de estado son: Note On, Note Off, System Exclusive (SysEx), Patch Change, Etc. Al byte de estado pueden seguirle un cierto número de parámetros. Por ejemplo, Note On que informa a un dispositivo que debe comenzar una nota, requiere de dos bytes adicionales, el byte de tono (pitch byte) que define la nota, y el de velocidad, que indica el volumen. Por su parte, el comando Note Off finaliza una nota, y también requiere de dos bytes adicionales con las mismas funciones que el comando Note On [1].
El comando Patch Change requiere solo un byte adicional, que señala el número de programa en el sintetizador. Este número es distinto para cada sintetizador y ha sido normalizado por la IMA ("International MIDI Association").
El comando SysEx (mensaje exclusivo de sistema) requiere un mínimo de tres bytes adicionales; el primero es de temporización (timing byte), el segundo es de datos (function byte); generalmente el tercero es el indicativo de fin de transmisión (EOX byte).
§2.2 Puertos
Los dispositivos MIDI tienen tres puertos de comunicación: IN, OUT y THRU, cuyo funcionamiento es el siguiente:
- La tecla pulsada en un dispositivo suena en ese dispositivo, y se envía por el puerto OUT. La señal enviada por este puerto es siempre resultado de la actividad del sintetizador, como puede ser la pulsación de una tecla.
- La señal recibida en el puerto IN es reenviada sin cambios y con un retraso muy pequeño por el puerto THRU.
- La señal recibida por el puerto IN es procesada por el sintetizador, donde puede generar un sonido.
Los dispositivos MIDI se conectan formando cadenas unidireccionales cuyo eslabón más simple es un enlace donde el puerto MIDI OUT de un dispositivo está conectado con el MIDI IN de otro (figura 1). En este caso, la pulsación de una tecla en el primero puede originar un sonido en el segundo.
Este enlace sencillo puede transformarse en un bucle uniendo la salida del segundo con la entrada del primero (figura 2), en cuyo caso, la pulsación de una tecla en el primero puede originar que suenen ambos dispositivos si están asignados al mismo canal. Observe que la señal enviada al primero no es un duplicado de la que este envía al segundo; no se trata de un caso de realimentación, sino de dos enlaces de una dirección.
También pueden configurarse cadenas más elaboradas, en las que se enlazan varios dispositivos; en este caso el OUT del primero es conectado con el IN del segundo, el THRU del segundo con el IN del tercero, etc. De esta forma, si todos los dispositivos están asignados al mismo canal, la pulsación de una tecla en el primero hace sonar a todos, en cambio la pulsación de una tecla en los demás solo hace sonar a la unidad pulsada.
Pueden realizarse cadenas muy complejas cuando se utilizan los tres puertos. Por ejemplo, supongamos cuatro sintetizadores A, B, C y D. Según muestra la figura 3; el OUT de A se conecta con IN de B y con IN de C a través del THRU de B. El OUT de B se conecta con el IN de D, cuyo THRU se conecta a su vez con el IN de A.
Una tecla pulsada en B suena en B, D y A, mientras que una pulsada en D solo suena en D. C no suena cuando se pulsa B porque no hay conexión directa entre ambas. La nota pulsada en B, que es enviada a D y desde aquí a A, no es reenviada a C porque el THRU de A no está conectado a C de ningún modo.
§2.3 Conexión física
Los dispositivos MIDI utilizan un cable especial de cinco conductores apantallado y aterrizado en el que se utilizan solo tres, transmisión, recepción y tierra común, que garantiza una transmisión lo más fiel posible, ya que la calidad de transmisión es vital en estos dispositivos. El conector estándar es del tipo DIN, redondo como el de teclado del PC tradicional, aunque recientemente han aparecido dispositivos MIDI con conectores USB.
Aunque la longitud total de una cadena MIDI es ilimitada, la IMA establece que ninguno de los enlaces debe tener más de 50 pies (15 metros), si bien la longitud óptima es de unos 20 pies (6 m) y los productos comerciales se fabrican en el rango de 5 y 10 pies (1.5 y 3 m).
§2.4 Canales y voces
Cada mensaje MIDI puede estar dirigido a un canal, de los que pueden existir 16. Por ejemplo, cada canal puede estar asignado a un instrumento, lo que significa que solo pueden sonar 16 instrumentos al mismo tiempo. Esto no impide que un instrumento que solo suena en un trozo de la partitura, sea ocultado ("Steal"), y el canal asignado a otro instrumento que no suena simultáneamente con el primero.
Cuando un dispositivo MIDI puede generar simultáneamente distintas notas se dice que es polifónico. Por ejemplo, si un sintetizador puede generar solo cuatro notas y se conecta a un teclado en el que se pulsan simultáneamente cinco teclas, será incapaz de generar todas las notas a la vez (el acorde exacto). La capacidad polifónica de los sintetizadores actuales puede ser de 8, 16 y 32 notas. Aunque los hay de 256 o más.
Cuando un dispositivo MIDI puede generar al mismo tiempo el sonido de varios instrumentos se dice que es multitimbral; esta capacidad suele estar limitada a un máximo de 16 instrumentos para ajustarse a los canales MIDI. El efecto es como si se tuviesen varios sintetizadores en un solo dispositivo . Cada timbre suele asignarse a un canal. Por ejemplo, el piano al canal 1; una percusión al canal 2; un solo instrumental al canal 3, Etc. Este tipo de dispositivos suele emplearse con programas secuenciadores que manejen varias pistas. Cada uno de estos programas (tracks), corresponde a un timbre (instrumento) y se asigna a un canal.
Nota: Observe que esta capacidad supone reproducir las notas con distintos timbres. Es decir, con la envolvente y componente armónica característica de cada instrumento tradicional ( 10.1).
§3 MIDI y los ordenadores
En la misma época del lanzamiento público del estándar MIDI, se producía el desarrollo de la informática personal, iniciada con la difusión del IBM PC, y pronto se hizo evidente que el sonido del PC podía ser extendido más allá de las posibilidades del altavoz del sistema, cuya misión inicial no iba más allá de indicar algunas circunstancias excepcionales mediante pitidos. En este sentido MIDI era buen candidato para ser aplicado como interfaz entre ordenadores e instrumentos musicales.
El gigante musical Roland fue el primero en desarrollar una unidad MIDI para PC; la MPU-401, diseñada para permitir comunicación entre el PC y dispositivos MIDI. Desde entonces esta interfaz se ha convertido en el estándar de facto para que juegos y aplicaciones multimedia, generen música y sonidos a través de una tarjeta dotada de un sintetizador de audio. Actualmente, casi todas las tarjetas de sonido instaladas en equipos PC cuentan con sintetizadores MIDI para convertir los bytes en música. A lo largo de los últimos años, los sintetizadores digitales equipados con MIDI han recibido una enorme aceptación entre los músicos de todo el mundo.
§4 Ventajas e inconvenientes
En contra de lo que ocurre en los sistemas de audio digital que hemos denominado "Del magnetófono", como los ficheros WAV, el archivo MIDI no contiene los sonidos muestreados, sino las instrucciones que necesita el sintetizador para reproducir el sonido; esta circunstancia permite que los ficheros MIDI sean relativamente pequeños. En el caso de ordenadores, este menor tamaño también significa que se utiliza menos ancho de banda para enviar datos al periférico reproductor del sonido. Sin embargo, los recursos de hardware y software para grabación y reproducción del sistema MIDI son mucho más elevados. Con todo, el principal problema del estándar MIDI es su incapacidad para generar sonidos de voz humana.
Nota: En Internet, donde es crucial el tamaño de los archivos, la capacidad MIDI de gestionar gran cantidad de información musical mediante ficheros pequeños, la convierte en opción para añadir audio a sitios Web. Así mismo, la posibilidad de ser reproducidos y enviados sin demasiados requisitos, los hace atractivos para aplicaciones multimedia, presentaciones y juegos.
Otras ventajas de adoptar MIDl para generar sonidos, es la posibilidad de editar fácilmente la música, así como de poder cambiar su tono y velocidad de reproducción. Este último punto resulta decisivo para aplicaciones como karaokes, en los que el tempo y la clave musical pueden ser elegidos por el usuario.
Al tiempo que se popularizaba, aparecieron algunos problemas cuando se intentaba reproducir secuencias MIDI en instrumentos distintos a los usados en la grabación. El problema residía en que la especificación original no indicaba qué sonidos debían incluirse en cada instrumento. De modo que, cuando se reproducía una secuencia en un sintetizador distinto, sonaban instrumentos inapropiados.
Una especificación posterior, General Midi GM, define un conjunto de reglas mínimas que deben cumplir los sintetizadores (alrededor de 128 instrumentos), lo que asegura que la información MIDI grabada en un sintetizador podrá ser reproducida correctamente en otro.
§5 Dispositivos MIDI
§5.1 Sintetizador
La pieza central de cualquier dispositivo electrónico musical es el sintetizador, que en respuesta a una serie de órdenes es capaz de producir el sonido de cualquier instrumento, además de otros inaccesibles un instrumento musical tradicional, así como formas de ejecución que nunca serán alcanzadas por un instrumentista humano.
Los primeros sintetizadores recreaban los sonidos mediante la denominada síntesis FM (frecuencia modulada) que utilizaba algoritmos matemáticos. Sin embargo, los actuales utilizan la síntesis PCM o de tabla de ondas ("Wavetable"), que almacenan las características de onda del instrumento a reproducir mediante una tabla de parámetros almacenada en memoria.
La síntesis del método PCM es almacenar en una tabla una serie de parámetros característicos del sonido de un instrumento tocando una sola nota. Esta información, que ocupa una posición en la tabla de ondas, se denomina un parche. Posteriormente puede reproducirse cualquier nota mediante manipulaciones del "parche".
El número de notas que puede producir simultáneamente un sintetizador es limitado (canales y voces ). Por ejemplo, un sintetizador de 32 voces solo puede producir 32 notas simultáneamente. En caso de pulsarse la tecla 33 se ignoraría o quizás se cancelaría la primera para sonar la 33.
§5.2 Secuenciador
Otros dispositivos son los secuenciadores, que son elementos hardware capaces de reproducir secuencias de órdenes previamente grabadas. También reciben este nombre los paquetes software capaces de editar y grabar ficheros de órdenes MIDI en un ordenador.
Los programas secuenciadores permiten agrupar los eventos en pistas ("Tracks"), de las que generalmente pueden utilizarse más de cien. Por ejemplo, una ejecución de piano puede grabarse en dos pistas (piano izquierda y piano derecha) correspondientes a la ejecución de ambas manos; posteriormente ambas pistas pueden asignarse a un canal "de piano". El resultado sería que ambas manos sonarían exactamente al mismo tiempo.
Nota: El estándar MIDI define tres tipos de ficheros de órdenes: el Formato 0 almacena todas las órdenes en una sola pista. El Formato 1 almacena las órdenes en pistas separadas. Finalmente, el Formato 2 puede almacenar distintos patrones independientes (no suele utilizarse en aplicaciones musicales). El formato 0 es utilizado para reproducción, mientras que el formato 1 es preferido para edición porque es más fácil de manejar individualmente cada canal (generalmente cada pista es un instrumento).
§5.3 Editores y librerías
Son programas que permiten editar y componer órdenes para los sintetizadores de forma autónoma, generalmente de forma más amigable que la proporcionada de forma nativa por los sintetizadores
Estos módulos ofrecen capacidades de edición para dispositivos concretos, dado que cada sintetizador utiliza un formato interno de datos específico.
§6 Bibliografía
Son incontables los sitios de la Web que contienen información sobre el sistema MIDI; incluyendo las que contienen repositorios de melodias de todo tipo en este formato.
- MMA Midi Manufacturer Association www.midi.org
- MIDIWORLD http://www.midiworld.com
- Ultimate MIDI page http://www.ultimatemidi.com/midiinfo.html
- Harmony Central www.harmony-central.com
Gran cantidad de enlaces e información relativos al estándar MIDI y a la música digital en general, incluyendo software musical para todas las plataformas. Macintosh, Windows, Amiga, Unix, Etc.
http://www.harmony-central.com/MIDI/midiman.html Como siempre una buena fuente de información son los sitios de los fabricantes. El anterior es un enlace a la página de Harmony Central que contiene una extensa relación de fabricantes de Software y Hardware MIDI
-
NAMM (International Music Products Association) www.namm.com
-
IAEKM (International Association of Electronic Keyboard Manufacturers) www.iaekm.org
Este sitio contiene una gran selección de recursos relacionados con la enseñanza musical.
[1] Alguna gente se confunde al principio por esta forma particular de comenzar y finalizar una nota musical, sin embargo, si se considera detenidamente, resulta evidente la necesidad de esta disposición.