Paso 2: Protocolo de MIDI
Mensajes MIDI constan de dos componentes: bytes de datos y comandos. El byte de comando dice que el instrumento MIDI qué tipo de mensaje se está enviando y en que canal MIDI y la byte(s) de datos posteriores almacenan los datos reales. Por ejemplo: un byte de comando puede decir un instrumento MIDI que tiene información sobre una nota, y los siguientes bytes de datos describen que nota y lo fuerte. Un byte de comando podría también decir un instrumento MIDI va a enviar información acerca de pitchbend, luego los siguientes bytes de datos describiría cuánto pitchbend. Un byte de comando y los bytes de datos que conforman un "mensaje de MIDI".
Un byte es un tipo de datos (otros tipos de datos que hemos visto hasta ahora son int, booleany largo). Bytes almacenan enteros positivos entre 0 y 255. Mensajes MIDI se componen de una serie de bytes, y puede ser decodificados basado en su valor para entender lo que significan.
Aquí está una lista de bytes de comando comunes en su forma decimal (base diez):
Nota Off = 128
Nota On = 144
PitchBend = 224
Bytes de comando siempre son mayores que 127 y bytes de datos son siempre entre 0 y 127, de hecho, es cómo un instrumento MIDI puede decir la diferencia entre un byte de comando y un byte de datos. Aquí es cómo enviamos un mensaje MIDI para encender C media con volumen alto:
144, 60, 127
El primer número, 144, es el byte de comando, dice que el instrumento MIDI que este mensaje de MIDI es un mensaje Note On. El segundo número, 60, es un byte de datos. El primer byte de datos en un mensaje de nota de MIDI se "Nota" - este comando en la nota se convierte en nota MIDI 60 (C media, usted puede encontrar una lista de las conversiones de MIDI/Nota
). El último número también es un byte de datos, el segundo byte de datos en un mensaje de nota en MIDI es "velocidad", que se utiliza para controlar el volumen de una nota. Bytes de datos son entre 0 y 127, 127 es el volumen máximo para una nota.
Cada nota MIDI comienza con un mensaje Note On y termina con un mensaje de nota Off. Algunos instrumentos de percusión sonará como has desactivado si tienes para mucho tiempo, pero la realidad no será apagado hasta que usted envíe una nota mensaje. Es importante recordar apagar una nota antes de intentar volver a encenderlo para evitar resultados inconsistentes. Hay dos maneras de apagar una nota MIDI, esto primero es usando un comando de nota Off:
128, 60, 0
Este comando apagará Nota 60, comienza con el byte de comando para la nota, nota de conjuntos = 60 y la velocidad = 0 (velocidad no suele ser muy sensible para nota, cualquier número que desee escoger es fino). Puede también girar a una nota de envío de una nota en el mensaje con velocidad = 0:
144, 60, 0
Se trata de un enfoque más común en MIDI (desde mi experiencia) por lo que es cómo que se va tratando con nota en esta clase.
Si estás interesado en aprender más sobre MIDI protocolo binario y bits, mira este artículo y esta tabla.