Introducción al MIDI
 
 
Índice de Materias
 

 

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


Documentación Adicional
 

 
 
 
©2001-2008 La Oreja Digital.com FAQs / Mapa webmaster@dsp-world.com acerca de nosotros

Se prohíbe la reproducción total o parcial del contenido de esta página web en medios escritos u online sin el permiso expreso de La Oreja Digital.com
Todos los logotipos y marcas que aparecen en esta página web pertenecen a sus respectivos propietarios.
Esta página web ha sido diseñada para su uso con Microsoft Explorer 5.0 o superior a 1024 x 768 pixels.

www.laorejadigital.com | www.dsp-world.com