|
1-¿Qué es el MIDI?
El MIDI nació como respuesta a la necesidad de control de
los músicos teclistas. Nadie podía imaginar el éxito
y alcance de ese protocolo; algo muy similar a lo que ocurrió
con una red militar llamada Arpanet y conocida hoy en día como
Internet. Hoy en día, seguimos utilizando el MIDI (mejorado
en algunos aspectos) que convive codo con codo con otra tecnología
estandarizada de forma masiva; la grabación de audio digital
a disco duro (pulsa en este enlace
si estás impaciente, sino sigue leyendo).
Para comprender qué es posible hacer con el MIDI, debemos
retroceder unos 15 años y situarnos a principios de los 80,
fecha en que la industria de los ordenadores comenzaba a experimentar
un crecimiento de potencia de proceso y ventas sin igual. Los sintetizadores
de aquella época comenzaban a incorporar circuitos electrónicos
que poco a poco fueron sustituyendo el corazón analógico
de los sintetizadores. El legendario modelo Prophet 5 era un sintetizador
analógico pero controlado por circuitos electrónicos
que almacenaban todos su parámetros y operatividad. Los modelos
posteriores, era totalmente digitales, es decir, eran inmensos bancos
de 0 y 1 procesados como sonidos.
Ahora retrocederemos bastantes años hasta llegar al 1984.
Roland acababa de lanzar la no menos conocida familia Juno. Este peculiar
sintetizador, el Juno 106 incorporaba un bus de comunicación
llamado DCB. Si eras usuario de dos Juno, podías conectarlos
entre si y controlar uno desde el otro. Eso resultaba fantástico
para el teclista de directo, pero sólo era posible controlar
teclados Roland serie Juno. No existía la COMPATIBILIDAD que
existe en un protocolo aprobado por toda la industria. Esta misma
industria, se sentó en una mesa y decidieron crear un estándar
que permitiera el control e intercambio de información entre
CUALQUIER dispositivo electrónico equipado con MIDI. Mediante
este invento, sería posible tocar el teclado de un sintetizador
y que sonara otro, controlar aspectos del sonido o registrar las notas
tocadas en memorias al igual que los antiguos secuenciadores analógicos
por pasos, pero con la ventaja de ser en soporte digital. Eso ofrecería
nuevos entornos de trabajo para el músico y de paso toda la
industria saldría beneficiada de ello; ventas que subieran
como la espuma.
Así nació el MIDI, de la mano de empresas como la desaparecida
Sequencial Circuits, Roland o Yamaha junto con otras 100 empresas
que forman el grupo MMA MIDI Manufacturers Association (MMA). La etapa
de madurez del MIDI se alcanzó con la incorporación
de "interfaces MIDI" a los ordenadores. Mediante éstos,
ya era posible la comunicación directa y en el mismo lenguaje
entre los sintetizadores y los ordenadores personales. Yamaha lanzó
una serie de ordenadores sistema MSX con puertos de conexión
MIDI junto con una serie de programas de secuenciación y aprendizaje
muy básicos.
El MIDI a día de hoy, se utiliza como tecnología de
composición. Un usuario ejecuta una interpretación y
el ordenador registra todas las notas para que el usuario, posteriormente,
pueda editar y cambiar su tono, fuerza de pulsación, etc. También
es utilizado como sistema de control. Por ejemplo, en un directo puedes
utilizar el MIDI para cambiar todos los aspectos necesarios y de esta
forma dedicarte sólo a lo que sabes; tocar el teclado. Esto
sería como si tuvieras una persona al lado cambiando el sonido,
subiendo su volumen, etc. de forma automática.
El MIDI adquiere una funcionalidad espectacular de la mando de los
ordenadores. El simple hecho de poder registrar toda tu interpretación
en la memoria del ordenador, implica que exista software de impresión
de partituras (como el popular Word pero escribiendo música),
programas didácticos (no sustituye al profesor pero lo complementa
de forma eficaz), secuenciadores (programas que registran la interpretación
y ofrecen herramientas para la edición de los datos registrados
- su nombre viene de la palabra "secuencia musical"), programas
de control de parámetros de los sintetizadores (¿para
qué utilizar las pequeñas pantallas de los sintetizadores
teniendo un monitor SVGA?") y todo una larga lista de pequeñas
utilidades que complementan a los primeros.
¿Hace falta saber música para componer mediante MIDI?.
La respuesta no es sencilla; no hace falta saber y escribir música,
es decir, saber solfa. Sí es necesario "sentir la música"
en tu interior. Un buen ejemplo es querer utilizar el ordenador para
dibujar siendo un pésimo dibujante. Lo más que conseguirías
serían gráficos abstractos.
2-¿Cómo funciona?
Físicamente, el MIDI es un conjunto de conexiones en formato
Din5 en la parte posterior de los sintetizadores. Normalmente está
compuesto de la conexiones MIDI IN (entrada MIDI), MIDI OUT (salida
MIDI) y MIDI THRU ("a través"), aunque esta última
no tiene porqué estar presente en los sintetizadores y samplers,
y nunca está presente en los interfaces de MIDI. Para trabajar
con MIDI no es necesario saber su funcionamiento técnico, aunque
hay una serie de premisas muy básicas que debes saber y recordar
como el abecedario particular de nuestra asignatura.
 |
El MIDI es unidireccional. Vamos a ilustrar esta afirmación
con un buen ejemplo. Cuando hablas por teléfono con otra persona,
se produce una comunicación bidireccional (a menos que sea
una persona algo inquisitoria que no te deje hablar). Tu le hablas,
él escucha, te contesta, se produce una conversación.
El teléfono consta de un micrófono por el que se envía
la voz y un auricular por el que se puede oír la voz del otro
interlocutor. Cuando le hablas al micrófono de tu teléfono,
tu compañero recibe tu voz por su auricular y si él
te habla con el micrófono de su teléfono, tu recibirás
su voz por el auricular de tu teléfono. Tanto la voz que se
emite como la que se recibe, viajan por un solo cable. El MIDI funciona
de una forma muy similar, los datos son enviados por una conexión
llamada MIDI OUT (que actuaría como micrófono de nuestro
teléfono llamado MIDI) y son recibidos por la conexión
MIDI IN (que actúa como auricular). La diferencia es que se
necesitan dos cables. Para ser totalmente bidireccional, el MIDI debería
utilizar el mismo cable tanto para la emisión como la recepción
de datos MIDI. Si deseamos enviar las notas interpretadas desde nuestro
teclado a otro sintetizador mediante el MIDI, deberemos conectar el
MIDI OUT del emisor con el MIDI IN del receptor. Así de sencillo.
Un solo cable puede gobernar hasta 16 canales MIDI: Volviendo al
ejemplo el teléfono, sería fantástico que 16
personas pudieran mantener una conversación si interferirse
entre sí, utilizando el mismo teléfono. Efectivamente,
el MIDI utiliza 16 canales MIDI, cada canal MIDI transporta información
de notas, sonidos utilizados y parámetros de estado de esos
sonidos como volumen, posición en el campo estéreo etc.
Imagina una autopista de 16 carriles. Esos 16 carriles van en un solo
sentido (del punto A al B) y junto a su lado existe otra autopista
con los 16 carriles en sentido inverso (del punto B al A).
El MIDI transmite información de la interpretación,
no el sonido en si mismo. Las notas tienen un número identificador
(del 0 al 127, 11 octavas en total), así como los parámetros
de sonido como son el volumen, posición en el campo estéreo
o el sonido seleccionado, etc... Es básico tener en cuenta
que el sonido depende siempre del receptor. Si interpretamos una sinfonía
con el teclado y se envían esas notas a otro teclado, éstas
sonarán con el sonido seleccionado en el teclado receptor.
Es por esta razón que si un usuario A que tiene un teclado
modelo "sonidos celestiales" interpreta su composición
tocando su teclado pero "disparando" los sonidos del teclado
del usuario B modelo "¿eso es un piano?", se preguntará
donde está ese hermoso instrumento solista.
El MIDI es un estándar: Es imposible que toques un DO3 y el
teclado receptor emita un RE3 (es posible si realmente lo quieres
así). De la misma forma, si alteras el volumen desde el teclado
emisor, no puede ocurrir que la posición del campo estéreo
se altere. Dicho de otra forma ¿qué pensarías
si entras en un local publico diciendo "Hola" y te contesten
"35"?
Cuando hablamos emitimos unos paquetes de letras llamados "palabras".
El MIDI emite unos paquetes de datos llamados "mensajes MIDI
o eventos MIDI". Deberás ir aprendiendo un lenguaje particular,
ya que muchos programas te hablarán mediante éste.
3-Conexiones MIDI
Cada cable MIDI transporta información de 16 canales MIDI.
Normalmente, un sintetizador puede responder a 16 canales MIDI de
forma simultánea, esto significa que es posible tener una orquestra
de 16 instrumentos distintos o no. Esta característica se conoce
como multitímbria: la capacidad de responder a varios canales
MIDI de forma simultánea. Un sintetizador que responda a 16
canales MIDI, es multitímbrico de 16 partes.
La conexión más sencilla es la existente entre dos
sintetizadores (un teclado y un módulo adicional de sonidos
o bien 2 teclados - un módulo de sonidos es un sintetizador
sin teclas, ya que quienes los compran ya tienen otro sintetizador
o teclado). En este caso, deberíamos decidir desde cual tocaremos.
El teclado elegido se llamará "Master" y el otro
"Esclavo". Las conexiones serían muy fáciles,
pues solamente requeriríamos un solo cable MIDI que sería
conectado del MIDI OUT del Master al MIDI IN del esclavo. ¿A
cual de los 16 canales MIDI del teclado esclavo accederíamos?.
Sencillamente seleccionaríamos un canal MIDI de transmisión
y el teclado esclavo respondería por este canal MIDI.
Vamos a ver otra configuración muy corriente. Un usuario tiene
un teclado sintetizador y un ordenador. En este caso, el ordenador
debería tener una interface MIDI (una tarjeta o caja externa
que dota al ordenador de las conexiones MIDI) y un programa secuenciador
que registraría toda la interpretación del usuario.
Las conexiones serian algo más complejas pero muy lógicas.
El ordenador necesita grabar lo que recibe (MIDI OUT del teclado al
MIDI IN del ordenador) y también necesita enviar lo que reproduce
al teclado (MIDI OUT del ordenador al MIDI IN del teclado.)
En el entorno anterior, si el usuario adquiere otro sintetizador
necesitará compartir canales MIDI, pues sólo hay 16
canales MIDI y los dos teclados pueden acceder a ellos. Una solución,
por ejemplo, seria que el primer sintetizador accediera a los 8 primeros
canales MIDI (del 1 al 8) y el segundo sintetizador los 8 siguientes
(del 9 al 16). Para esto existe la salida MIDI THRU, por donde se
envían los datos que el sintetizador no utiliza. Todo esto
se programa en el sintetizador esclavo.
Esta solución no es muy atractiva ya que aunque tengamos dos
teclado solamente podemos disparar 16 instrumentos distintos (por
ejemplo, 8 en cada teclado). La solución definitiva y también
la mejor, es utilizar una interface MIDI con varios MIDI OUT, de esta
forma podemos reproducir más de un grupo de 16 canales MIDI.
Basándonos en el caso anterior, una interface MIDI con dos
conexiones MIDI OUT independientes podría reproducir 32 canales
MIDI (16 en el MIDI OUT A y otros 16 canales MIDI en el MIDI OUT B).
En los gráficos inferiores puedes ver tres modelos distintos
de interfaces MIDI con varios MIDI OUT. Puedes consultar los modelos
existentes en este enlace.
Actualmente, están de moda los interfaces MIDI USB y no la
tarjetas como en el caso de los gráficos inferiores
4-Codificación de los mensajes
MIDI
La codificación de los mensajes MIDI es muy sencilla. Un mensaje
siempre se compone del identificador y un valor concreto. El mensaje
"Toca un DO" consta del identificador "Toca" y
el valor es "DO3". La ventaja del MIDI, es que el valor
de sus mensajes siempre es de 0 a 127. Por ejemplo, el MIDI reconoce
y controla 128 notas (el 0 cuenta), no existe posibilidad de indicar
toca la nota 145, es imposible).
Los mensajes MIDI están divididos por varias categorías:
· Mensaje de nota
· Mensajes de control
· Mensajes de estado
· Mensajes de Sistemas Exclusivos (SYS EX) |
De estos 4 tipos, utilizarás normalmente los 2 primeros.
Mensajes de nota:
Existen 128 notas (desde C-2 hasta G8), por lo que es posible utilizar
una tesitura de hasta 11 octavas. Este valor se llama "Tono
o número de nota, NOTE en ingles técnico".
Como ya sabes, los instrumentos naturales tienen, entre otras características,
la llamada "dinámica". No es lo mismo tocar la
batería de forma suave que hacerlo de forma fuerte. En el
piano ocurre lo mismo. Es por ello que cada nota tiene un segundo
valor asociado que se especifica la fuerza de pulsación de
la tecla. Cada vez que pulsas una tecla del teclado, se envía
el valor de la nota y el valor de la fuerza con la que has pulsado
la tecla. Este valor se llama "velocidad de pulsación"
y tiene un rango de 0 a 127. La velocidad de pulsación está
asociada al volumen, es decir, las notas con valores de velocidad
de pulsación bajos sonarán con menos volumen. No obstante,
la velocidad de pulsación puede tener otros "efectos"
según el sonido. Con un sonido de piano, las notas con valores
bajos de velocidad de pulsación sonarán con menos
volumen y menos brillo que las notas con más velocidad de
pulsación. Esto es así ya que en este caso deseas
reproducir con toda la fidelidad un sonido de piano auténtico
y ese es su comportamiento en cuanto a dinámica de notas.
Estos aspectos "extra" son programados en el sintetizador
como característica de sonido.
Una interpretación está repleta de notas de distintas
duraciones o longitudes. Para indicar el tiempo de duración
de la nota, el MIDI utiliza un mensaje llamado "NOTE OFF".
Cada vez que pulsas una tecla y retiras el dedo de ella se produce
un mensaje "NOTE OFF". La duración de la nota es
el tiempo transcurrido entre la pulsación de la nota y el
mensaje "NOTE OFF". Es un proceso automático del
que no te darás cuenta. Técnicamente podemos definir
un "NOTE OFF" como un mensaje de nota que tiene como "Tono"
la tecla pulsada pero con "velocidad de pulsación"
valor cero, es decir sin fuerza de pulsación.
Resumiendo lo dicho, un mensaje de nota se compone de tres eventos:
"Tono o número de nota", "velocidad de pulsación"
y "duración", es decir compuesto por tres bytes.
En el gráfico inferior puedes identificar el número
de nota como C3, su velocidad de pulsación como el valor
100 y la longitud como los 4 últimos valores que representan
una división del compás. Este gráfico corresponde
a la visión de un evento MIDI desde un programa secuenciador
MIDI.
 |
Este mensaje no está completo, pues no hemos indicado por
cual de los 16 canales MIDI queremos reproducir la nota. Es por
ello que necesita de otra información llamado "Canal
MIDI". Esta siempre es necesaria para cualquier tipo de mensaje
MIDI. En el gráfico inferior puedes ver el valor "1"
que corresponde al canal MIDI 1. La palabra "Note" indica
que es un evento de nota. Este gráfico también corresponde
a la visión de un evento MIDI desde un programa secuenciador
MIDI.
Mensajes de control:
Nos referimos a mensajes de control MIDI a aquellos mensajes que
complementan a los mensajes de nota. Por ejemplo, la vibración
de una flauta es una característica añadida a la nota
básica al igual que su volumen, color del sonido, ataque
y como no su posición en el campo estéreo. Los mensajes
de control no generan notas, sino unos valores que modifican el
sonido seleccionado actualmente.
Existen varios tipos de mensajes de control:
1) Controladores MIDI
2) Cambio de programa
3) Post-pulsación
4) Rueda de inflexión de tono |
1) Controladores MIDI (MIDI controllers)
Existen 128 controladores MIDI distintos (del o a 127) y cada uno
tiene 128 valores (del 0 al 127). El volumen del sonido corresponde
a control MIDI número 7. El pedal de sostenido al control
MIDI 64, la posición en el campo estéreo es el control
MIDI número 10. Estos son sólo un ejemplo, pero existen
128 controladores aunque no todos están asignados en la actualidad.
Cuando movemos la rueda de modulación de nuestro sintetizador,
generamos el evento de control número 1 con valores entre
0 y 127. Evidentemente, los 128 controladores son iguales para todos
los sintetizadores ya que el MIDI es un estándar. El control
de volumen es el número 7 para cualquier sintetizador del
mercado, eso es invariable.
Es importante resaltar que los mensajes de control MIDI solamente
se componen de dos eventos, el número de control y su valor.
No existe el evento de longitud pues un mensaje de volumen no dura
un espacio de tiempo, simplemente se dispara. Cuando se modifica
el valor del control, el último valor es el que permanece
hasta la introducción de un nuevo valor.
Un última reflexión; un pedal de sostenido solamente
tiene dos posiciones, pulsado o no. En este caso, este control MIDI
solamente admite los valores 0 y 1, cualquier valor superior a 1
(de 2 a 127) será considerado como 1.
 |
2) Cambio de programa (Program Change)
El cambio de programa o "Program Change", es el encargado
de controlar qué sonido estamos utilizando. Si seleccionas
un sonido desde tu teclado, se enviará un mensaje de cambio
de programa. Este mensaje es único y tiene 128 valores (de
0 a 127). En el año 84 los sintetizadores solían tener
32 o 64 memorias de sonidos. Actualmente los sintetizadores incluyen
más un millar de sonidos, por lo que el mensaje de cambio
de programa se queda un poco corto, pues sólo nos permite
seleccionar 128 sonidos. Es por ello que se ha completado con la
adición de otro mensaje MIDI, el cambio de banco. Mediante
este mensaje, es posible tener hasta 128 bancos con 128 sonidos
en cada uno. Por ejemplo, el sonido número 256 de un sintetizador
podría ser seleccionado mediante el cambio de banco valor
2 seguido de un cambio de programa valor 128. El camino de banco
va acompañado de un cambio de programa. En realidad, el cambio
de banco es un mensaje compuesto por dos controladores MIDI que
se envían de forma conjunta.
 |
En el grafico superior puedes ver un mensaje de cambio de programa.
En este caso, se selecciona el sonido 50 que corresponde al sonido
de cuerdas sintetizadas en formato GM (una ordenación de
sonidos por familias de instrumentos).
3) Post-pulsación (Aftertouch)
Este tipo de mensaje de control MIDI se ejecuta al presionar de
nuevo sobre la tecla sin levantar el dedo de ella. Al pulsar una
tecla del teclado se genera una mensaje de nota con tres eventos,
número de nota, velocidad de pulsación y longitud.
La post-pulsación se produce cuando antes de soltar la tecla
vuelves a presionar, es decir, pulsas al tecla con más fuerza.
El rango de valores generado es de 0 a 127.
La post-pulsación no tiene un efecto concreto, sino que
es totalmente programable. Por ejemplo, podemos utilizarla para
reproducir el tremolo de la flauta o cualquier otra característica
del instrumento. Por desgracia, muchos de los teclados económicos
no incluyen esta prestación, es decir no pueden generar post-pulsación
y aunque reciban este mensaje via MIDI no van a ejecutarlo.
Existen dos tipos de post-pulsación (la barata y la cara...)
1. Post- pulsación de canal (Channel Aftertouch)
2. Post- pulsación polifónica (Polyphonic Aftertouch)
Un sintetizador de gama media incorpora la post-pulsación
de canal (Channel Aftertouch). Esto significa que sólo se
envía un valor de aftertouch aunque se generen mediante otras
notas. Imagina que seleccionas un sonido de flauta. Pulsas una sola
tecla y se inicia el aftertouch. Sin soltar la tecla inicial tocas
un acorde con la mano derecha. Estas notas nuevas "adoptarán"
el valor del aftertouch de la primera nota. El evento generado es
un sólo valor entre 0 a 127 común para todas las notas
del mismo canal MIDI
 |
El aftertouch polifónico es independiente para cada tecla.
En el ejemplo anterior, al tocar el acorde las notas de éste
iniciarían su propio aftertouch de forma independiente. En
este caso se generan dos eventos, se indica el número de
nota y su valor de aftertouch.
 |
4) Rueda de inflexión de tono (Pitch Bend o Bender)
Este control MIDI es único tanto en funcionamiento como
en datos generados. La rueda de inflexión de tono tiene un
muelle que al ser soltada retorna a su ubicación inicial,
que es justo en mitad de su recorrido. Este control sirve para simular
ligaduras y afecta única y directamente al tono de todas
las notas pulsadas en el mismo canal MIDI. El problema de este control
es que su rango no es de 0 a 127 sino de 0 a 16384 o mejor dicho
de -8192 a 8191. Observa que esta cifra es igual a 128 x 128=16384
(el doble de 8192). Como ya sabes, los valores MIDI tienen un rango
de 0 a 127, por lo que se utilizan 2 eventos con valor de 0 a 127
para obtener el valor total. Este hecho dificulta su edición
aunque como todo en la vida, acabarás por adaptarte.
En el gráfico superior se envían datos de pitch bend
con valor - 3063 que corresponde al valor 40 (segundo byte) del
banco de valores 9 (primer byte)
Mensajes de Estado
Estos mensajes no son accesibles. Nunca podrán ser ejecutados
desde un teclado o un ordenador ya que son mensajes de control.
Los sintetizadores conectados mediante MIDI necesitan saber que
están conectados. Estos mensajes se encargan de saber "el
estado" de la comunicación. Eso es todo.
Mensajes de sistemas exclusivos (SYS EX):
Este tipo de mensajes es, sin duda alguna, el más complejo
y temido por los usuarios. Todos los mensajes MIDI que hemos vista
hasta este momento son estándares, es decir son comprendidos
por la mayoría de sintetizadores. Existen, sin embargo, unas
características especiales para cada sintetizador. Cada modelo
de sintetizador tiene su propio método de síntesis,
es decir, cómo genera el sonido. Estos parámetros
de síntesis pueden "volcarse" al ordenador para
ser salvados al disco duro, editarlos mas cómodamente, etc.
El problema es que es imposible que ese paquete de información
sea comprendido por modelo de sintetizador que no sea el original.
Digámoslo de otra forma, si envío los sonidos de mi
Yamaha Modelo 2 a un Roland Modelo 5, la pantalla de este me indicará
que "no comprende el paquete de SYS EX que le está llegando).
Los mensajes SYS EX se escriben en hexadecimal y van precedidos
por el código del fabricante junto al código del modelo
de ese fabricante. Estos mensajes son comunes para todos los canales
MIDI. Esta codificación depende del MMA citado anteriormente
(la organización internacional de fabricantes de dipositivos
MIDI). Los SYS EX eran muy utilizados anteriormente. Hoy en día,
muchos sintetizadores utilizan combinaciones de controladores MIDI
para manejar estos datos. En todo caso, solamente necesitaras los
SYS EX cuando quieras alterar algún parámetro muy
concreto del sintetizador desde el programa secuenciador. Los SYS
EX requieren un tutorial entero por lo que de momento recuerda que
existen y que manejan todos los parámetros NO COMUNES de
los sintetizadores.
 |
Santi
Fernández: santi@dsp-world.com
|