sábado, 24 de marzo de 2012

MIDI: Qué es y qué usamos

MIDI es un protocolo de comunicación serie estándar que permite que varios dispositivos musicales electrónicos (controladores, sintetizadores, secuenciadores, PCs,..) se conecten entre sí y compartan información para la generación de sonidos.

Surgió a principios de los 80 para permitir interconectividad entre instrumentos de distintos fabricantes. Dave Smith, el ingeniero que desarrolló la idea del protocolo, consiguió establecer conexión entre dos sintetizadores (su Prophet 600 y un Roland Jupiter-6) y de demostrarlo por primera vez en el 1983 Winter NAMM Show.

Su creación facilitó el desarrollo de secuenciadres y sintetizadores hardware y software, y permitió la integración de la música en la informática.

Especificación

El organismo oficial que se encarga de la regulación del estándar es la MIDI Manufacturers Association, y en su página web se puede encontrar toda la documentación necesaria para implementar su protocolo en cualquier dispositivo.

MIDI envía mensajes que tienen 1 byte de estado (de comando) y 2 o más bytes de datos. Se diferencian entre ellos porque los bytes de estado son siempre mayores que 127, y los de datos menores o iguales que dicho número.

Para un mensaje común (3 bytes), tenemos:
  • 1º Byte: Byte de estado (comando): Representa la acción que el controlador transmite al ordenador para que sea llevada a cabo por el software (toca una nota, deja de tocarla, he pulsado un pedal del piano y quiero que sostengas más las notas en el tiempo, sube el volumen general, etc.). También incluye el canal virtual por el que se envía la información.
  • 2º y 3º Byte: Bytes de datos: Representan información asociada al byte de estado junto con el que se transmiten. Por ejemplo, para un mensaje NoteON (toca una nota), el primer byte de datos representa la frecuencia de la nota a tocar, y el segundo el volumen al que se quiere reproducir (i.e., la fuerza con la que se ha tocado una tecla en el piano si estamos usando un teclado como controlador)
Tabla de mensajes MIDI

¿Qué estamos usando?

Para hacer las pruebas del sistema necesitamos un controlador MIDI que nos envíe eventos para poder procesarlos. Nosotros estamos utilizando:
  • Yamaha QY-22: Secuenciador que graba y reproduce archivos MIDI (que contienen secuencias de eventos).
  • Yamaha P70: Piano digital con puerto de salida MIDI.

No hay comentarios:

Publicar un comentario