You are on page 1of 5

MIDI Continuous Controllers

RESUMEN PRACTICO MIDI

A MIDI continuous controller command consists of the MIDI controller command followed by two data bytes that specify the controller number and the controller's value: 0xb0 | channel = 0 .. 127 = 0 .. 127 = Controller Number Hex Dec Controller MIDI continuous controller command MIDI continuous controller number MIDI continuous controller value Name Data Range 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0=left 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127 0..127

00 0 Bank Select (coarse) 01 1 Modulation Wheel (coarse) 02 2 Breath Control (coarse) 03 3 Continuous controller #3 04 4 Foot Controller (coarse) 05 5 Portamento Time (coarse) 06 6 Data Entry Slider (coarse) 07 7 Main Volume (coarse) 08 8 Stereo Balance (coarse) 09 9 Continuous controller #9 0A 10 Pan (coarse) 64=center 127=right 0B 11 Expression (sub-Volume) (coarse) 0C 12 Effect Control 1 (coarse) 0D 13 Effect Control 2 (coarse) 0E 14 Continuous controller #14 0F 15 Continuous controller #15 10 16 General Purpose Slider 1 11 17 General Purpose Slider 2 12 18 General Purpose Slider 3 13 19 General Purpose Slider 4 14 20 Continuous controller #20 15 21 Continuous controller #21 16 22 Continuous controller #22 17 23 Continuous controller #23 18 24 Continuous controller #24 19 25 Continuous controller #25 1A 26 Continuous controller #26 1B 27 Continuous controller #27 1C 28 Continuous controller #28 1D 29 Continuous controller #29 1E 30 Continuous controller #30 1F 31 Continuous controller #31 20 32 Bank Select (fine) usually ignored 21 33 Modulation Wheel (fine) 22 34 Breath Control (fine) 23 35 Continuous controller #3 (fine) 24 36 Foot Controller (fine) 25 37 Portamento Time (fine) 26 38 Data Entry Slider (fine) 27 39 Main Volume (fine) usually ignored 28 40 Stereo Balance (fine) 29 41 Continuous controller #9 (fine) 2A 42 Pan (fine) usually ignored 2B 43 Expression (sub-Volume) (fine) usually ignored 2C 44 Effect Control 1 (fine) 2D 45 Effect Control 2 (fine) 2E 46 Continuous controller #14 (fine) 2F 47 Continuous controller #15 (fine) 30 48 Continuous controller #16 31 49 Continuous controller #17 32 50 Continuous controller #18 33 51 Continuous controller #19 34 52 Continuous controller #20 (fine) 35 53 Continuous controller #21 (fine) 36 54 Continuous controller #22 (fine) 37 55 Continuous controller #23 (fine) 38 56 Continuous controller #24 (fine) 39 57 Continuous controller #25 (fine) 3A 58 Continuous controller #26 (fine) 3B 59 Continuous controller #27 (fine) 3C 60 Continuous controller #28 (fine) 3D 61 Continuous controller #29 (fine) 3E 62 Continuous controller #30 (fine) 3F 63 Continuous controller #31 (fine)

40 64 Hold pedal (Sustain) on/off 0..63=off 64..127=on 41 65 Portamento on/off 0..63=off 64..127=on 42 66 Sustenuto Pedal on/off 0..63=off 64..127=on 43 67 Soft Pedal on/off 0..63=off 64..127=on 44 68 Legato Pedal on/off 0..63=off 64..127=on 45 69 Hold Pedal 2 on/off 0..63=off 64..127=on 46 70 Sound Variation 0..127 47 71 Sound Timbre 0..127 48 72 Sound Release Time 0..127 49 73 Sound Attack Time 0..127 4A 74 Sound Brighness 0..127 4B 75 Sound Control 6 0..127 4C 76 Sound Control 7 0..127 4D 77 Sound Control 8 0..127 4E 78 Sound Control 9 0..127 4F 79 Sound Control 10 0..127 50 80 General Purpose Button 0..63=off 64..127=on 51 81 General Purpose Button 0..63=off 64..127=on 52 82 General Purpose Button 0..63=off 64..127=on 53 83 General Purpose Button 0..63=off 64..127=on 54 84 Undefined on/off 0..63=off 64..127=on 55 85 Undefined on/off 0..63=off 64..127=on 56 86 Undefined on/off 0..63=off 64..127=on 57 87 Undefined on/off 0..63=off 64..127=on 58 88 Undefined on/off 0..63=off 64..127=on 59 89 Undefined on/off 0..63=off 64..127=on 5A 90 Undefined on/off 0..63=off 64..127=on 5B 91 Effects Level 0..127 5C 92 Tremulo Level 0..127 5D 93 Chorus Level 0..127 5E 94 Celeste (Detune) Level 0..127 5F 95 Phaser Level 0..127 60 96 Data entry +1 ignored 61 97 Data entry -1 ignored 62 98 Non-Registered Parameter Number (coarse)0..127 63 99 Non-Registered Parameter Number (fine) 0..127 64 100 Registered Parameter Number (coarse) 0..127 65 101 Registered Parameter Number (fine) 0..127 66 102 Undefined ? 67 103 Undefined ? 68 104 Undefined ? 69 105 Undefined ? 6A 106 Undefined ? 6B 107 Undefined ? 6C 108 Undefined ? 6D 109 Undefined ? 6E 110 Undefined ? 6F 111 Undefined ? 70 112 Undefined ? 71 113 Undefined ? 72 114 Undefined ? 73 115 Undefined ? 74 116 Undefined ? 75 117 Undefined ? 76 118 Undefined ? 77 119 Undefined ? 78 120 All Sound Off ignored 79 121 All Controllers Off ignored 7A 122 Local Keyboard On/Off 0..63=off 64..127=on 7B 123 All Notes Off ignored 7C 124 Omni Mode Off ignored 7D 125 Omni Mode On ignored 7E 126 Monophonic Mode On ** 7F 127 Polyphonic Mode On (mono=off) ignored

**Note: This equals the number of channels, or zero if the number of channelsequals the number of voices in the receiver.

RESUMEN PRACTICO MIDI


22 - Armnica 53 - Coro Oohs 86 - Solo 7 (quintas) 87 - Solo 8 (metal y solo) 88 - Fondo 1 (nueva era) 89 - Fondo 2 (clido) 115 Caja de madera 116 Caja Taiko 117 Timbal meldico 118 Caja sintetizad a

Instrumentos GENERAL MIDI


Estos son los 128 instrumentos de la especificacin GENERAL MIDI, incluida en la especificacin detallada MIDI 1.0, del ingls "Complete MIDI 1.0 detailed specification": 00 - Piano de cola acstico 01 - Piano acstico brillante 32 - Bajo acstico 64 - Saxofn soprano 96 Efecto 1 (lluvia) 23 - Bandonen 54 - Coro sintetizado 24 - Guitarra espaola 25 - Guitarra acstica 55 - Golpe Orquestral 56 - Trompeta

33 - Bajo 65 - Saxofn alto elctrico pulsa 97 do Efecto 2 66 - Saxofn (banda tenor sonora) 02 - Piano de 34 - Bajo cola elctrico elctrico 67 - Saxofn punteado 98 bartono Efecto 3 03 (cristales Piano Honky 35 - Bajo sin ) 68 - Oboe tonk trastes 04 - Piano Rhodes 36 - Bajo golpeado 1 99 69 - Corno ingls Efecto 4 (atmsfera ) 70 - Fagot 71 - Clarinete 72 - Flautn 73 - Flauta travesera 100 Efecto 5 (brillo) 101 Efecto 6 (duendes)

26 - Guitarra 57 - Trombn elctrica (jaz z) 58 - Tuba 27 - Guitarra elctrica (limpia) 28 - Guitarra elctrica (tapada o muteada) 29 - Guitarra saturada (overdrive) 30 - Guitarra distorsionada 31 - Armnicos de guitarra 59 - Trompeta con sordina 60 - Corno francs

90 - Fondo 3 (polisintetizador 119 ) Platillo invertido 91 - Fondo 4 (coro) 92 - Fondo 5 (de arco) 120 Trasteo de guitarra 121 Sonido de respiraci n 122 Playa 123 Piada de pjaro 124 Timbre de telfono 125 Helicpter o 126 Aplauso 127 Disparo de fusil

61 - Seccin de metales 93 - Fondo 6 (metlico) 62 - Metales sintetizados 1 63 - Metales sintetizados 2 94 - Fondo 7 (celestial) 95 - Fondo 8 (escobillas)

05 - Piano con 37 - Bajo "chorus" golpeado 2 06 - Clavecn 07 - Clavinet 08 - Celesta 09 - Glockenspiel 10 - Caja de msica 11 - Vibrfono 12 - Marimba 13 - Xilfono 14 - Campanas tubulares 15 - Dulcmele 16 - rgano Hammond 17 - rgano percusivo 18 - rgano de rock 19 - rgano de iglesia 20 - Armonio 21 - Acorden 44 - Cuerdas con trmolo 45 - Cuerdas con pizzicato 46 - Arpa 47 - Timbales 48 - Conjunto de cuerda 1 49 - Conjunto de cuerda 2 50 - Cuerdas sintetizadas 1 51 - Cuerdas sintetizadas 2 52 - Coro Aahs 38 - Bajo sintetizado 1 39 - Bajo sintetizado 2 40 - Violn 41 - Viola 42 - Violonchelo 43 - Contrabajo

102 Efecto 74 - Flauta dulce 7 (ecos) 75 - Flauta de pan 76 - Botella 103 Efecto 8 (ciencia ficcin) 104 Sitar

77 - Shakuhachi (fla 105 Banjo uta japonesa) 78 - Silbato 79 - Ocarina 106 Shamisen 107 Koto

80 - Solo 1 (onda 108 Kalimba cuadrada) 81 - Solo 2 (diente de sierra) 82 - Solo 3 (rgano de vapor) 83 - Solo 4 (siseo) 84 - Solo 5 (charango) 85 - Solo 6 (voz) 109 Gaita 110 Violn celta 111 Shanai 112 Campanilla s 113 Agog 114 Cajas metlicas

Modos MIDI
Dentro del sistema MIDI, se decidi crear una serie de diferentes modos de funcionamiento, cada uno con ciertas caractersticas. Antes de verlo, debemos diferenciar entre los siguientes conceptos:

Monofnico: un instrumento monofnico slo puede

reproducir una nota simultneamente. Es decir, para reproducir una nueva nota debe primero dejar de sonar

RESUMEN PRACTICO MIDI


la anterior. Por ejemplo, los instrumentos de viento son monofnicos, ya que slo reproducen un nico sonido cada vez.

valor de velocidad de pulsacin para controlar la amplitud o volumen del sonido. Al soltar la tecla, el controlador emite un mensaje Note Off, que tambin incluye bytes de datos para el nmero de nota y la velocidad con que se ha soltado la tecla (este ltimo dato habitualmente se ignora). Aftertouch Algunos instrumentos MIDI cuentan con la capacidad de medir la cantidad de presin que se aplica sobre las teclas, cuerdas, etc, una vez han sido pulsadas. Esta informacin sobre la cantidad de presin aplicada, denominadaAftertouch, se utiliza para controlar algunos aspectos del sonido producido por el generador correspondiente (por ejemplo, vibrato). Si el instrumento controlador dispone de sensores de presin independientes para cada tecla, etc., la informacin "polifnica" resultante se transmite como mensajes del tipo Polyphonic Key Pressure. Estos incluyen bytes de datos independientes para el nmero de tecla y la cantidad de presin. Lo ms habitual es que los teclados incorporen un solo nivel de presin para todo el teclado (no uno para cada tecla). Quizs la excepcin ms notable a esta regla establecida tcitamente por la mayora de los fabricantes de sintetizadores sean los instrumentos de la firma Ensoniq, que si incorporan Polyphonic Key Pressure. Esta informacin de "presin por canal" (Channel Aftertouch) se transmite mediante el mensaje Channel Pressure, que slo necesita un byte da datos para especificar el valor de presin. Pitch Bend El mensaje Pitch Bend se enva normalmente a partir del movimiento aplicado sobre la rueda de inflexin tonal que incorporan la inmensa mayora de los teclados actuales (o a partir de "tirar" de las cuerdas en una guitarra MIDI, por ejemplo). Esta informacin 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 slo uno, con lo que se dispone de una mayor resolucin a la hora de definir los movimiento realizados sobre la rueda correspondiente (para que el sonido resultante sea continuo y no d la sensacin de moverse de forma escalonada). Program Change Este mensaje se utiliza para indicar el tipo de sonido a emplear en un canal determinado. Slo precisa de un byte de datos que se encarga de especificar el nuevo nmero de programa. Control Change Estos mensajes MIDI se usan para controlar una gran variedad de funciones de un sintetizador. Como los restantes mensajes de canal, slo afectan al canal especificado mediante el byte de estado. A continuacin del byte de estado aparecen un byte de datos que indica el nmero de controlador y un segundo byte de datos que indica el valor a aplicar. El nmero de controlador identifica qu funcin del generador de sonido se va a controlar. En laEspecificacin MIDI aparece una lista completa de los nmeros de controlador definidos. Bank Select El controlador nmero 0 (con el valor 32 como LSB) se encarga de la seleccin de bancos de sonidos. Esta funcin se utiliza, junto con el mensaje de cambio de programa, para poder acceder a un mayor nmero 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 Control Change 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 Especificacin MIDI no describe la forma en que los bancos de un sintetizador deben relacionarse con los mensajes de seleccin de banco, no existe una forma estandar de seleccionar un banco en todos los sintes del mercado. Algunos fabricantes como Roland (con su estndar GS) y Yamaha (no podan ser menos, ellos cuentan con el estndar XG), han adoptado lo que les ha parecido

Polifnico: un instrumento polifnico puede

reproducir varias notas simultneamente. Un ejemplo es un piano, que puede formar acordes por medio de hacer sonar dos o ms notas a la vez.

Una vez aclarado este aspecto, podemos resumir los modos MIDI en la siguiente tabla: Tabla 2. Modos de funcionamiento MIDI Nmero 1 Nombre Omni on / poly Omni on / mono Omni off / poly Omni off / mono Descripcin Funcionamiento polifnico sin informacin de canal Funcionamiento monofnico sin informacin de canal Funcionamiento polifnico con mltiples canales Funcionamiento monofnico con mltiples canales

Mensajes MIDI
Un mensaje MIDI se compone de un byte de estado de 8 bits a continuacin del cual aparecen, por regla general, uno o dos bytes de datos. Existen distintos tipos de mensajes MIDI que, en su nivel ms alto, se clasifican como Mensajes de canal o Mensajes de sistema. Los mensajes de canal, como su nombre indica, son aquellos aplicables a un canal concreto y contienen el nmero de canal en su byte de estado. Los mensajes de sistema no estn dirigidos a ningn canal concreto por lo que no incluyen nmero de canal en su byte de estado. Los mensajes de canal pueden clasificarse, adems, en dos tipos: Channel Voice y Mode. Los primeros incluyen datos referentes a la interpretacin musical (la inmensa mayora de los datos de un flujo de seal MIDI tpico) 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 informacin sobre la interpretacin musical. Entre los mensajes englobados en esta categora estn: Note On, Note Off, Polyphonic Key Pressure, Channel Pressure, Pitch Bend Change, Program Change, Control Change, etc. Note On, Note Off, Velocity 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 travs 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 nmero de canal seleccionado. Siguen a este byte de estado dos bytes de datos que especifican el nmero de tecla (indicando qu nota se ha pulsado) y el valor de velocidad de pulsacin (Velocity) que indica lo fuerte que se ha pulsado la tecla. El generador de sonido que recibe el mensaje utiliza el nmero de tecla para determinar qu nota debe sonar y el

ms apropiado para asegurar una mnima estandarizacin en cuanto a la seleccin de bancos de sonidos en sus respectivas gamas.

RESUMEN PRACTICO MIDI

transferir bytes de datos formateados segn una especificacin diseada por ese fabricante. System Common Actualmente estn definidos los mensajes MTC Quarter Frame, Song Select, Song Position Pointer, Tune Request y End Of Exclusive (EOX). El mensaje MTC Quarter Frame forma parte de la informacin de cdigo de tiempo MIDI utilizada para la sincronizacin de equipos MIDI con sistemas de audio y video. El mensaje Song Select es utilizado por secuenciadores y cajas de ritmo capaces de almacenar varias composiciones distintas. Song Position Pointer se usa para iniciar la reproduccin en un secuenciador; siempre en un punto distinto al inicio de la composicin. Su valor est relacionado con el nmero de pulsaciones de reloj MIDI transcurridas desde el punto inicial de la composicin. Este mensaje slo puede ser utilizado con dispositivos capaces de reconocer mensajesSystem Real Time (MIDI Sync). Tune Request se utiliza habitualmente para que un sintetizador analgico proceda a recalibrar la afinacin de sus osciladores. Este mensaje carece de utilidad en el caso de los sintes digitales. El mensaje EOX sirve para indicar la finalizacin de un flujo de datos de Sistema Exclusivo. System Real Time Estos mensajes tienen por fin la sincronizacin de todos los elementos de un sistema MIDI que funcionen mediante reloj MIDI (secuenciadores, cajas de ritmo, arpegiadores, etc.). Para asegurar una correcta temporizacin, 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.Timing Clock es el reloj master que define el tempo de reproduccin de una secuencia. Se transmite 24 veces por cada nota negra. Los mensajes Start, Continue y Stop se utilizan para controlar la reproduccin. Active Sensing sirve al propsito de eliminar notas "colgadas" que pueden aparecer al desconectar un cable MIDI durante la reproduccin. Sin esta funcin, 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 Reset, se encarga de reinicializar cualquier dispositivo MIDI. Por la importancia de sus efectos, generalmente no se transmite de forma automtica; el usuario debe iniciar su emisin de forma manual. System Exclusive 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 cdigo de identificacin nico garantizado por la MMA y el JMSC. Esta ID del fabricante, incorporada en cada mensaje de Sistema Exclusivo, precede a los distintos paquetes de datos, a continuacin de los cuales aparece el mensaje EOXmencionado anteriormente, con el que finaliza la transmisin de datos. Los fabricantes estn 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 nmeros de identificacin estn reservados para protocolos especiales, entre los que figuran elEstndar para volcado de muestras MIDI (MIDI Sample Dump Standard), un formato de datos de Sistema Exclusivo dedicado a la transmisin de datos entre muestreadores; as como MIDI Show Control y MIDI Machine Control. Running Status

RPN, NRPN El controlador nmero 6 (Data Entry), junto con los controladores nmeros 96 (Data Increment), 97 (Data Decrement),98 (Registered Parameter Number LSB), 99 (Registered Parameter Number MSB), 100 (NonRegistered Parameter Number LSB) y 101 (Non-Registered Parameter Number MSB), permiten aumentar la cantidad de controladores disponibles. Los datos se transmiten seleccionando primero el nmero del parmetro a editar utilizando los controladores 98 y 99 100 y 101. Luego se procede a definir el valor del parmetro utilizando los controladores 6, 96 o 97. RPN y NRPN se utilizan habitualmente para enviar datos de parmetros a un sinte para la edicin de sonidos. LosNmeros de parmetro registrados (Registered Parameter Number - RPN) son aquellos a los que las organizaciones MIDI Manufacturers Association (MMA) y Japan MIDI Standards Committee (JMSC) han asignado alguna funcin particular. Por ejemplo, existen RPNs definidos para controlar la sensibilidad de pitch bend y la afinacin general de un sinte. Por su lado, los no registrados (Non-Registered Parameter Number - NRPN) no tienen asignada ninguna funcin especfica y pueden ser utilizados de forma distinta segn el fabricante. De nuevo en este caso Roland y Yamaha, entre otros, han adoptado sus propios estndares. Mensajes Mode Estos mensajes (controladores 121 al 127) afectan a la forma en que el generador de sonidos responde a los datos MIDI. El controlador 121 se utiliza para reinicializar todos los valores. El 122, para activar o desactivar la funcin Local Control (en un sinte MIDI con teclado, es posible independizar las funciones del teclado y el generador de sonidos desactivando esta funcin, facilitando as su funcionamiento con un secuenciador externo). Los controladores 124 a 127se utilizan para activar o desactivar el modo Omni y para seleccionar los modos Mono o Poly. Cuando est activado el modo Omni, el generador de sonidos responde a los mensajes MIDI recibidos por todos los canales. Si est desactivado, el generador slo responder a los mensajes recibidos por un canal especfico. En el modo Poly, los mensajes Note On entrantes se reproducen de forma polifnica, lo que significa que cuando se reciben mltiples mensajes Note On, a cada nota se le asigna su propia voz (dependiendo siempre del nmero de voces disponibles en ese momento en el generador de sonidos). As, por ejemplo, al tocar un acorde sonarn todas las notas de forma simultnea. Al seleccionar el modo Mono, se asigna una sola voz por cada canal MIDI. La mayora de los instrumentos MIDI actuales funcionan por defecto en la configuracin Omni On/Poly. El generador reproduce los mensajes de nota recibidos en cualquiera de los canales de forma polifnica. Por otra parte, la combinacin Omni Off/Poly puede resultar til en el caso que varios generadores de sonido estn conectados en cadena mediante sus puertos MIDI Thru, ya que cada uno de ellos recibir los datos en un canal especfico y reproducir las notas de forma polifnica. Hay que tener en cuenta que cualquier instrumento MIDI dispone de un canal designado como Canal bsico y que slo recibir los mensajes de cambio de modo a travs de este canal. Esta asignacin puede ser fija o seleccionable por el usuario. Mensajes System Los mensajes de sistema se subdividen en mensajes System Common, System Real Time, o System Exclusive. Los primeros estn destinados a todos los recpetores del sistema; los segundos se utilizan para la sincronizacin de los elementos que funcionan mediante un reloj temporizador. Por su parte, los mensajes de Sistema Exclusivo incluyen un cdigo de identificacin del fabricante y se utilizan para

RESUMEN PRACTICO MIDI


Como los datos MIDI se transmiten en forma serial, es muy posible que dos o ms eventos musicales que se produzcan en el mismo momento, al ser enviados uno detrs de otro, no se reproduzcan exactamente en el mismo instante. Con una velocidad de transmisin de datos de 31.25 Kbits/seg. y 10 bits transmitidos por cada byte, la transmisin de un mensaje Note On o Note Off de 3 bytes dura aproximadamente 1 milisegundo. Desde luego, generalmente esto es lo suficientemente rpido como para que esos eventos se perciban como simultneos, aunque a nivel de nmeros no sea as. Por ejemplo, se puede decir que ningn teclista es capaz de percibir ese pequeo desfase al tocar 10 teclas de forma simultnea, 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 nmero de pistas y que, en un momento determinado, puede llegar a existir un gran nmero de eventos que deban reproducirse de forma simultnea. En estos casos el retardo introducido por la transmisin 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 tcnica denominada Running Status. Esta tcnica toma en consideracin 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 montn de mensajes Note On consecutivos, a los que siguen el montn de datos Note Off correspondientes. El truco consiste en que slo 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, slo se transmiten los bytes de datos para todos los mensajes del mismo tipo. La efectividad de esta tcnica mejora mucho ms si en vez de enviar mensajes Note Off, se envan mensajes Note On con un valor de velocidad de pulsacin igual a 0 (tcnica utilizada, por ejemplo, en el secuenciador Logic Audio). De esta forma se producen largas cadenas de menasjes Note On, de transmisin ms rpida que las originales cadenas cortas compuestas por mensajes de distintos tipos.

You might also like