You are on page 1of 7

INTRODUCCION AL PROTOCOLO MIDI

El siguiente es un resumen sobre MIDI basado principalmente en la Seccin 19 del libro Sound
Reinforcement Handbook (Gary Davis y Ralph Jones, Hall Leonard Pub.Corp., Milwaukee, 1987). Se han
omitido numerosos datos que no servan al propsito de este apunte y, a la vez, se han agregado otros
que provienen de diversas fuentes (se ofrece una bibliografa comentada al final). Se ha conservado la
denominacin en ingls de numerosos trminos, ya que su uso habitual as lo requiere.
1- GENERALIDADES SOBRE MIDI
MIDI, (Musical Instruments Digital Interface), fu desarrollado en 1983 por un consorcio de fabricantes
de sintetizadores -Yamaha, Roland, Kawaii y Sequential Circuits - , y es un mtodo para comunicar datos
de ejecucin musical a travs de instrumentos electrnicos.
Antes de la creacin del MIDI la mayora de los sintetizadores usaban el flujo de corriente elctrica para
controlar aspectos de la generacin de sonido -altura, volumen inicial de la nota, duracin, cambio de
amplitud y timbre en el tiempo, etc.- Cada fabricante usaba, sin embargo, diferentes standards elctricos.
MIDI fu la respuesta industrial a un mercado que demandaba compatibilidad de los instrumentos
electrnicos. Usando los extraordinarios avances de la dcada en tecnologa digital, los instrumentos
equipados con MIDI emplean microprocesadores para convertir acciones de ejecucin (qu tecla se
acciona, con que velocidad, qu pedales estn abajo, qu programa se usa, etc.) en un flujo de datos
codificados digitalmente. Los datos digitales se pasan de un instrumento a otro a travs de una interfaz
serial, requiriendo un slo cable para cada conexin. Por medio de este mtodo una multiplicidad de
instrumentos pueden compartir datos musicales.
Originalmente concebida como una herramienta para la ejecucin "en vivo", la interfaz MIDI prolifer con
sorprendente velocidad. Actualmente pueden encontrarse puertos de comunicacin MIDI no slo en
sintetizadores, sino tambin en consolas, controles de luz, procesadores de efectos y computadoras
personales.
El protocolo de formato y datos de la interfaz MIDI se especifican en un documento editado por la MMA
(MIDI Manufacturers Association) y la JMSC (Japan MIDI Standard Comittee), cuyo ttulo es MIDI 1. 0
Detailed Specification.
El hardware emplea conectores DIN de 5 pins dispuestos en 180 grados. Los cables de conexin deben
estar limitados a una longitud mxima de 15 metros, tal como se indica en la 1.0 Specification. Los datos
se transmiten en serie como un flujo de ceros (paso de corriente) y unos (ausencia de corriente) a una
velocidad de 31,25 Kbaud (31.250 bits por segundo). Los puertos de entrada se denominan MIDI IN y los
de salida MIDI OUT. Opcionalmente existe un conector adicional denominado MIDI THRU que enva una
copia de los datos ingresados por MIDI IN hacia otros instrumentos, permitiendo encadenarlos en serie.
En algunos instrumentos el MIDI THRU es omitido, de la misma manera que, por no generar usualmente
ningun dato MIDI, los procesadores de efectos carecen de MIDI OUT.
2 - ESTRUCTURA DE LOS DATOS MIDI
En un intercambio tpico de datos MIDI un instrumento transmisor presenta en su puerto MIDI OUT
un comando o mensaje que especifica una accin a ejecutarse ("tocar un do central mf, por ejemplo)
y el instrumento que lo recibe ejecuta el comando, si est dentro de sus posibilidades (en caso
contrario, lo ignora). Cada mensaje MIDI est codificado en una cadena de datos digitales.
Los datos MIDI se organizan en bytes de 8 bits (o "palabras") precedidos de un start bit (siempre "0")
y seguidas de un stop bit (siempre "1"). Estos ltimos permiten al microprocesador del instrumento
receptor distinguir el final de un byte del comienzo del siguiente.

Los datos MIDI se organizan en bytes de 8 bits (o "palabras") precedidos de un start bit (siempre "0") y
seguidas de un stop bit (siempre "1"). Estos ltimos permiten al microprocesador del instrumento
receptor distinguir el final de un byte del comienzo del siguiente.
Los bytes de datos MIDI se combinan en mensajes, que consisten en un status byte seguido de uno o
varios data bytes. Los status byte definen el tipo de comando que se transmite (note on, pitch bend,
patch change, etc.) y su primer bit es siempre un "1". Los data bytes indican informacin especfica
respecto del comando del status byte (key velocity, valor del pitch bend, nmero de patch, etc.) y su
primer bit es siempre un "0".
Los mensajes MIDI se clasifican en dos grupos: channel messages y system messages.
2.1 - Channel messages
Para posibilitar un control independiente de varias unidades en un sistema los datos MIDI se pueden
asociar a 16 canales. Un instrumento puede ser preparado para recibir datos en un canal (o canales)
especfico y/o ignorar datos en otros canales. El canal MIDI por el que un instrumento recibe las
instrucciones principales se denomina su basic channel.
Como el nombre lo indica, los channel messages contienen informacin que se destina para un canal
de recepcin especfico. Hay dos tipos de channel messages: Voice channel message y Mode
channel message.
Voice channel message : estos constituyen la mayor parte de la informacin MIDI. La mayora de los
casos controlan la circuitera interna de generacin de sonido, definiendo cundo y cmo ha de tocarse
una nota. Pueden usarse para otros propsitos tambin: los mensajes de Note On pueden disparar
sonidos de percusin en mquinas de ritmo, controlar luces en un escenario o faders en una consola de
mezcla.
Mode channel message : definen la respuesta de los instrumentos a los mensajes anteriores y deben
ser enviados a travs del basic channel del instrumento que los recibir. Existen cuatro modos:
1)Tambin llamado Omni on / Poly (responde a todos los canales y ejecuta polifnicamente); 2)Llamado
Omni on / Mono (responde a todos los canales y ejecuta mondicamente); 3)Llamado Omni off / Poly
(responde slo a su canal asignado y ejecuta polifnicamente) y 4)Llamado Omni off / Mono (responde
slo a su canal asignado y ejecuta mondicamente).
2.1 - System messages
En vez de ser codificados por canal, los system messages se dirigen o bien a todos los instrumentos de
un sistema, o bien a algn sintetizador de una marca especfica. Estos mensajes son de tres tipos:
System Common, System Real Time y System Exclusive.
System Common : se dirigen a todos los instrumentos de un sistema, sin importar el canal MIDI.
Generalmente usados con secuenciadores y mquinas de ritmo, estos mensajes llevan informacin tal
como: la cancin a ejecutar, en qu punto debe comenzarse y datos de MIDI time code.
System Real Time : llevan referencia temporal a equipos MIDI (una mquina de ritmo, por ejemplo) que
utiliza un reloj de sincronizacin. Por ejemplo, el Timming Clock message provee un pulso de reloj a
una frecuencia de 24 pulsos por negra. Otros mensajes son comandos Start, Stop y Continue para
playback de secuenciadores.
System Exclusive : tienen formatos especiales para cada marca y modelo de equipo MIDI y se usan

para transmitir datos (como valores de parmetros en un patch, memoria de sampleo o datos de archivo
de un secuenciador) slo aplicables a un instrumento en particular. Estos mensajes usan en su Status
Byte un nmero que identifica al fabricante. Cada compaa programa a sus instrumentos para
reconocer slo sus nmeros de identificacin.
3 - CONTROL DE INSTRUMENTOS MUSICALES
MIDI fu originalmente desarrollado para la ejecucin en vivo. Una de sus principales ventajas es que
varios generadores de sonido pueden ser ejecutados por un slo teclado. El teclado controlador se
denomina master y las unidades controladas, slaves.
Una configuracin tpica se muestra en la figura. El MIDI OUT del master se conecta con el MIDI IN del
primer slave y el MIDI THRU de ste ltimo se conecta al IN del segundo slave. De esta manera los
datos de ejecucin del master pasan al slave 1 y son retransmitidos al slave 2. Controlando los canales
MIDI y otras disposiciones de los instrumentos puede lograrse una gran variedad de combinaciones de
"solos" y "duplicaciones". Los slaves pueden no tener teclado y, en este caso se denominan mdulos.
Otras configuraciones ms complejas son posibles combinando ms instrumentos, o por medio de
procesadores de datos MIDI y/o Computadoras Personales.

3.1 - Controladores
Para imitar la variedad de matices sonoros de los instrumentos tradicionales, los instrumentos digitales
proveen mecanismos de control que se pueden asignar a variaciones de parmetros programados en sus
patchs y controlar por MIDI. La MIDI 1.0 Specification provee un protocolo aplicable a los controladores.
Los datos para los controladores se transmiten como Channel Voice Control Change messages y se
integran de dos data bytes (nmero del controlador y valor del controlador) precedidos por un status
byte. El nmero de controlador vara de 0 a 127 y ha sido asignado por acuerdo en la MIDI 1.0
Specification. Algunos de los controladores son: Modulation wheel(1), Breath controler((2), Foot
controler(4), Damper pedal(64), etc.
4 - CONTROL MIDI POR COMPUTADORA
Con el desarrollo de las Computadoras Personales (PC) se disearon tambin interfaces MIDI que
posibilitaron su comunicacin con equipo MIDI de produccin y procesamiento de sonido. Paralelamente
se desarroll software aplicable a varias funciones de procesamiento de datos MIDI. La ventaja del uso
de las PC reside en su mayor versatilidad para el manejo de datos, la conexin con diversos programas
musicales (por ejemplo, grfica musical, o composicin asistida) y la capacidad de almacenamiento de
datos.
La comunicacin con la computadora se realiza por va de una interfaz MIDI, que debe instalarse en la

misma. El procedimiento de instalacin incluye la instalacin fsica (insercin de la placa MIDI en uno de
los slots de la computadora y seleccin, mediante la disposicin de los jumpers especiales, del puerto en
serie -COM- a utilizar) y el reconocimiento de la interfaz/puerto de comunicaciones por parte del software
a utilizar. En los dos casos es imprescindible referirse al manual tcnico correspondiente a la interfaz y a
los manuales del software.
Tpicamente
THRU o un
ECHO, que
software de
ECHO.

las interfaces MIDI para PC tienen dos conectores MIDI (IN/OUT), existen algunas con MIDI
doble MIDI OUT, etc. Puede lograrse un efecto de MIDI THRU por va del llamado MIDI
consiste en que los datos ingresados por IN son tambin retransmitidos por el OUT. El
instalacin de la interfaz y/o el software a utilizar generalmente permiten habilitar el MIDI

Opcionalmente, algunos modelos de interfaz poseen una salida de audio para un pulso de metrnomo y
dos conectores para enviar y recibir seales de sincronizacin (sync in / sync out).
La figura siguiente muestra una configuracin tpica de conexin de equipo MIDI con una PC. Como se
observa, el master keyboard (teclado maestro, Kawai K4) est conectado MIDI IN/MIDI OUT con la
interfaz de la PC. A su vez, el MIDI THRU del K4 est conectado al MIDI IN del slave (mdulo Kawai K5).
De esta manera, los datos de ejecucin "en vivo" del teclado pueden enviarse a la PC y ser
retransmitidos por esta por su MIDI OUT (en virtud del MIDI ECHO, habilitado a tal efecto), volver a
ingresar en el K4 por su MIDI IN y salir a su vez por su MIDI THRU para ingresar por MIDI IN al K5 (el
puerto de MIDI THRU no transmite datos locales). A su vez, pueden enviarse datos MIDI directamente
desde la PC al K4 (MIDI OUT de la PC a MIDI IN del k4) y una copia de estos datos es retransmitida
desde el K4(MIDI THRU) al K5(MIDI IN).

4.1 - Software
El software desarrollado para MIDI se puede clasificar en dos grupos: 1)Secuenciadores, 2)Librarians y/o
Editores. Existe adems software de aplicacin musical que no trabaja necesariamente con datos MIDI,
pero pueden convertirse en datos MIDI para su posterior transmisin, ejecucin y/o procesamiento, tal es
el caso de los programas de grfica musical. Algunos programas renen todas las funciones enumeradas
(secuenciacin, edicin y grfica musical).
Finalmente debe mencionarse el caso de los programas de Composicin Algortmica y los Entornos de
Improvisacin.
Se mencionarn algunas caractersticas generales de los tipos de software enumerados.
Secuenciadores: permiten el ingreso, edicin, envo y almacenamiento en disco de datos MIDI de

ejecucin (ejecucin de notas con sus valores de duracin, key velocity, movimientos y valores de
controladores, etc.). Estos datos son codificados como eventos MIDI constituyendo secuencias que
pueden ser editadas, almacenadas en disco y retransmitidas a hardware MIDI. Actualmente existen
secuenciadores muy poderosos con un alto grado de complejidad en sus funciones de recepcin, envo y
edicin de datos. Un estudio detallado de alguno de ellos escapa a los fines de este apunte y debe
referirse al manual correspondiente.
Es importante sealar algunas caractersticas de los archivos que producen los secuenciadores para ser
grabados en disco. En principio estos programas producen archivos con un formato que les es propio
(esto es, no pueden ser procesados por otros programas, a menos que un usuario muy experto domine
el formato propio). Existe, sin embargo, un formato standard de archivos MIDI denominado Midifile (se
describe en el Standard MIDI Files 1.0 specification). Algunos secuenciadores tienen la opcin de usar su
propio formato o bien usar el formato de un Midifile (tpicamente con la extensin ".mid"), de manera tal
que los archivos producidos con un programa pueden ser tomados por otro (por ejemplo, un programa de
grfica musical) y reprocesarse los datos de otra manera (convertir datos MIDI en una partitura musical,
siguiendo el ejemplo anterior). Tambin existen secuenciadores que proveen un formato de archivo
ASCII y subprogramas que lo convierten a su propio formato.
Librarians y/o Editores: permiten el ingreso, edicin, envo y almacenamiento en disco de datos MIDI
de sistema exclusivo. Se usan bsicamente para modificar, almacenar en memoria y enviar Patchs y
Multipatchs de sintetizadores y/o mdulos y/o Samplers. Los Librarians permiten guardar los datos en
archivos y retransmitirlos, pero no modificarlos; los editores, adems de esto, trabajan en tiempo real con
los datos de sistema exclusivo, permitiendo editar patchs y multipatchs. Las ventajas de estos ltimos
son, obviamente, la comodidad en la edicin usando el monitor de la PC (que permite visualizar todos los
datos al mismo tiempo), el uso del mouse, la utilizacin de grficos analgicos (por ejemplo, de las
envolventes), etc. Estos programas necesitan los datos de sistema exclusivo de cada marca de equipo
para poder funcionar, por lo que usan pequeos archivos llamados drivers para guardarlos y
consultarlos.
RESUMEN SOBRE MENSAJES MIDI
CHANNEL MESSAGES

CHANNEL MESSAGES
Voice
note off
note on
key aftertouch
control change
program change
channel after touch
pitch change
mode
local control
all note off
omni off
omni on
mono on (poly off)
poly on (mono off)
SYSTEM MESSAGES
common
midi time code
song posicion pointer
song selector
tunning request
end exclusive
realtime
clock
start
continue
stop

wait
system reset
exclusive

You might also like