www.iua.upf.es/~sergi/ - sergi.jorda@iua.upf.es
Publicado en Resonancias con permiso del autor - (c) 1997-2003 Sergi
Jordà Puig
8.1. Introducción
Los mensajes MIDI conforman el lenguaje a través del cual
se comunican todos los dispositivos. En el capítulo anterior presentamos
someramente algunos de estos mensajes (note
on, program change, control change y pitch bend). En este
capítulo los trataremos todos de forma sistemática. La información
que sigue está especialmente destinada a programadores o a usuarios
con conocimientos informáticos más avanzados, que pueden utilizar
esta información como guía de referencia inicial.
Aunque la comprensión exhaustiva de todo el código
MIDI no es prioritaria para el músico, un cierto conocimiento de
este código, facilita la configuración de los equipos MIDI y favorece
la óptima utilización del sofisticado software actual. Es además
imprescindible para todo aquel que quiera afrontar la programación
MIDI (que será tratada en el capítulo
17, "Programación MIDI de bajo nivel"). No obstante, si desea
hacer una lectura más superficial, le aconsejamos que se concentre
en los apartados 8.4, 8.5, 8.6, 8.9 y 8.10. Conforme vaya asimilando
los capítulos siguientes, podrá volver a éste para reforzar sus
conocimientos.
8.2. Bytes de status
y bytes de datos
Hemos visto en el capítulo anterior que los mensajes MIDI se pueden
enviar a través de dieciséis canales distintos y que el número de
posibles instrumentos que puede gestionar un mensaje de Program
Change, es de 128. Como más de uno habrá observado, estos
valores, que no son casuales, corresponden ambos a potencias de
dos (24 y 27
respectivamente). Tal y como anticipábamos también en el capítulo
anterior, los mensajes MIDI se componen de dos o tres bytes. Estos
bytes se dividen en dos categorías, bytes
de status y bytes de datos,
de acuerdo con el valor de su bit más significativo, que en los
primeros vale 1, mientras que en los bytes de datos está siempre
a cero. Los siete bits libres restantes, son pues los que condicionan
que el número de posibles programas en el mensaje de Program
Change sea 128, y no 256, y lo mismo es aplicable a cualquier
otro mensaje: los datos MIDI están siempre
comprendidos entre los valores decimales 0 y 127 (binarios
00000000 y 01111111).
8.3. Estructura de un
mensaje
Todo mensaje MIDI se compone de un primer byte de status (que determina
el tipo del mensaje) y uno o dos bytes restantes de datos (dependiendo
del tipo de mensaje). En el byte de status, tan solo tres, de los
siete bits disponibles (no olvidemos que el más significativo está
siempre a 1), son los que determinan el tipo de mensaje. Los cuatro
restantes indican el canal al que el mensaje va dirigido, lo que
explica porque son dieciséis (24)
los canales MIDI posibles. En la figura 8.1 se puede apreciar la
estructura binaria de un mensaje genérico.
|
(NB.
la existencia del byte data 2, depende del tipo de minsaje) |
Figura 8.1. Estructura binaria de un mensaje MIDI
|
8.4. Tipos de mensajes
De lo dicho hasta ahora se deduce que pueden existir ocho (23)
tipos de mensaje diferentes, que se detallan en la tabla 8.1.
Nombre |
Binario |
Hex. |
Data1 |
Data2 |
Note Off |
1000 nnnn |
8 N |
altura |
velocidad |
Note On |
1001 nnnn |
9 N |
altura |
velocidad |
Poly. Aftertouch |
1010 nnnn |
A N |
altura |
presión |
Control Change |
1011 nnnn |
B N |
tipo de control |
intensidad |
Chan. Aftertouch |
1100 nnnn |
C N |
presión |
|
Pitch Bend |
1101 nnnn |
D N |
MSByte |
LSByte |
Program Change |
1110 nnnn |
E N |
programa |
|
System Message |
1111 xxxx |
F X |
|
|
|
|
Tabla 8.1.
Cuadro sinóptico de los mensaje MIDI |
- nnnn
son los cuatro bits que determinan el canal al que se aplica el
mensaje, de forma que 0000 es el canal 1, y 1111 el canal 16.
- N corresponde
al carácter hexadecimal de este canal (0-F).
- Todos los bytes de datos tienen una resolución
de siete bits, con valores decimales comprendidos entre 0 y 127.
- Cuando en la tabla el segundo byte de datos
está en blanco (Channel Aftertouch
y Program Change), significa que el mensaje utiliza un
único byte de datos.
- En el mensaje Pitch
Bend, los dos bytes de datos se combinan para formar un
único valor con catorce bits de resolución, comprendido entre
-8192 y +8191.
- Los mensajes de sistema poseen una estructura
diferente que se estudia en el apartado 8.7, y no se aplican a
ningún canal en particular.
Es muy importante destacar que un dispositivo MIDI
no tiene porque manejar todos los mensajes; son pocos los teclados
capaces de emitirlos todos, y pocos los sintetizadores capaces de
entenderlos. Cuando un dispositivo MIDI recibe un mensaje que no
es capaz de interpretar, simplemente lo ignora y (si dispone de
un puerto MIDI THRU) lo reenvía al igual que cualquier otro mensaje.
8.5. Los mensajes de canal
Reciben esta denominación todos los tipos de
mensajes que actúan sobre un único canal a la vez (que viene determinado
por los cuatro bits menos significativos del byte de status). Estos
mensajes conforman, tal como se puede apreciar en la tabla 8.1,
la gran mayoría de los mensajes MIDI.
8.5.1. Note On
Este mensaje le indica al dispositivo, que debe
iniciar una nota. Es generado cuando desde un teclado MIDI se aprieta
una tecla.
- El primer byte de
datos indica la altura de la nota, de lo que se deduce
que el MIDI contempla 128 posibles notas, siendo la 0 la nota
más grave y la 127 la más aguda. Teniendo en cuenta que existen
doce notas por octava, el MIDI tiene pues una tesitura de más
de diez octavas (un piano de cola sólo tiene siete) que se corresponde
aproximadamente con el número de octavas que el oído humano es
capaz de captar. Aunque es posible modificar el mapa de asignación,
por defecto, los múltiplos de 12 corresponden a notas Do, siendo
la nota 60 el Do central de un piano. Las notas más extremas tan
solo podrán dispararse desde un teclado si modificamos este mapa,
dado que los teclados más extensos ocupan siete octavas (de la
nota 21 a la 88). En el apéndice B, "relación de alturas y notas
MIDI", se incluye una tabla con estas equivalencias.
- El segundo byte indica
la velocidad de ataque, que viene determinada por la fuerza
con que se ha apretado la tecla. Este parámetro se asocia normalmente
con la intensidad sonora, aunque en algunos sintetizadores puede
modificar también el timbre de la nota (como sucede con los instrumentos
acústicos reales) haciendo que, por ejemplo, a mayor velocidad
suene más brillante. La velocidad 0 tiene un carácter especial,
pues no corresponde a una nota "que no se oye", Sino que funciona
en realidad como interruptor de apagado, desactivando la nota
indicada, si es que estuviera sonando. Algunos teclados no detectan
la velocidad de ataque. En este caso, envían una velocidad constante
de 64.
8.5.2. Note Off
Funciona de forma similar
al Note On con velocidad 0, por lo que se envía cuando se
libera la tecla pulsada.
- El primer byte
es la altura de la nota.
- El segundo byte es la velocidad
de liberación.
La inmensa mayoría de dispositivos no generan ni
responden a la velocidad de liberación, por lo que es un mensaje
muy poco utilizado. En su lugar, cuando se libera una tecla, la
mayoría de teclados envían Note On
con velocidad 0, que todos los sintetizadores entienden. Cuando
se utiliza, la velocidad de liberación podría afectar a la forma
en que desaparece el sonido (más bruscamente para una velocidad
mayor).
8.5.3. Polyphonic Aftertouch (postpulsación
polifónica)
Algunos teclados de alta gama son capaces
de detectar de forma permanente (decenas de veces por segundo) los
cambios en la presión ejercida sobre cada una de sus teclas. En
este caso, siempre que se produzca algún cambio, envían este mensaje.
- El primer byte indica la altura
de la nota.
- El segundo byte indica la presión
ejercida sobre esta nota.
Dependiendo del sintetizador que lo reciba, este
mensaje suele producir modificaciones en el nivel sonoro y también
en el timbre. En algunos sintetizadores, este efecto es programable,
mientras que otros directamente lo ignoran. Mucho menos frecuentes
son los teclados capaces de detectar y enviar esta señal; los que
lo hacen envían un flujo importante de bytes (varias decenas de
mensajes por segundo, para cada nota que se mantenga pulsada), por
lo que suelen tener la opción de desactivarlo, para prevenir atascos.
8.5.4 Channel Aftertouch (postpulsación
de canal)
Este mensaje es una versión económica del anterior.
En lugar de enviar un mensaje de presión por cada nota, se envía
uno por cada canal (aunque en un momento dado, en este canal se
mantengan pulsadas diez notas), que suele corresponder con la presión
mayor. Del mismo modo, el efecto repercute en todas las notas que
estén sonando en este canal.
- El único byte utilizado indica la presión.
8.5.5 Pitch Bend
(variación de la altura)
Como se muestra en la figura 8.2, la inmensa
mayoría de teclados disponen a la izquierda, de dos pequeñas ruedas
giratorias. Una de ellas (la que vuelve automáticamente a su posición
central), se utiliza para desafinar ligeramente el sonido. Cuando
la rueda gira, el teclado envía estos mensajes de forma "continua"
(decenas de veces por segundo).
- Los dos bytes de datos
se combinan para dar un único valor con 14 bits de resolución,
proporcional al ángulo de rotación, y comprendido entre
-8192 y +8191. Este valor es nulo cuando la rueda está en su posición
central.
La magnitud de la desafinación producida por el Pitch
Bend suele ser ajustable para cada sintetizador. El General
MIDI establece que, por defecto, el rango de desafinación debe ser
de +/- 2 semitonos.
|
|
Figura 8.2.
Detalle de un teclado, con las ruedas de modulación
y de pitch bend |
8.5.6.
Program Change (cambio de programa)
En MIDI se utilizan indistintamente los términos patch
(parche) y programa, para designar los diferentes sonidos
disponibles en un sintetizador (instrumentos, efectos sonoros, etc.).
Este mensaje modifica el programa activo. Puede ser enviado desde
los botones de un teclado, aunque hoy en día es más frecuente enviarlo
desde el propio ordenador, editándolo en el secuenciador.
- El único byte utilizado define un
número de programa.
Algunos sintetizadores disponen de más de 128 programas
diferentes. En estos casos, los programas suelen agruparse en varios
bancos, de hasta 128 programas cada uno. Para permitir el acceso
MIDI a esta paleta sonora superior, existe un mensaje especial dentro
de los de cambio control, denominado cambio de banco, que se trata
en el apartado 8.6.1. Algunos sintetizadores numeran sus sonidos
comenzando por el 1 y terminando por el 128. Esto puede prestar
a confusión, ya que el primer programa siempre corresponde al byte
0000 0000 y el último, al byte 0111 1111.
8.6. Los mensajes de Control Change
(cambio de control)
Aunque el mensaje de Control
Change forma parte de los mensajes de canal que hemos descrito
en el apartado anterior, por sus peculiaridades le dedicamos un
apartado propio. Este mensaje es en efecto un tanto particular,
pues engloba en realidad ¡128 posibles mensajes de control diferentes!
Todos ellos afectan de alguna forma a la calidad del sonido; existen
controles para modificar el volumen, la modulación, la reverberación,
etc. Su estructura es la siguiente :
- El primer byte indica
el tipo de control. De los 128 controles posibles, tan
solo una pequeña parte está asignada, por lo que todavía quedan
muchos por definir en un futuro.
- El segundo byte indica
el valor de este control. La mayoría de controles utiliza
la escala del 0 al 127, pero algunos funcionan únicamente de forma
binaria (on/off).
Existen varias alternativas para enviar estos mensajes.
De la dos ruedas que suelen disponer los teclados, una acostumbra
a enviar mensajes de Control Change
de tipo 1 (la otra ya habíamos visto que se utiliza para
el Pitch Bend), aunque en muchos
teclados este número de control puede ser modificado por el usuario.
Existen también paneles de control MIDI, con varios botones o potenciómetros
configurables, de forma que el usuario puede decidir el canal y
el tipo de control al que asigna cada potenciómetro. Tal como se
verá en el capítulo 13, "El secuenciador",
la alternativa más flexible consiste
en generar los mensajes desde el propio software secuenciador, ya
sea mediante potenciómetros virtuales o dibujando su evolución temporal
con el ratón.
A continuación se describen algunos de los tipos
de control más utilizados.
8.6.1. Control Change
0: Cambio de banco
Si el sintetizador dispone de varios bancos
de sonidos (véase apartado 8.5.6), éste es el control que nos permite
acceder a todos ellos, ya que el valor del tercer byte indica el
número de banco deseado. Este mensaje suele ir seguido de un mensaje
de cambio de programa. En algunos sintetizadores, el cambio de banco
se consigue con el Control 32,
o con una combinación de ambos (CC0
y CC32). En caso de duda, consulte
el manual del aparato.
8.6.2. Control Change 1 : Modulación
Este es el control que por defecto se envía
desde una de las dos ruedas de los teclados. El efecto sonoro producido
puede variar de un sintetizador a otro y frecuentemente es programable
por el usuario. Entre los efectos más frecuentes está la modulación
de amplitud (trémolo), la modulación de altura (vibrato), o la modulación
de la frecuencia de corte del filtro (wah-wah).
8.6.3. Control Change 7 : Volumen
Este es uno de los controles más utilizados.
Mientras que la velocidad de pulsación del mensaje de Note
On afecta a la intensidad de una sola nota, el control 7
modifica el volumen del canal en general, como si fuera un mezclador.
Cuando por ejemplo, enviamos un mensaje de
Control 7 con un valor 0, el canal dejará de oírse a pesar
de que se siguen emitiendo notas, hasta que enviemos un nuevo Control
7 no nulo que invalide el anterior. Muchos secuenciadores
incorporan una ventana "mezclador" con dieciséis potenciómetros,
que se utiliza para enviar este control a cualquiera de los dieciséis
canales MIDI. Asimismo, si el secuenciador dispone de un editor
gráfico de controles, se pueden dibujar curvas de volumen para modificar
el ataque y la evolución de algunas notas o fragmentos.
En realidad, estos trucos que aquí se indican,
y que se comentan en detalle en el capítulo
13, "El secuenciador", pueden también realizarse con otros controles
continuos.
8.6.4. Control Change 10 : Panorama
Este control permite definir la posición sonora
de un canal, en un ámbito de 180 grados. Un valor 0, sitúa la fuente
sonora a la izquierda, 64 la centra y 127 la sitúa a la derecha,
siendo igualmente válido cualquier valor intermedio. Enviando valores
diferentes es posible conseguir que las notas "bailen" entre los
dos altavoces.
8.6.5. Control Change 11 : Expresión
Aunque muchos usuarios desconocen este control,
su uso en secuenciadores con posibilidades de edición de controles,
puede simplificar la mezcla final. La expresión
está pensada para trabajar en colaboración con el volumen
(Control 7). Cuando la expresión
vale 127 (valor defecto) el volumen general del canal viene determinado
por el valor del Control 7, pero a medida que el valor de la expresión
desciende, también lo hace el volumen general del canal, de forma
que podemos establecer la siguiente ecuación:
Volumen general de un canal
= Control 7 x Control 11/127
Esto permite utilizar el Control 7 para controlar
la mezcla global (desde la ventana mezclador del secuenciador o
asignando un único valor inicial), y el Control 11 para controlar
la articulación particular de algunos fragmentos (dibujando su evolución
con el ratón), teniendo muy en cuenta que, si no se utiliza, el
valor del Control 11 debería permanecer a 127. En el capítulo
13,"El secuenciador", veremos como editar controles por software.
8.6.6. Control Change 64 : Sostenido
Es similar al pedal de sostenido de los pianos.
A diferencia de los anteriores, este control sólo tiene dos posiciones
: apagado (0-63) o encendido (64-127). Estando activado, las notas
se mantienen más tiempo.
8.6.7. Control Change 91 : Reverberación
Muchos sintetizadores modernos incorporan este
efecto. La reverberación (o reverb
en el argot del músico informático) indica la proporción entre el
sonido directo y el sonido reflejado. Este efecto se utiliza para
simular la acústica de las salas de concierto. De forma simplificada,
cuanto mayor sea una sala mayor reverberación ofrecerá. Asimismo,
cuanto más distante sea una fuente sonora, más reverberada llegará
a nuestros oídos, ya que la proporción de sonido reflejado por las
paredes de la sala será superior. Por ello, cuanto mayor sea el
valor de este controlador, más distante parecerá la fuente sonora.
8.6.8. Control Change 93 : Chorus
Este es otro efecto utilizado regularmente en
las grabaciones en estudio, y que, como el anterior, también incorporan
muchos sintetizadores modernos. El chorus produce un efecto parecido
al que se obtiene duplicando los instrumentos, por lo que cuanto
mayor sea el valor de este controlador, más "grueso" parecerá el
sonido.
8.6.9. Mensajes de Modo
Aunque la implementación MIDI 1.0 no los considera
como mensajes de control estrictos, los incluimos aquí para simplificar.
Esta denominación especial, corresponde a los controles 121 a127,
de los cuales comentaremos tan sólo dos :
- Control Change 121
: Reset-All Controllers. Este mensaje restaura todos los
restantes controles a sus valores defecto (banco=0, programa=0,
modulación=0, volumen=100, panorama=64, expresión=127, etc.).
Si desde el secuenciador finalizamos por ejemplo un tema con fundidos
de volumen (el Control 7 va
descendiendo hasta llegar a 0) y el tema siguiente no contiene
ningún valor inicial de volumen, posiblemente cuando intentemos
reproducirlo no oigamos nada. La causa es que los volúmenes siguen
estando a cero. Una solución que la mayoría de secuenciadores
contemplan como opción, es la de enviar este mensaje después de
terminar un tema (o inmediatamente antes de comenzarlo), y restaurar
así todos los parámetros.
- Control Change 123
: All Notes Off. A veces una nota puede quedarse colgada
sonando porque se haya perdido el mensaje de Note
Off que debía cortarla. En este caso puede ser de ayuda
el Control 123, que desactiva
automáticamente todas las notas.
8.6.10. Otros controles
Muchos sintetizadores implementan otros controles
de forma no estándar. En muchos casos el efecto no se consigue con
un solo control, sino mediante la combinación ordenada de varios
mensajes de control determinados. Aunque esto suele ser bastante
más complicado, de este modo se puede llegar a controlar al máximo
las posibilidades del sintetizador.
Estos grupos de mensajes suelen denominarse RPN (Registered
Parameter Number) o NRPN (Non-Registered
Parameter Number). En el primer caso, se utilizan los controles
99 y 98 para indicar el tipo de modificación deseada, mientras que
en el segundo, se combinan inicialmente los controles 100 y 101.
A continuación, en ambos casos suele utilizarse una segunda combinación
de dos controles para indicar la magnitud de esta modificación.
Las posibilidades y la forma de utilización de estos
parámetros de control registrados y no-registrados, varían considerablemente
de una maquina a otra, lo que hace imposible tratarlos con detalle.
En la tarjeta Sound Blaster AWE32, por ejemplo, la sabia combinación
de los controles 99, 98, 6 y 38, permite modificar cualquier parámetro
imaginable. Por otra parte, el uso de este tipo de mensajes requiere
inevitablemente de un cierto dominio del secuenciador, el programa
pilar de todo estudio MIDI, que estudiaremos en el próximo capítulo.
Un consejo: tenga paciencia, y relea de vez en cuando la documentación
de su sintetizador o tarjeta. Poco a poco irá comprendiendo más
cosas y descubriendo nuevas posibilidades.
8.7. Mensajes de sistema
En este grupo se incluyen los mensajes cuyo
byte de status comienza con 1111. Estos mensajes se comportan de
forma diferente a todos los anteriores, ya que los cuatro bits restantes
no indican un número de canal, y por ello, afectan globalmente al
comportamiento de los dispositivos que los reciban. Estos cuatro
bits restantes, definen de hecho dieciséis mensajes diferentes,
que se reparten en tres grupos: los mensajes
comunes de sistema, los mensajes de sistema de tiempo real y los
mensajes de sistema exclusivo. De los dos primeros grupos
daremos tan solo una breve referencia.
8.7.1. Mensajes comunes de sistema
Los mensajes comunes de sistema suelen ir destinados
a secuenciadores, pudiendo ser enviados desde otro secuenciador
u otro dispositivo dotado del interfaz adecuado (cajas de ritmo,
magnetoscopios de vídeo, grabadoras multipistas, etc.). Permiten
posicionar automáticamente un secuenciador en un determinado fragmento
de una determinada pieza (muchos secuenciadores pueden tener varios
temas en memoria), desde el dispositivo de control.
El más importante es el
MIDI Time Code (MTC) que consta de dos bytes (siendo 1111
0001 su byte de status) y se utiliza para sincronizar secuenciadores
con grabadoras multipistas o magnetoscopios de vídeo (véase
18.4.2).
8.7.2. Mensajes de sistema de tiempo
real
Los mensajes de sistema de tiempo real, se utilizan
para coordinar y sincronizar dispositivos MIDI que normalmente funcionarían
de forma independiente, como dos secuenciadores. En este caso, uno
funcionará como maestro y el otro como esclavo. Aunque los secuenciadores
trabajan por defecto con un reloj interno (maestros), siempre es
posible configurarlos para que dependan de un reloj externo (esclavos).
En este caso, estos mensajes de sincronía deben mandarse a intervalos
regulares (24 veces/negra).
8.7.3. El sistema exclusivo
Todo dispositivo MIDI posee algunas características
peculiares, condicionadas por su hardware y su software interno,
y difíciles de incluir en un estándar, como pretende la implementación
MIDI 1.0. Por ello, los fabricantes acordaron dejar un grupo de
mensajes de formato libre, para uso particular de cada dispositivo.
Para lograr esta flexibilidad y privacidad, los mensajes de sistema
exclusivo incluyen después del byte de status (que en este caso
es siempre F0H ó 1111 0000 en binario), un byte con un código propio
del fabricante (Roland, Yamaha, etc.) y otro específico del modelo.
A continuación, el mensaje puede tener cualquier longitud, por lo
que para indicar el fin del mensaje, se incluye el byte de status
EOX (End of Exclusive) que vale F7H (1111 0111).
Ini. SysEx |
Id. Fabric |
Id. Modelo |
cuerpo del mensaje |
EOX |
1111 0000 |
0nnn nnnn |
0nnn nnnn |
cualquier número de bytes |
1111 0111 |
Mientras siga este convenio, todo fabricante es libre
de implantar en cada uno de sus dispositivos, tantos mensajes de
sistema exclusivo como desee, pero con la obligación de publicarlos.
Estas acostumbran a ser las misteriosas páginas llenas de datos
binarios y códigos hexadecimales con que concluyen los manuales
de los sintetizadores1.
¿Pero para que sirve todo esto? Aunque en algunos
casos, muchas de las posibilidades del sintetizador son accesibles
a través de mensajes de control no estándares (como los RPN y los
NRPN comentados en el apartado 8.6.10), no siempre es así, y en
cualquier caso, a través de esos controles, nunca se puede acceder
a todas las posibilidades. Como
último recurso, queda pues el sistema exclusivo, el "código máquina"
propio de cada dispositivo. Muchos secuenciadores ofrecen ciertas
facilidades a la hora de editar mensajes de este tipo (normalmente
en código hexadecimal) y enviarlos a los dispositivos.
Dado que estos mensajes se transmiten por los cables
MIDI como cualquier otro, ¿que sucede cuando un dispositivo recibe
un mensaje de sistema exclusivo que no le va destinado, y que por
consiguiente no entiende? Nada en realidad ; cuando un dispositivo
recibe un mensaje cuyo byte de status es F0, mira los dos bytes
siguientes (fabricante y modelo), y en caso de que no coincidieran
con los que tiene asignados, ignora el mensaje hasta que le llega
el byte de status que indique final de sistema exclusivo (F7). Un
ejemplo de programas que utilizan profusamente el sistema exclusivo,
son los editores de sintetizadores que se comentan brevemente en
el apartado 14.4.
8.8. Running Status
El running status no es en realidad un mensaje,
sino un convenio a la hora de transmitirlos, que facilita la reducción
del flujo de datos MIDI. Cuando un mensaje es del mismo tipo que
el anterior no es obligatorio transmitir de nuevo el byte de status.
De esta forma cuando se mandan varios mensajes consecutivos del
mismo tipo, sólo el primero ocupa tres bytes, ocupando dos, todos
los restantes. Esta técnica es especialmente útil en la transmisión
de controles continuos como el volumen o la modulación que suelen
enviarse en grandes bloques. Aunque la adopción del running status
en un dispositivo transmisor es opcional, todos los dispositivos
receptores deben ser capaces de entenderlo.
8.9. Los cambios de control en General
MIDI
En el capítulo anterior comentamos las principales
características del General MIDI (mapa de instrumentos, polifonía,
etc.). Este nuevo estándar especifica también una serie de mensajes
que todo dispositivo debe ser capaz de interpretar. Así un dispositivo
compatible General MIDI debe poder entender mensajes de pitch
bend, channel aftertouch,
modulación (C.Change 1),
volumen (C.Change 7), panorama
(C.Change 10), expresión (C.Change
11), sostenido (C.Change 64),
all notes off (C.Change 121) y reset
all controllers (C.Change 123).
8.10. La hoja de implementación MIDI
Tras el baile de mensajes al que se ha visto
sometido en este capítulo, parece difícil no perder la calma a la
hora de configurar y comenzar a trabajar con un equipo MIDI. ¿Como
saber que dialecto entiende cada uno de nuestros dispositivos? ¿Como
optimizar las configuraciones para que no tengamos un sinfín de
mensajes redundantes o inútiles?
Para solucionar parte de estas dudas, todo
dispositivo incluye al final de su manual de instrucciones, una
hoja denominada "Hoja de implementación MIDI", que describe en un
formato estándar a dos columnas, los mensajes que el dispositivo
es capaz de transmitir (columna izquierda) y de recibir (columna
derecha). Si un dispositivo entiende determinado mensaje lo indica
con un círculo blanco, mientras que una cruz significa que no lo
entiende. En la figura 8.3. se muestra la hoja de implementación
MIDI de una tarjeta de sonido. Dado que este dispositivo funciona
sólo como receptor, toda su columna izquierda se encuentra desactivada
(con x).
|
|
Figura 8.3.
Hojas de implementación MIDI de una tarjeta de sonido |
[1] Algunos fabricantes (como
Creative Labs) no incluyen nunca esta información en sus
manuales, pero siguen teniendo la obligación de ofrecerla
gratuitamente si les es solicitada.
[...] Índice
[<<] Capítulo
anterior [>>] Capítulo
siguiente [+] Anexos |