07 Midi-2022
07 Midi-2022
07 Midi-2022
Qué es el MIDI
MIDI es el acrónimo de Musical Instrument Digital Interface (Interfaz Digital para
Instrumentos Musicales). Es un estándar técnico que describe un protocolo de
comunicación la interfaz digital y sus conexiones para permitir que una gran variedad de
instrumentos electrónicos, computadoras y otros dispositivos relacionados a la música o al
audio se conecten y se comuniquen entre sí.
La especi cación MIDI tomó forma en el año 1982 y se basó en la idea de Red Local de
computadoras. Hasta entonces se utilizaba un método no estandarizado llamado gate/
Control Voltage para interconectar instrumentos electrónicos. Este era un método primitivo
que no permitía la transferencia de datos muy complejos de un dispositivo a otro. Desde
su aparición, el MIDI ha impactado considerablemente el desarrollo de la música
electrónica que hasta hoy en día depende directamente del sistema MIDI para su
producción. La estandarización del MIDI permitió la interconexión de instrumentos en
estudios hogareños rápidamente ya que no requiere de mayores conocimientos técnicos
para comenzar a utilizarla (como sí lo hacían otros sistemas anteriores y más
complicados) y la gran mayoría de los instrumentos musicales electrónicos, computadoras
y otros dispositivos comenzaron a implementarlo incluyendo puertos MIDI listos para ser
utilizados. Los teclados y módulos de sintetizadores, samplers y workstations comenzaron
a utilizar MIDI como su implementación base. Los videojuegos utilizaron MIDI durante los
80s y 90s y hoy en día algunos siguen utilizándolo internamente. En los 2000s se aplicó
su implementación en celulares para lograr una mayor cantidad de canales y de timbres
antes de poder implementar audio PCM o comprimido. No solo se utiliza para aplicaciones
sonoras, muchos sistemas de iluminación para teatro utilizan MIDI.
Mensajes MIDI
La comunicación MIDI se compone de mensajes
que especi can notas, velocity (el volumen o fuerza
de cada nota), señales de control para cambiar
parámetros como amplitud, paneo, vibrato, ltros,
etcétera, cambios de programa o patch en los
instrumentos y la sincronización de tempo entre los
dispositivos.
Existen dos grandes categorías de mensajes: Los
mensajes de canal y los mensajes de sistema.
fi
fi
fi
Mensajes de canal
Consideremos la más simple de las formas de conexión MIDI, un dispositivo maestro que
a través de su puerto de salida envía mensajes a un dispositivo esclavo en su puerto de
entrada. Cuando se realiza una acción en el dispositivo maestro, como tocar una nota,
mover un potenciómetro, la rueda de modulación o presionar un botón para cambiar de
programa, dicho dispositivo envía el mensaje correspondiente por su salida MIDI. Cada
mensaje MIDI contiene un número de canal asociado y el dispositivo esclavo debe estar
con gurado para escuchar los mensajes que contengan dicho número de canal. Por
defecto los dispositivos escuchan los mensajes de todos los canales a menos que
indiquemos lo contrario. Más adelante en la unidad veremos este tema en profundidad.
Por ahora vamos a asumir que el dispositivo esclavo está recibiendo correctamente los
mensajes que el dispositivo maestro envía.
Hay siete tipos de mensajes de canal que se pueden enviar: Note-On, Note-Off,
Polyphonic Key Pressure, Channel Pressure, Program Change, Pitch Bend Change y
Control Change.
Mensajes Note-On
Los mensajes Note-On se utilizan para indicar el comienzo de una nota MIDI. Se genera
cada vez que se ejecuta una nota en el dispositivo, es decir al tocar una tecla en un
controlador MIDI o golpear un pad en una batería electrónica, por ejemplo. Un mensaje
Note-On consiste de tres bytes de información:
• Velocity (0-127)
El primer byte del mensaje especi ca que se trata de un evento de Note-On e indica el
canal asignado. El segundo byte especi ca cual de las posibles 128 notas (numeradas de
0 a 127) debe ejecutarse en el dispositivo esclavo. Por lo general a la nota MIDI número
60 se le asigna el Do central, mientras las notas de 21 a 108 corresponden a las 88 teclas
de un controlador extendido. El tercer y último byte se utiliza para indicar la velocity de la
nota, es decir, la velocidad a la que fue presionada la tecla.
Para evitar confusión aclaremos que los controladores MIDI no miden la fuerza con la que
presionamos una tecla para asignar la velocity, sino que miden cuánto tiempo tarda en
bajar la tecla desde su estado de reposo hasta el tope. Es decir, miden la velocidad a la
que hacemos bajar las teclas, de ahí el nombre velocity para hacer referencia a este
parámetro. La fuerza que ejercemos al momento del ataque es proporcional a la velocidad
a la que bajamos la tecla.
Mensajes Note-Off
Los mensajes Note-Off se utilizan para ordenar que se detenga la reproducción de una
nota MIDI especí ca. Cada mensaje Note-On continuará la reproducción de la nota
asignada hasta que un mensaje de Note-Off con la misma nota asignada sea recibido. De
esta forma se puede pensar en una composición musical básica como una serie de
mensajes Note-On y Note-Off. Debemos señalar que un mensaje Note-Off no cortará el
sonido de la nota asignada, simplemente se indicará que deje de ser reproducida. Esto
signi ca que el dispositivo esclavo saltará al punto de relajación (release) de las
envolventes del sonido que esté reproduciendo.
Al igual que los mensajes Note-On, los mensajes Note-Off se componen de tres bytes de
información:
• Velocity (0-127)
En contraste con el valor de velocity en los mensajes Note-On, en este caso se indica la
velocidad a la que la tecla fue soltada. Un valor bajo signi ca que la tecla se soltó muy
lentamente, mientras que un valor alto indica que la tecla se soltó rápidamente. No todos
los instrumentos soportan la detección o respuesta a la velocity para los mensajes Note-
Off, pero los que son compatibles con esta función permiten variar, por ejemplo, el tiempo
de relajación de las envolventes.
Polyphonic key pressure (Presión de tecla en polifónico)
Los mensajes de presión, a veces llamados Aftertouch suelen ocurrir cuando, luego de
presionar una tecla, decidimos ejercer más presión sobre la misma. No todos los
dispositivos pueden responder a esta acción, pero los que lo hacen pueden enviar
mensajes MIDI de presión o Aftertouch.
Los mensajes de presión se pueden asignar al parámetro del sonido deseado como
vibrato, nivel (volumen), timbre, pitch o corte de un ltro.
Un mensaje de presión de tecla en polifónico consiste de tres bytes de información:
• El rango de valores par un control de paneo caerá entre 0 (izquierda total), 127
(derecha total) correspondiendo 64 a la posición central.
En algunos casos una precisión de 128 pasos puede no ser su ciente, para mitigar este
problema la especi cación midi permite aumentar la resolución de algunos de los
parámetros utilizando un CC extra como control “ no” multiplicando la precisión por 128,
lo que nos entrega una precisión de 16.384 pasos. Esto funciona concatenando ambos
controles para que el control no nos agregue 128 pasos dentro de cada unidad del
control original.
fi
fi
fi
fi
fi
fi
fi
fi
Números de identi cación de CC
Cada CC está asignado a una función determinada según la especi cación MIDI. Puede
que algunos instrumentos no soporten algunas de estas asignaciones, pero por lo general
si enviamos un cambio en un control determinado, el parámetro especi cado será
alterado en el instrumento. De la misma manera estos controles suelen estar asignados
por defecto en los controladores MIDI. Por ejemplo, si conectamos un controlador MIDI a
un instrumento VST en la PC que posee como modulación un vibrato, al mover la rueda
de modulación en controlador se enviarán los mensajes control change con número de ID
1 y los valores correspondientes. El instrumento recibirá los mensajes y modi cará el
vibrato ya que el CC 1 está asignado a la rueda de modulación por defecto.
Existe un rango de IDs de control change que no vienen asignados a ningún parámetro
por defecto, éstos son los CC que van de 14 a 31. Los instrumentos MIDI, los DAWs y los
plugins por lo general nos permiten asignar controles a cualquier parámetro deseado que
no venga asignado por defecto. Asimismo los controladores MIDI suelen traer una
cantidad de botones, faders y potenciómetros asignados a este rango de IDs de control
change para que podamos asignarlos a cualquier parámetro deseado.
Los CC que van desde 32 hasta 63 se utilizan en conjunto con los primeros 32 como
controles nos para multiplicar por 128 la precisión de los controles en caso de que haga
falta y en caso de que los instrumentos MIDI en cuestión lo soporten. Los CC de 64 a 69
son switches, solo poseen dos posibles seteos.
Los últimos, de 120 hasta 127, son CCs reservados para los modos de canal. Todos estos
mensajes (excepto el CC 122 que funciona como switch) funcionan tan solo al ser
enviados y no necesitan que se les asigne un valor.
• Bank select (Selección de banco): CC 0 y 32. Hoy en día los instrumentos suelen
tener más de 128 presets o programas. Como los mensajes Program Change (que
ya hemos visto) solo permite cambiar entre 128 con guraciones, el control de
selección de banco puede ser utilizado para cambiar entre varios grupos de 128
presets.
• MOD wheel (Rueda de modulación): CC 1 y 33. Como hemos visto antes la rueda
de modulación envía sus valores en un mensaje MIDI de control change de ID 1. Si
se requiere más precisión en este parámetro se puede utilizar el CC 34 como
control no. Aunque la mayoría de los controladores e instrumentos no hacen uso
de este CC extra y solo envían y reciben información para la rueda de modulación
por el CC 1.
• Hold pedal (Pedal de sustain): CC 66. Este control se utiliza para transmitir cuando
se presiona o se suelta el pedal de sustain. Los instrumentos MIDI que reciben un
fi
fi
fi
fi
fi
fi
fi
mensaje CC indicando que el pedal ha sido presionado mantendrán en espera
todos mensajes de Note-Off que se reciban a partir de ese momento. Las notas
que se toquen entonces continuarán sonando inde nidamente. Cuando se recibe el
mensaje CC indicando que el pedal de sustain ha sido soltado se ejecutarán todos
los Note- Off que se tenían en espera.
• Reset all controllers (Resetear todos los controladores): CC 121. Al recibir este
mensaje, un instrumento MIDI volverá a sus valores por defecto todos los CCs.
Esto puede ser útil para reinicializar el instrumento antes de comenzar a tocar una
canción o una secuencia y asegurarse de que todos los controles están en sus
valores por defecto si se que se habían modi cado controles con anterioridad.
• All notes off (Apagar todas las notas): CC 123. En raras ocasiones una nota MIDI
se puede quedar pegada. Esto puede suceder por una mala comunicación entre
los dispositivos, un mensaje de Note- Off corrupto o una desconexión, cuando el
dispositivo esclavo recibe un mensaje de Note-On pero luego no recibe el Note-Off
para la nota en cuestión. Como resultado el dispositivo continuará tocando dicha
nota inde nidamente. Si descubrimos cuál es la nota y volvemos a tocarla
enviaremos nuevos mensajes Note-On y Note-Off apagándola de una vez, pero
generalmente en esos momentos de pánico es muy difícil encontrar la nota que se
quedó pegada. Para estos casos existe un botón de pánico en algunos
dispositivos, controladores midi e incluso plugins. Al presionar el botón de pánico el
dispositivo envía mensajes de Note-Off para todas las notas mitigando el problema
instantáneamente. De la misma manera la mayoría de los DAWs envían mensajes
de Note-Off a todas las notas y a todos los canales de todos los dispositivos
cargados cuando hacemos clic en Stop en la barra de transporte, incluso si no se
está reproduciendo el proyecto.
• Omni mode on/off (Modo omni encendido/apagado): CC 124 y 125. Al enviar uno
de estos dos mensajes el dispositivo encenderá o apagará el modo omni. Cuando
un instrumento MIDI está en modo omni hace escucha de todos los canales MIDI,
es decir que hará caso a todos los mensajes que le lleguen cualquiera sea el canal
asignado. Con el modo omni apagado el instrumento solo escucha los mensajes
cuyo canal le corresponde.
Mensajes de sistema
Los mensajes de sistema son transmitidos globalmente a todos los dispositivos MIDI en la
cadena. Esto sucede porque los mensajes de sistema no llevan indicado un canal MIDI,
por eso cualquier instrumento en la cadena recibirá e implementará lo establecido en el
mensaje cualquiera sea su canal de escucha.
Para lograr esta exibilidad, los mensajes de sistema exclusivo (SysEx) incluyen un byte
con un código que indica el fabricante (Roland, Yamaha, etc.) y otro especí co del
modelo. A continuación el mensaje puede tener cualquier longitud, por lo que para indicar
fi
fi
fi
fl
fi
fi
fi
fi
el n del mensaje se incluye el byte de n de mensaje exclusivo o EOX (End Of
Exclusive). El mensaje en sí puede ser un tren de bits del largo deseado y con cualquier
información, por lo tanto se pueden transmitir desde órdenes especí cas a un dispositivo
(que no existen entre los mensajes estándar de la especi cación MIDI) hasta programas
completos o con guraciones del dispositivo.
Como los mensajes de sistema exclusivos solo son compatibles con los sistemas para los
que fueron creados, los dispositivos leen los bytes que indican la marca y modelo del
instrumento al que va destinado el mensaje, si no se corresponden con sus propios
registros hacen caso omiso de todo el mensaje hasta que llegue el byte de n de mensaje
exclusivo.
General MIDI
Uno de los problemas que enfrenta el protocolo MIDI es la compatibilidad entre
dispositivos al ser estos tan
Para mitigar este problema se creó el estándar General MIDI (GM) que asigna un número
de programa a cada instrumento. Cada dispositivo MIDI puede tener su propio set de
instrumentos, es decir el Grand Piano de un teclado Roland no sonará igual al de un Korg,
pero este estándar garantiza que al menos se trate de un piano.
Los instrumentos MIDI generalmente poseen dos grandes bancos de sonidos, uno es
personalizable y el otro posee los programas General MIDI, cuando se reproduce una
secuencia MIDI se utilizarán los sonidos de este último banco a menos que se con gure lo
contrario.
Las placas de sonido, los celulares y los drivers con bancos MIDI virtuales, por ejemplo,
utilizan este estándar para reproducir archivos MIDI.
A continuación vemos la tabla con el número de nota asignado a cada instrumento del set
de percusión:
fi
Conectando dispositivos MIDI
El protocolo MIDI fue creado originalmente para
interconectar instrumentos MIDI físicamente
independientes. Esto se logró al comienzo y hasta
hace muy poco con cables MIDI. Estos cables
poseen dos conectores DIM de 5 pines. Los pines
4 y 5 transmiten datos MIDI, el pin 2 es una
conexión de tierra para evitar interferencias y los
pines 1 y 3 generalmente no se utilizan aunque
ciertos dispositivos pueden enviar Phantom Power
que permiten alimentar otros dispositivos (al igual
que en los preampli cadores para micrófonos de
condensador).
Cada dispositivo esclavo debe estar con gurado para escuchar un canal MIDI especí co.
Cuando enviamos un mensaje con un canal asignado, este mensaje llegará a todos los
instrumentos pero solo será ejecutado por el dispositivo que esté escuchando el canal
asignado.
Por supuesto que el dispositivo maestro puede enviar mensajes para todos los canales si
lo deseamos, así como también un dispositivo esclavo puede estar en modo omni para
escuchar los mensajes de todos los canales.
MIDI In (Entrada)
Este conector nos permite recibir mensajes de otro dispositivo y comunica todas las notas
ejecutadas y parámetros manipulados al procesador interno del dispositivo. Esto permite
al dispositivo ser controlado remotamente. Algunos dispositivos pueden tener más de un
puerto de entrada. En estos casos el instrumento puede con gurarse para escuchar
mensajes de determinado puerto, además de especi car el o los canales de cada puerto.
Esto permite tener más de 16 canales de entrada. Otros dispositivos pueden no tener
conectores de entrada, por ejemplo los controladores MIDI.
MIDI USB
Cuando utilizamos un cable USB para conectar un dispositivo MIDI a nuestra PC lo que
estamos haciendo es equivalente a conectar dos cables MIDI obteniendo envío y
recepción de mensajes desde y hacia ambos dispositivos.
El instrumento maestro además puede llevar una cadena de dispositivos MIDI conectada
a su puerto Thru. De esta forma podemos controlar otros dispositivos desde el maestro y
si grabamos en la computadora una secuencia esta también podrá ser reproducida por los
otros dispositivos a través de la cadena.
Cuando conectamos varios instrumentos MIDI por USB a una computadora conectamos
cada dispositivo a la entrada y la salida de puertos diferentes. Los DAWs nos permiten
elegir el puerto de salida, que gracias al sistema operativo no solo es un número sino que
posee el nombre del dispositivo.
fi
Otras tecnologías
Además de el protocolo MIDI existen otras tecnologías más modernas que sirven a la
intercomunicación entre dispositivos de audio.
OSC
OSC (Open Sound Control) es un protocolo de comunicación entre computadoras,
instrumentos y otros
Permite enviar mensajes de control desde y hacia plataformas como DAWs, aplicaciones
para celulares, páginas web y muchos sistemas de programación.
MIDI HD
Actualmente se encuentra en desarrollo una mejora para el protocolo MIDI. Esta nueva
versión llamada MIDI HD promete muchas mejoras y será compatible con los dispositivos
que utilizan el protocolo MIDI actual.
• Una inmensa cantidad de controles de alta precisión (ya no solo de 128 pasos)