sábado, 30 de agosto de 2014

MIDI

Las siglas MIDI son una abreviatura de Musical Instrument Digital Interface. Se trata de un protocolo de comunicación que apareció en el año 1982, fecha en la que distintos fabricantes de instrumentos musicales electrónicos se pusieron de acuerdo en su implementación. Aunque originalmente se concibió como un medio para poder interconectar distintos sintetizadores, el protocolo MIDI se utiliza actualmente en una gran variedad de aplicaciones: grabación musical, cine, TV, ordenadores domésticos, presentaciones multimedia,
El archivo MIDI no contiene datos de audio muestreado, sino más bien una serie de instrucciones que el sintetizador u otro generador de sonido utiliza para reproducir el sonido en tiempo real. Estas instrucciones son mensajes MIDI que indican al instrumento qué sonidos hay que utilizar, qué notas hay que tocar, el volumen de cada una de ellas, etc.

Para los ordenadores, el reducido tamaño de estos archivos implica que un ordenador poco potente puede hacerse cargo de complejos arreglos musicales sin ni siquiera inmutarse. En cambio, puede llegar a ser imposible que una de estas máquinas sea capaz ni tan siquiera de reproducir unas pocas pistas de audio muestreado en calidad CD.
Lo que se envia por MIDI no es el sonido que producen los instrumentos, sino los eventos: Cuando se pulsa una nota, cuando se varia un control... Permite sincronizar y sequenciar instrumentos, almacenar una interpretacion para su posterior edicion y reproduccion...

Puertos MIDI.

Los elementos MIDI se conectan mediante tres tipos de puertos.

MIDI IN: Entran datos desde otros dispositivos.
MIDI OUT: Salen los datos del MIDI IN mas los que produce el dispositivo.
MIDI THRU: Sale una copia de los datos del MIDI IN sin anyadir los que produce el dispositivo. Solo los amplifica y corrige a modo de repetidor.
Canal MIDI: Un canal MIDI sirve para direccionar los mensajes que se envian a un instrumento o a otro. El estandard MIDI utiliza 16 canales.

Canales propios de un instrumento: Canales a los que hace caso.

Canal basico de un instrumento: Canal por el que recibe los mensajes de modo (Configuracion).

Voces de un instrumento: Elementos de generacion de sonido de los que consta el dispositivo. P.ej: Las notas son las voces de un sintetizador pero en el caso de una caja de ritmos las voces serian cada uno de los elementos de percusion.

Notas: Cuando una voz se corresponde a una nota, se suele asociar el Do medio al valor 60. Se considera el rango 0-127 con una resolución de un semitono lo que da una amplitud de 10 octavas que no todos los dispositivos alcanzan. Cuando esto sucede, se ignoran o se trasladan a otra octava.

Pulsacion o velocidad: Es la fuerza o velocidad con que se pulsa, mantiene o suelta una voz. Se suele ponderar en escala logaritmica aunque no hay fijado un estandard. 0 es pulsacion minima mientras que 127 es la maxima. En ausencia de esta caracteristica se envia un 64.

Control: Es un parametro controlable de un sintetizador como el volumen, la afinacion... Existen de dos tipos de controles: continuos y conmutados. Suelen equivaler al accionamiento de un interruptor, un potenciometro, o un pedal.

Control contínuo: Tienen una gama de valores posibles como el volumen, ataque y sostenimiento de nota... La especificacion MIDI permite que sean de 7 bits (0-127) o de 14 bits (0-16383) aunque, en realidad, se consideran todos de 14 bits, lo que pasa es que, como se modifican los bytes alto y bajo por separado, en distintos mensajes, cuando tenemos uno de 7 bits solo modificamos la parte alta y la parte baja no se utiliza.

Control conmutado: Los conmutadores son controles que solo tienen dos posiciones que suelen ser ON (127) y OFF (0). Cualquier otro valor se ignora.

Tipos de estados.

Por el cable MIDI circulan dos tipos de bytes:

Bytes de estado: Tienen el MSB (Most Significant Bit) a uno. Son los que indican el tipo de mensaje que se va a enviar.

Bytes de datos: Tienen el MSB a cero. Contienen los parametros del comando/estado indicado en el byte de estado.

El estado de un dispositivo MIDI determina de que manera entendera los siguientes bytes de datos que reciba. Cada estado se alcanza al recibir un byte de estado y se mantiene hasta recibir otro byte de estado que no sea de tiempo real. Los mensajes de tiempo real interrumpen el estado pero no lo cambian.

Estados de ejecucion: Solo valido para mensajes de canal (voz y modo). No es necesario reenviar el byte de estado si es el mismo. Los mensajes cuyos grupos de bytes de datos no lleguen completos se ignoraran.

Estados no implementados: Se establece cuando llega un byte de estado de un comando, que, aunque pertenezca al protocolo MIDI, el instrumento no interpreta. El protocolo MIDI propone que se ignore dicho byte y los posteriores bytes de datos.

Estados indefinidos: Bytes de estado que no existen en el protocolo MIDI. Si se envian es debido a un error (apagado o encendido, ruido...) El protocolo MIDI propone que se ignore dicho byte y los posteriores bytes de datos.

Tipos de mensaje.

Mensajes de canal: Los que van dirigidos a un canal especifico. Dicho canal se indica en los 4 bits bajos del byte de estado y en los 4 altos se indica el comando/estado.

De voz: Contienen lo que se toca por un canal.
De modo: Se envian por el canal basico del instrumento y son los que definen la respuesta a los mensajes de voz.
Mensajes de sistema: Son los que no se ligan a un canal. Los 4 bits altos de byte de estado estan a uno y los bajos indican el comando.

Comunes: Dirigidos a todos los canales MIDI.
De tiempo real: Tambien van dirigidos a todos los canales pero que interrumpe momentaneamente el ciclo de comunicacion. (Son mensajes urgentes)

Exclusivos: Comandos especificos de un instrumento. Fijados por el fabricante del mismo cuyo ID encabeza los bytes de datos.




No hay comentarios:

Publicar un comentario