Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ernesto Romeo)
Las siglas MIDI (Musical Instruments Digital Interface / Interfaz Digital para
Instrumentos Musicales) refieren a un conjunto conformado por un protocolo
digital estandarizado de comunicación, interfaces y conectores apropiados y
diferentes softwares y hardwares dedicados o complementarios que permiten
que varios instrumentos y dispositivos musicales electrónicos y eléctricos y
equipos informáticos se interconecten e intercomuniquen entre sí trasmitiendo y
recibiendo datos y órdenes consideradas relevantes dentro de ciertas
perspectivas del arte sonoro y musical.
MIDI fue desarrollado a principios de los ´80s con el fin de estandarizar la
comunicación entre diferentes instrumentos de hardware musical que
empezaban a utilizar variadas formas de tecnologías digitales (particularmente
sintetizadores polifónicos, baterías electrónicas/cajas de ritmo, secuenciadores,
samplers, procesadores de audio, etc.) y también entre equipos genéricos como
las incipientes computadoras hogareñas y diferentes formas de ordenadores
personales y profesionales.
Los sintetizadores analógicos (que son el primer tipo de sintetizador que fue
comercializado -a partir de la segunda mitad de los ´60s- y que se masificó luego
-durante la primera mitad de los ´70s-) eran mayoritariamente monofónicos y
controlados a nivel “musical” mediante el voltaje producido por dispositivos como
teclados o secuenciadores (y, si las normas de control por voltaje -CV- y de
activación/disparo -gate o trigger- eran compatibles, permitía interconectar
equipos entre sí vía voltajes). Pero este sistema de control por voltaje se
complejizaba mucho en los casos de los sintetizadores polifónicos (que
comenzaron a desarrollarse en forma creciente desde la segunda mitad de los
70s) y de los equipos que empezaron a utilizar tecnologías digitales. Algunos
fabricantes crearon sistemas híbridos analógico/digitales que permitían que sus
propios equipos fueran interconectados (como el DCB -Digital Control Bus- de
Roland, el Oberheim System o las interfaces de Sequential Circuits), pero los
sistemas no eran compatibles universalmente, es decir que los sistemas de unos
fabricantes no eran compatibles con los de los otros y los sistemas de
sincronización entre equipos de diferentes marcas eran muy elementales. Ikaturo
Kakehashi (fundador de Roland) propuso a mediados de 1981 la idea de crear
un lenguaje instrumental estándar al resto de grandes fabricantes de la época
como Sequential Circuits, Yamaha, Oberheim, Korg, Moog, Kawai, etc. A partir
de ésa propuesta inicial los ingenieros y diseñadores de sintetizadores de
Sequential Circuits, Dave Smith (el fundador de Sequential) y Chet Wood,
concibieron la idea de una interfaz universal para sintetizadores que permitiera
una comunicación directa entre equipos de distintos fabricantes. Smith propuso
este estándar en noviembre de 1981 a la AES (Audio Engineering Society). El
estándar fue discutido y modificado por representantes de las diferentes
compañías y se la llamó primeramente USI (Universal Serial Interface) y luego
Musical Instrument Digital Interface. El desarrollo del MIDI fue presentado al
público por Robert Moog en octubre de 1982 en la revista estadounidense
Keyboard Magazine y en la exhibición NAMM de enero de 1983 Dave Smith
presentó la conexión MIDI entre el sintetizador analógico Sequential Circuits
Prophet 600 y el Roland Jupiter-6, conexión que consistía en la sencilla
posibilidad de que tocando las notas del teclado de uno de los dos sintetizadores
se controlase polifónicamente a los sonidos del otro sintetizador, además del de
sí mismo. El protocolo MIDI 1.0 fue publicado en agosto de 1983. El estándar
MIDI fue relevado por Ikutaro Kakehashi y Dave Smith, quienes recibieron el
Grammy técnico en 2013 por su papel en el desarrollo del MIDI. Durante los
años siguientes, representantes de todas las grandes compañías de hardware
colaboraron para crear, modificar y perfeccionar el MIDI.
Primera conexión MIDI (entre los sintetizadores Sequential Circuits Prophet 600 y Roland Jupiter 6), NAMM 1983.
Los mensajes MIDI están conformados por "palabras" de 8 bits (llamadas byte)
que son transmitidas de manera serial a 31.25 kbit/s. Esta relación de
velocidad fue escogida debido a que es una división exacta de 1 MHz, la
velocidad en la que varios de los microprocesadores de la época operan. El
primer bit de cada byte identifica si la palabra es un byte de estatus (status byte)
o un byte de datos (data byte), los siguientes siete bits del byte son la
información propiamente dicha del mensaje (que puede estar separada, en la
misma palabra, en varios “sub-paquetes”). Un bit “formal” de inicio y otro de
pausa son agregados a cada byte por cuestiones de sincronización, por lo tanto
un mensaje MIDI requiere de diez bits para transmitirse.
Una conexión MIDI puede llevar, en los mensajes denominados “de canal y de
voz” (propios del concepto de transmisión polifónica de notas y eventos
musicales), dieciséis canales independientes de información. Los canales son
numerados del 1 al 16 y corresponden al orden del código binario del 0 al 15. Un
dispositivo puede ser configurado para solo interpretar ordenes en canales
específicos e ignorar los mensajes enviados de otros (modo “Omni Off”) o puede
recibir e interpretar a todos los canales sin importar su número de transmisión
(“Omni On”). Un dispositivo puede ser monofónico (“Mono”, el inicio de una
nueva señal de “note-on” MIDI implica el final de la nota previa) o polifónico
(“Poly”, múltiples notas pueden sonar juntas -en un número dependiente del
límite de la polifonía del instrumento- y permanecerán activadas hasta que se
reciba un mensaje “note-off”). Los dispositivos que reciben los mensajes pueden
tener hasta cuatro combinaciones de los modos “Omni Off/On” y “Mono/Poly”.
Cuando se leen mensajes MIDI podemos encontrar (en manuales de usuario, en
cartas de implementación MIDI, en softwares, etc.) a los valores y mensajes
mismos representados en números binarios o decimales o hexadecimales.
Binario es base 2, decimal es base 10 y hex es base 16.
Los mensajes del canal y voz/modo contienen el número del canal en el que se
transmite la información y solo serán interpretados por dispositivos sintonizados
en ése canal de recepción o programados para recibir en modo Omni.
Éstos mensajes se pueden subdividir en mensajes de voz y de modo. Los
mensajes de voz incluyen Nota Tocada/Activada (Note On), Nota
Soltada/Desactivada (Note Off), Presión Post-pulsación Polifónica de teclas
(Poly Pressure/Poly Aftertouch), Cambio de Control (Control Change),
Cambio de Programa (Program Change), Presión Post-Pulsación General de
Canal (Channel Pressure/Channel Aftertouch - Mono Pressure/ Mono
Aftertouch) y posición d eRueda Tonal (Pitch Bend).
El modo indica cómo debe responder un dispositivo a los mensajes enviados en
un determinado canal (modos Omni, Poly, Mono).
9n 1001mmmm 2 Note On
System Messages
***Channel Mode messages are a special case of Control Change messages. The difference is in the first data byte.
Data byte values 0x79 through 0x7F have been reserved in the Control Change message for information about mode changes.
Los cables MIDI estándar terminan en un conector DIN 5 de 180º. MIDI emplea
solo tres de los cinco conductores: tierra y un par de cables balanceados que
llevan un señal de 5v. Esta configuración del conector es unidireccional (solo
puede llevar mensajes en una dirección) por lo que se necesita un cable para
cada dirección de comunicación. Sistemas optoacopladores mantienen los
dispositivos MIDI eléctricamente separados de otros conectores y el largo
máximo sugerido para evitar pérdidas de información y delays/latencias
excesivas es de 15 metros (50 pies).
A nivel físico, los conectores MIDI que pueden encontrarse en los dispositivos
son tres:
- Out (salida de datos de un equipo hacia el In de otro)
- In (entrada, con datos de otro dispositivo provenientes desde una salida Out o
Thru)
- Thru (“a través”, salida de lo que entra en un in de un equipo para que siga a
otro equipo sin alteraciones)
La mayoría de los dispositivos no copian los mensajes de la entrada a su puerto
de salida, por eso además del Out y el In está el tercer tipo de puerto, el puerto
Thru, que emite una copia de todo lo que es recibido en el puerto de entrada In,
permitiendo que los datos sean transmitidos a otro instrumento en una "Daisy
Chain" (conexión en cadena). Dado que no todos los equipos cuentan con un
puerto Thru y que hay dispositivos que no generan datos MIDI, como
procesadores o módulos reproductores de sonido, puede que no incluyan ningún
puerto de salida (ni Out ni Thru). Además, dado que cada dispositivo involucrado
en una “Daisy Chain” provoca un retraso en el sistema -a medida que la señal va
viajando serialmente entre equipos- es que existen las cajas MIDI Thru, la cual
contiene varias salidas que proporcionan una copia de una señal de entrada. Por
otro lado, un MIDI Merge (o mezclador MIDI) es capaz de combinar la salida de
múltiples dispositivos en una sola señal serial y permite que múltiples
controladores sean controlados a un solo dispositivo. Muchas interfaces y
patchbays MIDI combinan todas estas funciones, así como sistemas de
switcheados o filtrado de datos, utilizando múltiples entradas y salidas que
permiten cualquier combinación de canales de entrada para ser enviados a
cualquier salida, permitiendo a los dispositivos funcionar como routers MIDI.
La función principal de una interface MIDI para computadora es la interconexión
entre uno o varios dispositivos MIDI y las entradas del ordenador. Existen
conexiones a interfaces MIDI vía puertos seriales o a través de D-sub DA-15,
puerto joystick y de juegos, USB, firewire o ethernet. Incluso algunas interfaces
de audio para computadoras incluyen conectores MIDI estándar además de
entradas/salidas de audio. El creciente uso de conectores USB en los 2000's ha
llevado a una disponibilidad de interfaces MIDI a USB que puedan transferir
datos MIDI a computadoras con USB incluido. Algunos controladores MIDI están
equipados con conectores USB y sin puertos MIDI estándar y pueden ser
conectados en computadoras que empleen software musical.
Daisy chain MIDI y conexiones de audio:
Apéndices:
MIDI 1.0 Specification Message Summary
1100nnnn 0ppppppp Program Change. This message sent when the patch
number changes. (ppppppp) is the new program
number.
MIDI CC MIDI CC
MIDI CC Number
Purpose Description
MIDI CC
Bank Select Allows user to switch bank for patch selection.
0
MIDI CC Generally this CC controls a vibrato effect (pitch, loudness, brighness).
Modulation
1 on the patch.
MIDI CC
Breath Controller It was originally intended for use with a breath MIDI controller
2
MIDI CC
Undefined
3
MIDI CC
Foot Controller
4
MIDI CC Portamento
Controls portamento rate to slide between 2 notes
5 Time
MIDI CC
Data Entry Most Significant Bit(MSB) Controls Value for NRPN or RPN parameters.
6
MIDI CC
Volume Control the volume of the channel
7
MIDI CC Controls the left and right balance, generally for stereo patches.
Balance
8 0 = hard left, 64 = center, 127 = hard right
MIDI CC
Undefined
9
MIDI CC Controls the left and right balance, generally for mono patches.
Pan
10 0 = hard left, 64 = center, 127 = hard right
MIDI CC
Expression Expression is a percentage of volume (CC7).
11
MIDI CC
Effect Controller 1 Usually used to control a parameter of an effect
12
MIDI CC
Effect Controller 2 Usually used to control a parameter of an
13
MIDI CC
Undefined
14
MIDI CC
Undefined
15
MIDI CC
General Purpose
16 – 19
MIDI CC
Undefined
20 – 31
MIDI CC
Controller 0-31 Least Significant Bit (LSB)
32 – 63
MIDI CC Damper Pedal / On/Off switch that controls sustain. (See also Sostenuto CC 66)
64 Sustain Pedal 0 to 63 = Off, 64 to 127 = On
MIDI CC On/Off switch
Portamento On/Off Switch
65 0 to 63 = Off, 64 to 127 = On
On/Off switch
MIDI CC
Legato FootSwitch - Turns Legato effect between 2 subsequent notes On or Off.
68
0 to 63 = Off, 64 to 127 = On
MIDI CC Hold 2 Another way to “hold notes” (see MIDI CC 64 and MIDI CC 66).
69 However notes fade out according to their reléase
(rather than when the pedal is released)
MIDI CC
Sound Controller 1 Usually controls the way a sound is produced.
70
MIDI CC
Sound Controller 2 Allows shaping the Filter
71
MIDI CC
Sound Controller 3 Controls release time of the Amplifier
72
MIDI CC
Sound Controller 4 Controls the “Attack’ of a sound.
73
MIDI CC
Sound Controller 5 Controls VCFs cutoff frequency of the filter.
74
MIDI CC
Sound Controller 6 Generic
75
MIDI CC
Sound Controller 7 Generic
76
MIDI CC
Sound Controller 8 Generic.
77
MIDI CC
Sound Controller 9 Generic
78
MIDI CC
Sound Controller 10 Generic
79
Generic
MIDI CC General Purpose
On/Off switch
80 MIDI CC Controller
0 to 63 = Off, 64 to 127 = On
Generic
MIDI CC
General Purpose MIDI CC Controller On/Off switch
81
0 to 63 = Off, 64 to 127 = On
Generic
MIDI CC General Purpose
On/Off switch
82 MIDI CC Controller
0 to 63 = Off, 64 to 127 = On
Generic
MIDI CC
General Purpose MIDI CC Controller On/Off switch
83
0 to 63 = Off, 64 to 127 = On
MIDI CC
Portamento CC Control Controls the amount of Portamento.
84
MIDI CC
Undefined
85 – 90
MIDI CC
Effect 1 Depth Usually controls reverb send amount
91
MIDI CC
Effect 2 Depth Usually controls tremolo amount
92
MIDI CC
Effect 3 Depth Usually controls chorus amount
93
MIDI CC
Effect 4 Depth Usually controls detune amount
94
MIDI CC
Effect 5 Depth Usually controls phaser amount
95
MIDI CC
(+1) Data Increment Usually used to increment data for RPN and NRPN messages.
96
MIDI CC
(-1) Data Decrement Usually used to decrement data for RPN and NRPN messages.
97
MIDI CC
Non-Registered Parameter Number LSB (NRPN) For controllers 6, 38, 96, and 97, it selects the NRPN parameter.
98
MIDI CC
Non-Registered Parameter Number MSB (NRPN) For controllers 6, 38, 96, and 97, it selects the NRPN parameter.
99
MIDI CC
Registered Parameter Number LSB (RPN) For controllers 6, 38, 96, and 97, it selects the RPN parameter.
100
MIDI CC
Registered Parameter Number MSB (RPN) For controllers 6, 38, 96, and 97, it selects the RPN parameter.
101
MIDI CC
Undefined
102 – 119
MIDI CC
Reset All Controllers It will reset all controllers to their default.
121
MIDI CC
Local On/Off Switch Turns internal connection of a MIDI keyboard/workstation, etc.
122
MIDI CC
All Notes Off Mutes all sounding notes.
123
MIDI CC
Omni Mode Off Sets to “Omni Off” mode.
124
MIDI CC
Omni Mode On Sets to “Omni On” mode.
125
MIDI CC
Mono Mode Sets device mode to Monophonic.
126
MIDI CC
Poly Mode Sets device mode to Polyphonic.
127
https://www.midi.org
https://en.wikipedia.org/wiki/MIDI
https://web.archive.org/web/20191027040222/https://www.midi.org/specifications
https://web.archive.org/web/20150506105425/http://www.midi.org/techspecs/midi
messages.php
https://web.archive.org/web/20190817162548/https://www.midi.org/specifications-
old/item/the-midi-1-0-specification