Mensajes MIDI PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

M

Meennssaajjeess M
MIID
DII

Un mensaje MIDI se compone de un byte de estado de 8 bits a continuación del cual aparecen, por regla general,
uno o dos bytes de datos. Existen distintos tipos de mensajes MIDI que, en su nivel más alto, se clasifican como
M
Meennssaajjeess d
de c a n a l o M
Meennssaajjeess d
dee ssiisstteem
maa. Los mensajes de canal, como su nombre indica, son aquellos
aplicables a un canal concreto y contienen el número de canal en su byte de estado. Los mensajes de sistema no
están dirigidos a ningún canal concreto por lo que no incluyen número de canal en su byte de estado.

Los mensajes de canal pueden clasificarse, además, en dos tipos: CChhaannnnel


el V
Vooic
icee y M
Mood
dee. Los primeros incluyen
datos referentes a la interpretación musical (la inmensa mayoría de los datos de un flujo de señal MIDI típico) y los
segundos, datos que alteran la forma en que el instrumento receptor interpreta los datos de los primeros.

Estos últimos se utilizan para transmitir información sobre la interpretación musical. Entre los mensajes englobados
en esta categoría están: Note On, Note Off, Polyphonic Key Pressure, Channel Pressure, Pitch Bend Change, Program
Change, Control Change, etc.

N
Not
otee On
On,, N
Not
otee Of
Offf,, V
Veloc
elocit
ityy
En el protocolo MIDI, los movimientos efectuados al pulsar y soltar una tecla son considerados eventos
independientes. Al pulsar una tecla, cuerda, etc. en cualquier instrumento controlador MIDI, el dispositivo emite un
mensaje Note On a través del puerto MIDI Out. Si el instrumento está configurado para transmitir por cualquiera de
los 16 canales MIDI, el byte de estado del mensaje Note On indicará el número de canal seleccionado. Siguen a este
byte de estado dos bytes de datos que especifican el número de tecla (indicando qué nota se ha pulsado) y el valor
de velocidad de pulsación (V Veello
occiittyy) que indica lo fuerte que se ha pulsado la tecla.

El generador de sonido que recibe el mensaje utiliza el número de tecla para determinar qué nota debe sonar y el
valor de velocidad de pulsación para controlar la amplitud o volumen del sonido. Al soltar la tecla, el controlador
emite un mensaje Note Off, que también incluye bytes de datos para el número de nota y la velocidad con que se
ha soltado la tecla (este último dato habitualmente se ignora).

A
Afftteerrtto
ouucchh
Algunos instrumentos MIDI cuentan con la capacidad de medir la cantidad de presión que se aplica sobre las teclas,
cuerdas, etc, una vez han sido pulsadas. Esta información sobre la cantidad de presión aplicada, denominada
A
Afftteerrtto
ouucchh, se utiliza para controlar algunos aspectos del sonido producido por el generador correspondiente (por
ejemplo, vibrato). Si el instrumento controlador dispone de sensores de presión independientes para cada tecla,
etc., la información "polifónica" resultante se transmite como mensajes del tipo PPolyp olyphhon
onic
ic K
Key
ey PPrres
esssuurree. Estos
incluyen bytes de datos independientes para el número de tecla y la cantidad de presión.

Lo más habitual es que los teclados incorporen un solo nivel de presión para todo el teclado (no uno para cada
tecla). Quizás la excepción más notable a esta regla establecida tácitamente por la mayoría de los fabricantes de
sintetizadores sean los instrumentos de la firma EnEnsson
oniq
iq, que si incorporan PPolyp
olyphhon
onic
ic K
Key
ey PPrres
esssuurree. Esta
información de "presión por canal" (C
Chhaannnnel
el A
Afftter
ertto
ouucchh) se transmite mediante el mensaje CChhaannnnel
el PPrres
esssuurree,
que sólo necesita un byte da datos para especificar el valor de presión.

PPit
itcchh B
Ben
end
d
El mensaje Pitch Bend se envía normalmente a partir del movimiento aplicado sobre la rueda de inflexión tonal que
incorporan la inmensa mayoría de los teclados actuales (o a partir de "tirar" de las cuerdas en una guitarra MIDI, por
ejemplo). Esta información se utiliza para modificar la altura tonal de los sonidos reproducidos en un canal
determinado. Este mensaje incluye dos bytes de datos en vez de sólo uno, con lo que se dispone de una mayor
resolución a la hora de definir los movimiento realizados sobre la rueda correspondiente (para que el sonido
resultante sea continuo y no dé la sensación de moverse de forma escalonada).

PPrrogr
ograam
m C
Chhaannge
ge
Este mensaje se utiliza para indicar el tipo de sonido a emplear en un canal determinado. Sólo precisa de un byte de
datos que se encarga de especificar el nuevo número de programa.

C
Coonnttrro
oll C
Chhaannge
ge
Estos mensajes MIDI se usan para controlar una gran variedad de funciones de un sintetizador. Como los restantes
mensajes de canal, sólo afectan al canal especificado mediante el byte de estado. A continuación del byte de estado
aparecen un byte de datos que indica el número de controlador y un segundo byte de datos que indica el valor a
aplicar. El número de controlador identifica qué función del generador de sonido se va a controlar. En la
Es
Espec
pecific
ificaacción
ión MI
MIDI
DI aparece una lista completa de los números de controlador definidos.
B
Baannkk S
Sel
elec
ectt
El controlador número 0 (con el valor 32 como LSB) se encarga de la selección de bancos de sonidos. Esta función
se utiliza, junto con el mensaje de cambio de programa, para poder acceder a un mayor número de sonidos que los
que contiene un solo banco (128). Los sonidos almacenados en bancos distintos al banco 1 se seleccionan
anteponiendo al mensaje de cambio de programa un mensaje C Coonnttrro
oll C
Chhaannge
ge que especifica un nuevo valor para
los controladores 0 y 32, lo que permite acceder a 16.384 bancos de sonidos con 128 programas cada uno (para
que nadie pueda decir que se queda corto en cuanto a posibilidades sonoras).

Como la Especificación MIDI no describe la forma en que los bancos de un sintetizador deben relacionarse con los
mensajes de selección de banco, no existe una forma estandar de seleccionar un banco en todos los sintes del
mercado. Algunos fabricantes como Rolan
Roland d (con su estándar G
GSS) y Yamah
Yamahaa (no podían ser menos, ellos cuentan
con el estándar XG
XG), han adoptado lo que les ha parecido más apropiado para asegurar una mínima estandarización
en cuanto a la selección de bancos de sonidos en sus respectivas gamas.

RP
RPN N,, N
NRP
RPN
N
El controlador número 6 6 (Da
Dattaa En
Enttrryy), junto con los controladores números 9696 (DaDattaa IInnccrremen
ementt), 97
97 (Da
Dattaa
Dec
Decrremen
ementt), 98
98 (Registered
Registered PParameter
arameter N Nuumber
mber LLSB
SB), 99
99 (Registered
Registered PParameter
arameter N Nuumber
mber MSB
MSB), 100
100
(N
Non
on-Regis
-Registter
ered
ed PPaarraamet
meter
er NNuumber
mber LLSB SB) y 101
101 (NNon
on-Regis
-Registter
ered
ed PPaarraamet
meter
er N Nuumber
mber MMSB
SB), permiten
aumentar la cantidad de controladores disponibles. Los datos se transmiten seleccionando primero el número del
parámetro a editar utilizando los controladores 98 y 99 ó 100 y 101. Luego se procede a definir el valor del
parámetro utilizando los controladores 6, 96 o 97.

RP
RPN NyN NRP
RPNN se utilizan habitualmente para enviar datos de parámetros a un sinte para la edición de sonidos. Los
N
Núúmer
meros
os ddee p
paarráámet
metrro
o rregis
egisttrraad
dos
os (Registered
Registered PParameter
arameter NNuumber
mber -- RPRPN N) son aquellos a los que las
organizaciones MIDI Manufacturers Association (MMA) y Japan MIDI Standards Committee (JMSC) han asignado
alguna función particular. Por ejemplo, existen RPNs definidos para controlar la sensibilidad de pitch bend y la
afinación general de un sinte. Por su lado, los no registrados (N
Non
on-Regis
-Registter
ered
ed PPaarraamet
meter
er N
Nuumber
mber -- N NRP
RPNN) no
tienen asignada ninguna función específica y pueden ser utilizados de forma distinta según el fabricante. De nuevo
en este caso Roland y Yamaha, entre otros, han adoptado sus propios estándares.

M
Meennssaajjeess M
Mood
dee

Estos mensajes (controladores 121 al 127) afectan a la forma en que el generador de sonidos responde a los datos
MIDI. El controlador 121
121 se utiliza para reinicializar todos los valores. El 122
122, para activar o desactivar la función
LLoc
ocaall C
Con
onttrrol
ol (en un sinte MIDI con teclado, es posible independizar las funciones del teclado y el generador de
sonidos desactivando esta función, facilitando así su funcionamiento con un secuenciador externo). Los
controladores 124 124 a 127
127 se utilizan para activar o desactivar el modo Omn Omnii y para seleccionar los modos MMoonno
oo
PPoly
oly.

Cuando está activado el modo OmnOmnii, el generador de sonidos responde a los mensajes MIDI recibidos por todos los
canales. Si está desactivado, el generador sólo responderá a los mensajes recibidos por un canal específico.

En el modo PPoly
oly, los mensajes Note On entrantes se reproducen de forma polifónica, lo que significa que cuando se
reciben múltiples mensajes Note On, a cada nota se le asigna su propia voz (dependiendo siempre del nùmero de
voces disponibles en ese momento en el generador de sonidos). Así, por ejemplo, al tocar un acorde sonarán todas
las notas de forma simultánea. Al seleccionar el modo M
Moonno
o, se asigna una sola voz por cada canal MIDI.

La mayoría de los instrumentos MIDI actuales funcionan por defecto en la configuración Omni On/Poly. El generador
reproduce los mensajes de nota recibidos en cualquiera de los canales de forma polifónica. Por otra parte, la
combinación Omni Off/Poly puede resultar útil en el caso que varios generadores de sonido estén conectados en
cadena mediante sus puertos MIDI Thru, ya que cada uno de ellos recibirá los datos en un canal específico y
reproducirá las notas de forma polifónica.

Hay que tener en cuenta que cualquier instrumento MIDI dispone de un canal designado como C Caannaall bá
bássic
icoo y que
sólo recibirá los mensajes de cambio de modo a través de este canal. Esta asignación puede ser fija o seleccionable
por el usuario.

M
Meennssaajjeess S
Syysstteem
m

Los mensajes de sistema se subdividen en mensajes SystemSystem Common


Common, System
System Real
Real Time
Time, o System
System
Ex
Excclu
lussiv
ivee. Los primeros están destinados a todos los recpetores del sistema; los segundos se utilizan para la
sincronización de los elementos que funcionan mediante un reloj temporizador. Por su parte, los mensajes de
Sistema
Sistema Exclu
Exclusiv
sivoo incluyen un código de identificación del fabricante y se utilizan para transferir bytes de datos
formateados según una especificación diseñada por ese fabricante.

System
System Common
Common
Actualmente están definidos los mensajes MTC Quarter Frame, Song Select, Song Position Pointer, Tune Request y
End Of Exclusive (EOX). El mensaje M
MTTC
C Q
Quuaarrtteerr FFrraam
mee forma parte de la información de código de tiempo MIDI
utilizada para la sincronización de equipos MIDI con sistemas de audio y video.

El mensaje Son
Songg Select
Select es utilizado por secuenciadores y cajas de ritmo capaces de almacenar varias
composiciones distintas. Son
Song g PPosition
osition PPoin
ointer
ter se usa para iniciar la reproducción en un secuenciador; siempre
en un punto distinto al inicio de la composición. Su valor está relacionado con el número de pulsaciones de reloj MIDI
transcurridas desde el punto inicial de la composición. Este mensaje sólo puede ser utilizado con dispositivos
capaces de reconocer mensajes SystemSystem Real
Real Time
Time (MMIID
DII S
Syynncc).

T
Tuunnee R
Reeq
quueesstt se utiliza habitualmente para que un sintetizador analógico proceda a recalibrar la afinación de sus
osciladores. Este mensaje carece de utilidad en el caso de los sintes digitales.

El mensaje EOX
EOX sirve para indicar la finalización de un flujo de datos de Sistema Exclusivo.

System
System RealReal Time
Time
Estos mensajes tienen por fin la sincronización de todos los elementos de un sistema MIDI que funcionen mediante
reloj MIDI (secuenciadores, cajas de ritmo, arpegiadores, etc.). Para asegurar una correcta temporización, siempre
tienen prioridad sobre los otros tipos de mensaje MIDI (los mensajes a tiempo real, de un solo byte, pueden aparecer
en cualquier lugar del flujo de datos, incluso entre el byte de estado y el byte de datos de cualquier otro mensaje).

Estos mensajes de sistema a tiempo real son: Timing Clock, Start, Continue, Stop, Active Sensing y System Reset.
T
Tiim
miinng
g C
Cllo
occkk es el reloj master que define el tempo de reproducción de una secuencia. Se transmite 24 veces por
cada nota negra. Los mensajes Start Start, C
Coonnttin
inuuee y Stop
Stop se utilizan para controlar la reproducción.

A
Accttiivvee S
Seennssiinng
g sirve al propósito de eliminar notas "colgadas" que pueden aparecer al desconectar un cable MIDI
durante la reproducción. Sin esta función, algunas notas pueden quedar sonando de forma indefinida (han sido
activadas mediante un mensaje Note On pero el mensaje Note Off correspondiente no va a llegar nunca).

El mensaje System
System Reset
Reset, se encarga de reinicializar cualquier dispositivo MIDI. Por la importancia de sus efectos,
generalmente no se transmite de forma automática; el usuario debe iniciar su emisión de forma manual.

System
System Exclu
Exclusiv
sivee
Los mensajes de Sistema Exclusivo pueden utilizarse para enviar datos como programas de sonido o muestras entre
distintos dispositivos MIDI. Cada fabricante define sus propios formatos para este tipo de datos y dispone de un
código de identificación único garantizado por la MMMMA
A y el JJM
MSSC
C. Esta ID del fabricante, incorporada en cada
mensaje de Sistema Exclusivo, precede a los distintos paquetes de datos, a continuación de los cuales aparece el
mensaje EOX
EOX mencionado anteriormente, con el que finaliza la transmisión de datos. Los fabricantes están
obligados a publicar los detalles que conforman sus formatos de datos de Sistema Exclusivo para que puedan ser
utilizados libremente por otros fabricantes o por el propio usuario, siempre y cuando no se alteren o se utilice el
formato de forma que entre en conflicto con las especificaciones originales definidas por el fabricante .

Algunos de estos números de identificación están reservados para protocolos especiales, entre los que figuran el
Es
Esttáánndadarr pa
parraa vvolc
olcaado
do de
de mu
mues
esttrraass MI
MIDI
DI (M
MIID
DII S
Saam
mppllee D
Duum
mpp S
Sttaannd
daarrd
d), un formato de datos de
Sistema Exclusivo dedicado a la transmisión de datos entre muestreadores; así como M MIID
DII S
Shho
oww C
Coonnttrro
oll y M
MIID
DII
M
Maacchhiinnee C
Coonnttrro
oll.

Ru
Runnnnin
ingg Statu
Statuss

Como los datos MIDI se transmiten en forma serial, es muy posible que dos o más eventos musicales que se
produzcan en el mismo momento, al ser enviados uno detrás de otro, no se reproduzcan exactamente en el mismo
instante. Con una velocidad de transmisión de datos de 31.25 Kbits/seg. y 10 bits transmitidos por cada byte, la
transmisión de un mensaje Note On o Note Off de 3 bytes dura aproximadamente 1 milisegundo. Desde luego,
generalmente esto es lo suficientemente rápido como para que esos eventos se perciban como simultáneos, aunque
a nivel de números no sea así. Por ejemplo, se puede decir que ningún teclista es capaz de percibir ese pequeño
desfase al tocar 10 teclas de forma simultánea, siempre y cuando las notas sean reproducidas en un lapso de
tiempo inferior a unos 10 milisegundos.

Sin embargo, hay que tener en cuenta que los datos MIDI transmitidos por un secuenciador suelen incluir datos
correspondientes a un gran número de pistas y que, en un momento determinado, puede llegar a existir un gran
número de eventos que deban reproducirse de forma simultánea. En estos casos el retardo introducido por la
transmisión de datos en serie puede llegar a ser claramente perceptible. Para ayudar a reducir la cantidad de datos
transmitidos en el flujo de datos MIDI, se emplea una técnica denominada Ru
Runnnnin
ingg Statu
Statuss.

Esta técnica toma en consideración el hecho de que es muy habitual que en una cadena de mensajes consecutivos,
todos sean del mismo tipo. Por ejemplo, al tocar varios acordes, se generan un montón de mensajes Note On
consecutivos, a los que siguen el montón de datos Note Off correspondientes. El truco consiste en que sólo se
emite el byte de estado cuando el mensaje correspondiente no es del mismo tipo que el mensaje inmediatamente
anterior (en un mismo canal MIDI, claro). Es decir, sólo se transmiten los bytes de datos para todos los mensajes del
mismo tipo.
La efectividad de esta técnica mejora mucho más si en vez de enviar mensajes Note Off, se envían mensajes Note
On con un valor de velocidad de pulsación igual a 0 (técnica utilizada, por ejemplo, en el secuenciador LLogic
ogic
A
Auuddiio
o). De esta forma se producen largas cadenas de menasjes Note On, de transmisión más rápida que las
originales cadenas cortas compuestas por mensajes de distintos tipos.

<<< >>>

© 2002 CSS - Autor: David Mellinas

Este documento (en su totalidad o parcialmente) no puede ser reproducido, copiado, impreso, modificado o
transferido por medios electrónicos; salvo en el caso de su visualización directa en www.css-audiovisual.com. Es
necesario disponer del permiso por escrito del autor si se desea utilizar en cualquier forma parte o la totalidad de
esta documentación.

Las especificaciones de producto están sujetas a cambios sin previo aviso. Los precios son
aproximativos y aparecen en euros sin incluir IVA.

Copyright © 2002-2003 CSS Audiovisual Technology. Todos los derechos reservados.

También podría gustarte