MIDI Control Numbers
Jordi Bartolomé 10-1-2013
  
5-Control Numbers
El siguiente es un listado de los diferentes números de control soportados por los mensajes Control Change del tipo Voice Message. Los últimos números de control de la lista hacen más refrencia al modo de funcionamiento del canal que a las propiedades del sonido y por eso se les agrupa bajo el nombre "Channel Mode Messages". Así, para enetndernos, aqui se distingue entre Control Numbers "Convencionales" y Control Numbers del tipo "Channel Mode Message".

A continuación se listan y describen los diferentes Control Numbers:

   5.1-Control Numbers "convencionales"
       0x00 Control: Bank Select ( byte alto )
       0x01 Control: Modulation Wheel ( byte alto )
       0x02 Control: Breath Controller ( byte alto )
       0x04 Control: Foot Controller ( byte alto )
       0x05 Control: Portamento Time ( byte alto )
       0x06 Control: Data Entry ( byte alto )
       0x07 Control: Channel Volume ( byte alto )
       0x08 Control: Balance ( byte alto )
       0x0A Control: Pan ( byte alto )
       0x0B Control: Volumen de Expresión ( byte alto )
       0x0C Control: Efecto 1 ( byte alto )
       0x0D Control: Efecto 2 ( byte alto )
       0x10 , 0x11 , 0x12 , 0x13 Controles: Slider de Proposito general 1, 2, 3 y 4
       0x20 Control: Bank Select ( byte bajo )
       0x21 Control: Modulation Wheel ( byte bajo )
       0x22 Control: Breath Controller ( byte bajo )
       0x24 Control: Foot Controller ( byte bajo )
       0x25 Control: Portamento Time ( byte bajo )
       0x26 Control: Data Entry ( byte bajo )
       0x27 Control: Channel Volume ( byte bajo )
       0x28 Control: Balance ( byte bajo )
       0x2A Control: Pan ( byte bajo)
       0x2B Control: Volumen de Expresión ( byte bajo)
       0x2C Control: Efecto 1 ( byte bajo)
       0x2D Control: Efecto 2 ( byte bajo)
       0x40 Control: Hold Footswitch 1 ( o Dampp Pedal o Sustain Pedal )
       0x41 Control: Portamento Footswitch
       0x43 Control: Soft Footswitch
       0x44 Control: Legato Footswitch
       0x45 Control: Hold Footswitch 2
       0x46 Control: Sound Controller 1
       0x47 Control: Sound Controller 2
       0x48 Control: Sound Controller 3
       0x49 Control: Sound Controller 4
       0x4A Control: Sound Controller 5
       0x4B Control: Sound Controller 6
       0x4C Control: Sound Controller 7
       0x4D Control: Sound Controller 8
       0x4E Control: Sound Controller 9
       0x4F Control: Sound Controller 10
       0x50 Control: General Purpose Button
       0x52 Control: General Purpose Button
       0x54 Control: Portamento
       0x58 Control: High Resolution Velocity Prefix
       0x5B Control: Effects 1 Depth o Effects Level
       0x5C Control: Effects 2 Depth o Effects Level
       0x5D Control: Effects 3 Depth o Effects Level
       0x5E Control: Effects 4 Depth o Effects Level
       0x5F Control: Effects 5 Depth o Effects Level
       0x60 Control: Data Increment
       0x61 Control: Data Decrement (Data Entry -1)
       0x62 Control: Non-Registered Parameter Number FINE (NRPN)
       0x63 Control: Non-Registered Parameter Number COARSE (NRPN)
       0x64 Control: Registered Parameter Number FINE (RPN)
       0x65 Control: Registered Parameter Number COARSE (RPN)

    5.2-Control Numbers del tipo Channel Mode Message
       0x78 Channel Mode Message: All Sound Off
       0x79 Channel Mode Message: Reset All Controllers
       0x7A Channel Mode Message: Local Control
       0x7B Channel Mode Message: All Notes Off
       0x7C Channel Mode Message: Omni Mode Off + all notes off
       0x7D Channel Mode Message: Omni Mode On + all notes off
       0x7E Channel Mode Message: Mono Mode On
       0x7F Channel Mode Message: Poly Mode On
 
5.1-Control Numbers "convencionales"
El siguiente se el listado de los Control Numbers que hacen referencia a propiedades o características del sonido:
 
0x00 Control: Bank Select ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): este número de control se utiliza como 7 bits altos del control de selección de banco ( el byte bajo es el control número 0x20 ). Por lo general los sintetizadores MIDI permiten seleccionar entre un total de 128 instrumentos, que es el máximo que se puede codificar con el byte de datos del comando Program Change . No obstante podemos conmutar el banco de 128 instrumentos por otro banco con otros 128 instrumentos utilizando los comandos Bank Select ( alto y bajo ) . De este modo , combinando los dos controles de Bank Select ( controles numero 0x00 y 0x20 ) podremos conmutar entre 128 * 128 bancos, que junto con el comando Program Change nos permitirán seleccionar entre un total de 128*128*128 = 2097152 instrumentos. Como la mayoría de dispositivos no tienen más de 128 bancos de instrumentos, suele bastar con utilizar solo el control 0, el de Bank Select ( alto ) para conmutar de banco, dejando siempre a 0 el del control 0x20, es decir el de Bank Select ( bajo ) . Cuando un equipo recibe el comando de cambio del control Bank Select conmuta el banco pero no ha de modificar el instrumento hasta que reciba el comando Program Change de modo que si queremos realizar un cambio de instrumento que se encuentra en otro banco primero deberemos enviar el comando para modificar el control Bank Select, y luego el comando Program Change, y no al reves.
 
0x01 Control: Modulation Wheel ( byte alto ) ( valor de 0-127 como 7 bits altos ): este número de control se corresponde con el valor alto de la rueda de modulación, que generalmente se utiliza para añadir efecto de vibrato. El valor completo de la rueda de modulación se obtiene combinando el valor programado en este número de control, el 0x01 Modulation Wheel ( alto ), con el programado en el número de control 0x21 Modulation Wheel ( bajo ). Combinando el valor alto y bajo del control se pueden codificar valores de 0x0000 a 0x3FFF . Dependiendo del grado de precisión que se necesite se puede dejar siempre a 0 el control correspondiente a los 7 bits bajos y modificar únicamente el correspondiente a los 7 bits altos.
 
0x02 Control: Breath Controller ( byte alto ) ( valor de 0-127 como 7 bits altos ): usado como byte alto del "control de respiración" ( el byte bajo es el control 0x22 ) permite indicar de forma más precisa que el comando Aftertouch la variación de fuerza o presión que se ejerce al interpretar un instrumento, algo especialmente necesario en los instrumentos de viento. Combinando el valor alto y el bajo del control se pueden codificar valores de 0x0000 a 0x3FFF. Dependiendo del grado de precisión que se necesite se puede dejar siempre a 0 el control correspondiente a los 7 bits bajos y modificar únicamente el correspondiente a los 7 bits altos.
 
0x03 Control: No definido
 
0x04 Control: Foot Controller ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): este número de control se corresponde con el valor alto del pedal de control ( que se suele poder configurar para diferentes funcionalidades ). El valor completo del pedal de control se obtiene combinando el valor programado en este número de control, el 0x04 Foot Controller (Alto), con el programado en el número de control 0x24 Foot Controller ( bajo ) .Combinando el valor alto y bajo del control se pueden codificar valores de 0x0000 a 0x3FFF. Dependiendo del grado de precisión que se necesite se puede dejar siempre a 0 el control correspondiente a los 7 bits bajos y modificar únicamente el correspondiente a los 7 bits altos.
 
0x05 Control: Portamento Time ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): este número de control se corresponde con el valor alto del tiempo de portamento, que codifica la velocidad con la que el instrumento varía el tono entre dos notas consecutivas. El valor completo se obtiene combinando el valor programado en este número de control, con el programado en el número de control 0x25 Portamento Time ( bajo ). Combinando el valor alto y bajo del control se pueden codificar valores de 0x0000 a 0x3FFF. Dependiendo del grado de precisión que se necesite se puede dejar siempre a 0 el control correspondiente a los 7 bits bajos y modificar únicamente el correspondiente a los 7 bits altos.
 
0x06 Control: Data Entry ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): usado para establecer el valor alto de algunos parámetros genéricos configurables del sintetizador. Estos pueden ser parámetros fijados por el estándar ( parámetros de tipo REGISTRADO RPM ) u otros particulares del equipo que no vienen fijados por el estándar ( parámetros de tipo NO REGISTRADO NRPM ). Antes de enviar los mensajes Data Entry ( alto ) y Data Entry ( bajo ) hay que establecer el parámetro REGISTRADO o NO REGISTRADO al que se quiere asignar el valor que se va a enviar y para ello hay que utilizar los controles RPN o NRPN ( alto y bajo ). El valor completo del parámetro se obtiene combinando el valor programado en este número de control, con el programado en el número de control 0x26 Data Entry ( bajo ). Combinando el valor alto y bajo del control se pueden codificar valores de 0x0000 a 0x3FFF. Dependiendo del grado de precisión que se necesite se puede omitir el control correspondiente a los 7 bits bajos y modificar únicamente el correspondiente a los 7 bits altos.
 
Así, la secuencia típica de mensajes “Control change” para la modificación de un parámetro REGISTRADO o NO REGISTRADO sería:
 
Control change 101 para RPN, o 99 para NRPN, para indicar los 7 bits de más peso del número de parámetro (MSB)
Control change 100 para RPN, o 98 para NRPN, para indicar los 7 bits de menos peso del número de parámetro (LSB)
Control change 6 Data Entry ( alto ) para indicar el ajuste grueso , los 7 bits de más peso del valor del parámetro (MSB)
( opcional Control change 38 Data Entry ( low ) para indicar el ajuste fino, los 7 bits de menos peso del valor del parámetro (LSB) )
 
Para más información es aconsejable consultar la información referente a los controles 0x62 - 0x63 ( NRPM ) y 0x64 - 0x65 ( RPM )
 
0x07 Control: Channel Volume ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): control que contiene los 7 bits altos del volumen principal del canal del instrumento . En los equipos multitímbricos es posible que el volumen de cada tono se haya de controlar por separado, y en este caso el volumen general del equipo se debería controlar por otro método como p.ej con el mensaje Univesal Sysex Master Volume. Hay que recordar que existen diferentes controles y comandos que pueden influir en el volumen final con que se reproduce una nota. El valor completo del volumen de canal se obtiene combinando el valor programado en este número de control, con el programado en el numero de control 0x27 Channel Volume ( bajo ). Combinando el valor alto y bajo del control se pueden codificar valores de 0x0000 a 0x3FFF. Es frecuente que los dispositivos ignoren el control correspondiente a los 7 bits bajos del volumen y atiendan únicamente al correspondiente a los 7 bits altos.
 
Por tanto hay que distinguir entre volumen de canal ( channel volume ), que se utiliza para controlar el volumen máximo con que puede sonar el instrumento configurado en el canal, el volumen de expresión ( expresion volume ) utilizado para establecer el porcentaje de volumen de canal con que ha de sonar el instrumento en cada instante, y el volumen principal ( master volume ) que fija el volumen máximo con que pueden sonar todos los canales del equipo. Básicamente hay tres controles de volumen: el de expresión, el del canal y el global del instrumento.
 
Para más detalle sobre el control de volumen es aconsejable consultar la información referente a los controles : 0x07- 0x27 Channel Volume y 0x0B - 0x2B Expresion Volume. También hay que mirar el mensaje Universal SysEx Master Volume que controla el volumen global del instrumento.
 
0x08 Control: Balance ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): establece los 7 bits altos del balance del equipo, es decir la relación entre el volumen del sonido entre las dos vias de un equipo estero. Cuando el control toma el valor central 0x2000 la via derecha y la via izquierda deberían sonar con igual intensidad, mientras que los valores más próximos a 0x0000 incrementan el volumen de los sonidos reproducidos por la vía izquierda, y los más próximos a 0x3FFF los más cercanos a la vía derecha. A diferencia del control de pan, el control de balance no mueve la señal de un lado a otro sino que únicamente sube o baja el volumen de la fuente derecha o la fuente izquierda según lo especificado. El valor completo del balance se obtiene combinando el valor programado en este número de control, con el programado en el número de control 0x28 Balance ( bajo ). Combinando el valor alto y bajo del balance se pueden codificar valores de 0x0000 a 0x3FFF. Se puede dar que algunos equipos ignoren el control correspondiente a los 7 bits bajos y utilicen sólo los 7 bits altos. En este caso el valor establecido en el control de los 7 bits altos ha de ser 64 para ajustar el sonido en el centro, 0 para ajustarlo al máximo a la izquierda y 127 para ajustarlo al máximo a la derecha.
 
0x09 Control: No definido
 
0x0A Control: Pan ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): establece los 7 bits altos del pan. El pan es la posición de la señal estero en las vias de salida de audio, de forma que cuando el pan toma el valor mínimo ( 0x0000 ) toda la señal de la via derecha se desplaza a la via izquierda, mientras que cuando toma el valor máximo ( 0x3FFF ) toda la señal de la via izquierda se desplaza a la via derecha. El valor central ( 0x2000 ) es aquel en el que cada vía se reproduce por su canal. A diferencia del control de balance el control de pan desplaza la señal de una vía a otra mientras que la de balance lo único que hace es ajustar la relación de volumen de ambas. El valor completo del control de pan se obtiene combinando el valor programado en este número de control, con el programado en el número de control 0x2A Pan ( bajo ). Combinando el valor alto y bajo del pan se pueden codificar valores de 0x0000 a 0x3FFF. Se puede dar el caso de que algunos equipos ignoren el numero de control correspondiente a los 7 bits bajos y utilicen sólo los 7 bits altos. En este caso el valor establecido en el control de los 7 bits altos ha de ser 64 para ajustar el sonido en el centro, 0 para desplazar toda la señal de la vía derecha a la vía izquierda y 127 para desplazar toda la señal de la vía izquierda a la vía derecha.
 
0x0B Control: Volumen de Expresión ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): establece los 7 bits altos del control volumen de expresión. El control de volumen de expresión puede ser un pedal u otro dispositivo que sirva para ajustar el volumen de un instrumento de forma proporcional al volumen configurado en el volumen de canal ( Channel Volume ), de modo que cuando este control toma el valor mínimo, el volumen del instrumento toma el valor mínimo del volumen de canal, mientras que cuando el control toma el valor máximo el volumen del instrumento toma el valor máximo configurado en el volumen de canal. Es decir el volumen de canal sirve para fijar volumen máximo con que puede sonar el instrumento configurado en ese canal, mientras que el volumen de expresión sirve para ajustar la intensidad con que suena el instrumento ( crescendos y decrecendos ) en proporción al volumen de canal configurado . El hecho de que el volumen de expresión y el de canal se configuren de forma independiente facilita y aumenta las posibilidades de control y simplifica mucho el tratamiento de ambos.
 
En otras palabras, el volumen de expresión es el porcentaje de volumen de canal con que se interpreta el instrumento. El valor completo del control volumen de expresión se obtiene combinando el valor programado en este número de control, con el programado en el número de control 0x2B Expresión ( bajo ). Combinando el valor alto y bajo del control de expresión se pueden codificar valores de 0x0000 a 0x3FFF. Cuando el control volumen de expresión toma el valor 0x3FFF el volumen del instrumento toma el valor configurado en volumen de canal (100% del Channel Volume), si toma el valor 0x2000 toma como valor la mitad del volumen de canal ( 50% del Channel Volume ) , y cuando toma el valor 0x0000 toma el valor mínimo ( 0% del Channel Volume ).
 
Se puede dar el caso de que algunos equipos ignoren el control correspondiente a los 7 bits bajos y utilicen sólo los 7 bits altos. En este caso, el valor establecido en el control de los 7 bits altos ha de ser 64 para ajustar el volumen de expresión a la mitad del volumen del canal, 0 para ajustar el volumen de expresion al minimo y 127 para ajustar el volumen de expresion del instrumento al valor del volumen de canal.
 
Hay que distinguir entre el volumen de canal ( channel volume ) que se utiliza para controlar el volumen máximo con que puede sonar el instrumento configurado en un canal, el volumen de expresión ( expresión volume ) utilizado para establecer el porcentaje de volumen de canal con que ha de sonar el instrumento en cada instante, y el volumen principal ( master volume ) que fija el volumen máximo con que pueden sonar todos los canales del equipo.
 
Para más detalle sobre el control de volumen es aconsejable consultar la información referente a los controles : 0x07- 0x27 Channel Volume y 0x0B - 0x2B Volumen de Expresión . También hay que mirar el mensaje Universal SysEx Master Volume que controla el volumen principal del instrumento.
 
0x0C Control: Efecto 1 ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): establece los 7 bits altos del control de efectos 1 del canal ( p.ej el delay, o el reverb ). El valor completo del control de efecto 1 ( o primer efecto genérico ) se obtiene combinando el valor programado en este número de control, con el programado en el número de control 0x2C Efecto 1 ( bajo ). Combinando el valor alto y bajo del control de efecto 1 se pueden codificar valores de 0x0000 a 0x3FFF siendo 0x0000 el valor de efecto 1 mínimo, y 0x3FFF el valor de efecto 1 máximo.
 
0x0D Control: Efecto 2 ( byte alto ) ( valor de 0 a 127 como 7 bits altos ): establece los 7 bits altos del control de efectos 2 del canal ( p.ej el delay, o el reverb ). El valor completo del control de efecto 2 ( o segundo efecto genérico ) se obtiene combinando el valor programado en este número de control, con el programado en el número de control 0x2D Efecto 2 ( bajo ). Combinando el valor alto y bajo del control de efecto 2 se pueden codificar valores de 0x0000 a 0x3FFF siendo 0x0000 el valor de efecto 2 mínimo, y 0x3FFF el valor de efecto 2 máximo.
 
0x0E Control: No definido
0x0F Control: No definido
 
0x10 , 0x11 , 0x12 , 0x13 Controles: Slider de Proposito general 1, 2, 3 y 4 ( valor de 0 a 127 ) : establece el valor de los sliders 1, 2, 3 y 4 asociados al canal. 0 se corresponde con el valor mínimo del efecto y 127 con el valor máximo del efecto.
 
0x14 Control: No definido
0x15 Control: No definido
0x16 Control: No definido
0x17 Control: No definido
0x18 Control: No definido
0x19 Control: No definido
0x1A Control: No definido
0x1B Control: No definido
0x1C Control: No definido
0x1D Control: No definido
0x1E Control: No definido
0x1F Control: No definido

0x20 Control: Bank Select ( byte bajo ) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo del control de selección de banco.
 
0x21 Control: Modulation Wheel ( byte bajo ) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo de la rueda de modulación.
 
0x22 Control: Breath Controller ( byte bajo ) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo del control de respiración.
 
0x23 Control: No definido
 
0x24 Control: Foot Controller ( byte bajo ) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo del pedal de control.
 
0x25 Control: Portamento Time ( byte bajo ) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo del tiempo de portamento.
 
0x26 Control: Data Entry ( byte bajo ) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo del ajuste de parámetros registrados y no registrados. Ver control “0x06 Control: Data Entry ( byte alto )”
 
0x27 Control: Channel Volume ( byte bajo ) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo del volumen general del equipo. Para más detalle es aconsejable consultar la información referente a los controles : 0x07- 0x27 Channel Volume y 0x0B - 0x2B Volumen de Expresión .
 
0x28 Control: Balance ( byte bajo ) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo del control de balance.
 
0x2A Control: Pan ( byte bajo) ( valor de 0 a 127 como 7 bits bajos) : es el valor bajo del control de pan.
 
0x2B Control: Volumen de Expresión ( byte bajo) ( valor de 0 a 127 como 7 bits bajos): es el valor bajo del volumen de expresión. Para más detalle es aconsejable consultar la información referente a los controles : 0x07y 0x27 de Channel Volume y 0x0B y 0x2B de Volumen de Expresión .
 
0x2C Control: Efecto 1 ( byte bajo) ( valor de 0 a 127 como 7 bits bajos): es el valor bajo del control de Effecto 1 ( o primer efecto genérico ) .
 
0x2D Control: Efecto 2 ( byte bajo) ( valor de 0 a 127 como 7 bits bajos): es el valor bajo del control de Effecto 2 ( o segundo efecto genérico ) .
 
0x2E Control: No definido
0x2F Control: No definido
0x30 Control: No definido
0x31 Control: No definido
0x32 Control: No definido
0x33 Control: No definido
0x34 Control: No definido
0x35 Control: No definido
0x36 Control: No definido
0x37 Control: No definido
0x38 Control: No definido
0x39 Control: No definido
0x3A Control: No definido
0x3B Control: No definido
0x3C Control: No definido
0x3D Control: No definido
0x3E Control: No definido
0x3F Control: No definido
 
0x40 Control: Hold Footswitch 1 ( o Dampp Pedal o Sustain Pedal ) ( valor de 0 a 127, [0 a 63] = off [64 a 127] = on ): establece el estado del primer Hold Pedal el cual se utiliza para mantener el sonido de la nota aunque esta se haya dejado de pulsar. Lo que se hace es retrasar la ejecución del comando Note Off hasta que se haya soltado el pedal. El pedal tiene dos estados: desactivado ( off ) y activado ( on ) , el valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x41 Control: Portamento Footswitch ( valor de 0 a 127, [0 a 63] = off [64 a 127] = on ): utilizado para activar o desactivar el efecto de portamento. El efecto de portamento es la transición gradual entre notas las sucesivas notas de una melodía. El control tiene dos estados: desactivado ( off ) y activado ( on ). El valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x42 Control: Sostenuto Footswitch ( valor de 0 a 127, [0 a 63] = off [64 a 127] = on ): el control de sostenuto ( que no pedal de sostenido ) es un control que se utiliza para hacer sustain sólo de las notas que están pulsadas en el momento en que se suelta este pedal. De este modo el sustain sólo afecta a las notas pulsadas antes de soltar el pedal, y no a las notas que se puedan pulsar posteriormente, lo que permite mantener estas notas sonando simultáneamente a modo de acorde y tocar la melodía sobre estas posteriormente. El control tiene dos estados: desactivado ( off ) y activado ( on ). El valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x43 Control: Soft Footswitch( valor de 0 a 127, [0 a 63] = off [64 a 127] = on ): mientras está activado, este control apaga o baja el volumen de las notas que estan sonando. El control tiene dos estados: desactivado ( off ) y activado ( on ) . El valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x44 Control: Legato Footswitch ( valor de 0 a 127, [0 a 63] = off [64 a 127] = on ): al activarse, este control hace que las notas se reproduzcan de forma ligada sin que haya pausa entre ellas, de forma que las notas han de sonar consecutivamente sin que haya silencio entre ellas. El control tiene dos estados: desactivado ( off ) y activado ( on ). El valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x45 Control: Hold Footswitch 2 ( o Dampp Pedal o Sustain Pedal ) ( valor de 0 a 127, [0 a 63] = off [64 a 127] = on ) : establece el estado del segundo Hold Pedal, que al igual que el primero se utiliza para sostener la nota aunque esta se haya dejado de pulsar. Lo que se hace es retrasar la ejecución del comando Note Off hasta que se haya soltado el pedal. El pedal tiene dos estados desactivado ( off ) y activado ( on ) , el valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x46 Control: Sound Controller 1 ( por defecto Sound Variation ) ( valor de 0 a 127 ) : este control se puede mapear a cualquier parámetro relacionado con el sonido del instrumento. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x47 Control: Sound Controller 2 ( por defecto Timbre/Harmonic Intensity ) ( valor de 0 a 127 ) : este control se puede mapear a cualquier parámetro relacionado con el sonido del instrumento, y generalmente se utiliza para ajustar el grado de atenuación del filtro de harmónicos del instrumento ( grado de atenuación de los harmónicos situados más allá de la frecuencia configurada mediante el control 0x4A ) . Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x48 Control: Sound Controller 3 ( por defecto Release Time ) ( valor de 0 a 127 ) : este control se puede mapear a cualquier parámetro relacionado con el sonido del instrumento, y generalmente se utiliza para ajustar la duración de la fase de relajamiento de la nota ( fase release del modulador de envolvente ADSR ) y que se corresponde con el momento en que se suelta la tecla que genera dicha nota. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x49 Control: Sound Controller 4 ( por defecto Attack Time ) ( valor de 0 a 127 ) : este control se puede mapear a cualquier parámetro relacionado con el sonido del instrumento, y generalmente se utiliza para ajustar la duración de la fase de ataque de la nota ( fase attack del modulador de envolvente ADSR ) y que se corresponde con la inercia inicial de pulsación de la tecla que genera dicha nota. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x4A Control: Sound Controller 5 ( por defecto Brightness ) ( valor de 0 a 127 como 7 bits bajos ) : este control se puede mapear a cualquier parámetro relacionado con el sonido del instrumento, y generalmente se utiliza para ajustar la frecuencia de corte del filtro de harmónicos del instrumento, es decir para establecer a partir de que frecuencia se atenuarán los harmónicos ( la rampa o grado con que estos se atenúa se suele establecer con el control 0x47 ). Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x4B Control: Sound Controller 6 ( por defecto Decay Time ) ( valor de 0 a 127 ) : este control se puede mapear a cualquier parámetro relacionado con el sonido del instrumento, y generalmente se utiliza para ajustar la duración de la fase de decaimiento de la nota ( fase decay del modulador de envolvente ADSR ) y que se corresponde con la etapa de transición entre el ataque y el sostenimiento, en que la nota pasa de la inercia inicial de la pulsación al estado de mantenimiento mientras es pulsada. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x4C Control: Sound Controller 7 (default: Vibrato Rate ) ( valor de 0 a 127 ) : este control se puede mapear a cualquier parámetro relacionado con el sonido del instrumento, y generalmente se utiliza para ajustar el grado de vibrato. El vibrato es una ligera oscilación continuada en el tono de la nota. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x4D Control: Sound Controller 8 (default: Vibrato Depth ) ( valor de 0 a 127 ) : este control se puede mapear a cualquier parámetro relacionado con el sonido del instrumento, y generalmente se utiliza para ajustar la profundidad del vibrato. El vibrato es una ligera oscilación continuada en el tono de la nota, y este número de control se puede utilizar para ajustar la profundidad de esta oscilación. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x4E Control: Sound Controller 9 (default: Vibrato Delay ) ( valor de 0 a 127 ) : mediante este control se puede modificar cualquier parámetro relacionado con el sonido del instrumento, y generalmente se utiliza para ajustar el retraso del vibrato. El vibrato es una ligera oscilación continuada en el tono de la nota. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x4F Control: Sound Controller 10 (default :No definido ) ( valor de 0 a 127 ) : mediante este control se puede modificar cualquier parámetro relacionado con el sonido del instrumento. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo y 127 el máximo.
 
0x50 Control: General Purpose Button ( valor de 0 a 127 como 7 bits bajos , [0 a 63] = off [64 a 127] = on ) : usado para definir el estado a on/off de algún parámetro interno del equipo. Por tanto este control se puede utilizar para modificar el estado de alguna variable del equipo que admita estados del tipo activado/desactivado, o encendido/apagado. El valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x51 Control: General Purpose Button ( valor de 0 a 127 como 7 bits bajos , [0 a 63] = off [64 a 127] = on ) : usado para definir el estado a on/off de algún parámetro interno del equipo. Por tanto este control se puede utilizar para modificar el estado de alguna variable del equipo que admita estados del tipo activado/desactivado, o encendido/apagado. El valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x52 Control: General Purpose Button ( valor de 0 a 127 como 7 bits bajos , [0 a 63] = off [64 a 127] = on ) : usado para definir el estado a on/off de algún parámetro interno del equipo. Por tanto este control se puede utilizar para modificar el estado de alguna variable del equipo que admita estados del tipo activado/desactivado, o encendido/apagado. El valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x53 Control: General Purpose Button ( valor de 0 a 127 como 7 bits bajos , [0 a 63] = off [64 a 127] = on ) : usado para definir el estado a on/off de algún parámetro interno del equipo. Por tanto este control se puede utilizar para definir el estado de variables del equipo que admitan estados del tipo activado/desactivado, o encendido/apagado. El valor off se codifica mediante cualquier valor comprendido entre 0 y 63, mientras que el valor on se codifica mediante cualquier valor comprendido entre 64 y 127.
 
0x54 Control: Portamento (valor de 0 a 127 como 7 bits bajos , [0 a 63] = off [64 a 127] = on ) : para definir el valor del efecto de portamento. El portamento es un efecto que consiste en variar progresivamente la frecuencia entre dos notas sucesivas, de forma que si la frecuencia de la primera nota es mayor que la de la segunda la frecuencia disminuirá progresivamente hasta alcanzar la frecuencia de la 2a. Si en cambio la frecuencia de la primera nota es menor que la de la segunda la frecuencia aumentará progresivamente hasta alcanzar la frecuencia de la 2a. Esto suaviza la transición entre notas. Mediante este control se puede codificar la velocidad con que se producirá la transición entre ambas notas y puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo o más lento y 127 el máximo o más rápido.
 
0x55 Control: No definido
0x56 Control: No definido
0x57 Control: No definido
 
0x58 Control: High Resolution Velocity Prefix ( valor de 0 a 127 ) : Este control permite ajustar con mayor precisión la velocidad de los eventos Note On, los cuales por defecto solo cuentan con valores de velocidad de 0 a 127. Así con este control obtenemos 7 bits extra de precisión obteniendo 14 bits para definir la velocidad del evento de activación de una nota. Para utilizarlo hay que enviar este mensaje antes del mensaje de activación de la nota ( Note On ) y solo afectara a esta nota. Los 7 bits del evento Note On se utilizan como bits altos de la velocidad, mientras que los 7 bits de este comando se utilizan como 7 bits bajos.
 
0x59 Control: No definido
0x5A Control: No definido
 
0x5B Control: Effects 1 Depth o Effects Level ( valor de 0 a 127 ) : para definir el valor de algún efecto, y suele utilizarse para definir el nivel del efecto de Reverb. El Reverb consiste en una ligera permanencia del sonido una vez que la fuente original ha dejado de emitirlo, y se debe a la reflexión de las ondas acústicas producidas por la fuente de sonido. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo del efecto y 127 el máximo.
 
0x5C Control: Effects 2 Depth o Effects Level ( valor de 0 a 127 ) : para definir el valor de algún efecto, y suele utilizarse para definir el nivel del efecto de Trémolo. El trémolo es la oscilación continuada del volumen o intensidad de la nota. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo del efecto y 127 el máximo.
 
0x5D Control: Effects 3 Depth o Effects Level ( valor de 0 a 127 ) : para definir el valor de algún efecto, y suele utilizarse para definir el nivel del efecto de Chorus. El efecto de Chorus consiste en transformar el sonido original para dar la impresión de que está compuesto por varias fuentes de sonido simultáneas, es decir, como si estuviera siendo tocado en coro. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo del efecto y 127 el máximo.
 
0x5E Control: Effects 4 Depth o Effects Level ( valor de 0 a 127 ) : para definir el valor de algún efecto, aunque generalmente suele utilizarse para definir el nivel del efecto de Celeste - Detune. El efecto Celeste es un efecto de interferencia que se produce en algunos instrumentos cuando sus componentes se encuentran desafinados ( p.ej. se produce en algunos órganos en que los tubos están ligeramente desafinados ). Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo del efecto y 127 el máximo.
 
0x5F Control: Effects 5 Depth o Effects Level ( valor de 0 a 127 ) : para definir el valor de algún efecto, aunque generalmente suele utilizarse para definir el nivel del efecto de Phaser. Puede tomar cualquier valor comprendido entre el 0 y 127, siendo 0 el valor mínimo del efecto y 127 el máximo.
 
0x60 Control: Data Increment (Data Entry +1) ( por defecto es 0 ) : este número de control se utiliza siempre después de un mensaje de parámetro registrado o parámetro no registrado ( RPM registered parameter message, o NRPM non registered parameter ) para incrementar el valor del número del control indicado por estos. Es decir, permite incrementar ( en pasos sucesivos de +1 ) el valor del control establecido en el mensaje RPM-NRPM previo. El campo de valor en este comando no tiene utilidad y por defecto es 0.
 
0x61 Control: Data Decrement (Data Entry -1) ( por defecto es 0 ) : este número de control se utiliza siempre después de un mensaje de parámetro registrado o parámetro no registrado ( RPM registered parameter message, o NRPM non registered parameter ) para decrementar el valor del número de control indicado por estos. Es decir, permite decrementar ( en pasos sucesivos de -1 ) el valor del control establecido en el mensaje RPM-NRPM previo. El campo de valor en este comando no tiene utilidad y por defecto es 0.
 
0x62 Control: Non-Registered Parameter Number FINE (NRPN) ( valor de 0 a 127 como 7 bits bajos ) : usado para indicar los 7 bits bajos del número de parámetro NO REGISTRADO al que afectarán los controles Data Increment, Data Decrement o Data Entry. Los parámetros NO REGISTRADOS funcionan igual que los REGISTRADOS, y la única diferencia es que no están definidos por el estándar MIDI sino por los fabricantes para atender a peculiaridades de su producto. Así antes de llamar a alguno de los controles Data Increment, Data Decrement o Data Entry, deberemos indicar el Non-Registered Parameter Number ( COARSE y FINE ) sobre el que actuarán. Este control define los 7 bits bajos ( FINE ) y puede tomar cualquier valor de 0 a 127 y se combinan con los 7 bits altos ( COARSE ) del control Non - Registered Parameter Number COARSE, permitiendo seleccionar entre un total de 16384 parámetros.
 
Para más información consultar el control “0x06 Control: Data Entry “
 
0x63 Control: Non-Registered Parameter Number COARSE (NRPN) ( valor de 0 a 127 como 7 bits altos ) : usado para indicar los 7 bits altos del parámetro NO REGISTRADO al que afectarán los controles Data Increment, Data Decrement o Data Entry. Los parámetros NO REGISTRADOS funcionan igual que los REGISTRADOS, y la única diferencia es que no están definidos por el estándar MIDI sino por los fabricantes para atender a peculiaridades de su producto. Así antes de llamar a alguno de los controles Data Increment, Data Decrement o Data Entry, deberemos indicar el Non-Registered Parameter Number ( COARSE y FINE ) sobre el que actuarán. Este define los 7 bits altos ( COARSE ) y puede tomar cualquier valor de 0 a 127 y se combinan con los 7 bits bajos ( FINE ) del control Non - Registered Parameter Number FINE, permitiendo seleccionar entre un total de 16384 parámetros.
 
0x64 Control: Registered Parameter Number FINE (RPN) ( valor de 0 a 127 como 7 bits bajos ) : usado para indicar los 7 bits bajos del parámetro REGISTRADO MIDI al que afectarán los controles Data Increment, Data Decrement o Data Entry. La tabla “Registered Parameters” muestra algunos de los parámetros registrados que establece MIDI. Así antes de llamar a alguno de estos controles, deberemos indicar el Registered Parameter Number ( COARSE y FINE ) sobre el que actuarán. Este define los 7 bits bajos ( FINE ) y puede tomar cualquier valor de 0 a 127 y se combinan con los 7 bits altos ( COARSE ) del control Registered Parameter Number COARSE, permitiendo seleccionar entre un total de 16384 parámetros.
 
0x65 Control: Registered Parameter Number COARSE (RPN) ( valor de 0 a 127 como 7 bits altos ) : usado para indicar los 7 bits altos del parámetro REGISTRADO MIDI al que afectan los controles Data Increment, Data Decrement o Data Entry. La tabla “Registered Parameters” muestra algunos de los parámetros registrados que establece MIDI. Así, antes de llamar a alguno de estos controles, deberemos indicar el Registered Parameter Number ( COARSE y FINE ) sobre el que actuarán. Este define los 7 bits altos ( COARSE ) y puede tomar cualquier valor de 0 a 127 y se combinan con los 7 bits bajos ( FINE ) del control Registered Parameter Number FINE, permitiendo seleccionar entre un total de 16384 parámetros.
 
Tabla “Registered Parameters”
MSB - LSB
0x00 - 0x00 Pitch Bend Sensitivity MSB = +/- semitones LSB =+/--cents
0x00 - 0x01 Channel Fine Tuning (formerly Fine Tuning - see MMA RP-022) Resolution 100/8192 cents
0x00 - 0x02 Channel Coarse Tuning
0x00 - 0x03 Tuning Program Change Tuning Program Number
0x00 - 0x04 Tuning Bank Select Tuning Bank Number
0x00 - 0x05 Modulation Depth Range
... reservados para un futuro ....
0x3D - 0x00 AZIMUTH ANGLE
0x3D - 0x01 ELEVATION ANGLE
0x3D - 0x02 GAIN
0x3D - 0x03 DISTANCE RATIO
0x3D - 0x04 MAXIMUM DISTANCE
0x3D - 0x05 GAIN AT MAXIMUM DISTANCE
0x3D - 0x06 REFERENCE DISTANCE RATIO
0x3D - 0x07 PAN SPREAD ANGLE
0x3D - 0x08 ROLL ANGLE
... reservados para un futuro ....
 
0x7F - 0x7F Null Function Number for RPN/NRPN . Setting RPN to 7FH,7FH will disable the data entry, data increment, and data decrement controllers until a new RPN or NRPN is selected.
 
0x66 Control: No definido
0x67 Control: No definido
0x68 Control: No definido
0x69 Control: No definido
0x6A Control: No definido
0x6B Control: No definido
0x6C Control: No definido
0x6D Control: No definido
0x6E Control: No definido
0x6F Control: No definido
0x70 Control: No definido
0x71 Control: No definido
0x72 Control: No definido
0x73 Control: No definido
0x74 Control: No definido
0x75 Control: No definido
0x76 Control: No definido
0x77 Control: No definido

 
5.2-Control Numbers del tipo Channel Mode Messages
Según el estándar MIDI, los controles comprendidos entre 0x78 y 0x7F se corresponden con los Channel Mode Messages, que aunque tienen el mismo formato que los controles anteriores, refieren al modo de funcionamiento del canal, más que a propiedades del sonido.
 
0x78 Channel Mode Message: All Sound Off ( valor no se usa ) : ordena la finalización inmediata del sonido de todas las notas que aún esten reproduciéndose, es decir enmudece todas las notas que se hayan comenzado a reproducir por haber recibido su mensaje Note On, pero de las cuales aún no hemos recibido su Note Off. La diferencia con el mensaje All Notes Off está en que ordena el apagado inmediato del sonido, sin considerar el estado de otros parámetros que pudieran afectar a la duración de la nota. Su campo de valor no se utiliza y por defecto se suele dejar a 0.
 
0x79 Channel Mode Message: Reset All Controllers ( valor no se usa ) : como su nombre indica resetea todos los controladores, es decir los inicializa a su valor por defecto. Su campo de valor no se utiliza y se suele dejar a 0.
 
0x7A Channel Mode Message: Local Control ( valor 0:On y 127:Off ) : este parámetro sirve para especificar el modo de control de los circuitos de sítnesis del instrumento. Así cuando Local Control está a on, si el usuario pulsa teclas o modifica el estado de algún potenciómetro, el instrumento enviará los comandos MIDI y generará los sonidos que corresponda. Cuando Local Control este a off, el instrumento unicamente enviará ,o responderá ante comandos MIDI externos, pero no ante la pulsación de las teclas o controles locales. Puede tomar dos valores 0 para indicar que Local Control esta a off y 127 para indicar que está a on.
 
0x7B Channel Mode Message: All Notes Off ( valor no se usa ) : ordena la finalización de las notas que esten aún en reprodución, y hace actuar al dispositivo como si hubiera recibido los comandos Note Off de las notas de las que ha recibido el Note On ( pero aún no el Note Off ). Por tanto se finalizan las notas pero se tienen en cuenta otros parámetros que pudieran afectar a la duración de la nota, como p.ej el pedal de Hold On, es decir que a diferencia de “All Sound Off” no fuerza el apagado immediato del sonido. Su campo de valor no se utiliza y por defecto se suele dejar a 0.
 
0x7C Channel Mode Message: Omni Mode Off + all notes off ( valor no se usa ): como su nombre indica, desactiva el modo MIDI OMNI y también ejecuta la operación All Notes Off. Cuando el modo OMNI está en OFF el dispositivo sólo acepta los comandos MIDI dirigidos al canal en que ha sido configurado, es decir, únicamente escucha y actúa ante a los mensajes MIDI que corresponden al canal que se le ha programado. Su campo de valor no se utiliza y por defecto se suele dejar a 0.
 
0x7D Channel Mode Message: Omni Mode On + all notes off ( valor no se usa ): como su nombre indica, activa el modo MIDI OMNI y también ejecuta la operación All Notes Off. Cuando el modo OMNI está en ON el dispositivo acepta todos los comandos MIDI que le llegan independientemente del canal al que vayan dirigidos, es decir escucha y responde a todos los mensajes MIDI. Esto es muy práctico cuando tenemos un único equipo MIDI conectado ya que evita tener que configurar el canal destino y origen en los diferentes dispositivos que vayamos a utilizar. En cambio puede ser un problema cuando tengamos varios dispositivos encadenados en el bus, ya que ambos interpretaran que los comandos son para ellos y responderán simultáneamente a ellos. Su campo de valor no se utiliza y por defecto se suele dejar a 0.
 
0x7E Channel Mode Message: Mono Mode On (+ poly off, + all notes off) ( valor de 0 a 16 ) : este comando sirve para activar el modo monofóncio e indicar también el número de canales MIDI a los que ha de responder el dispositivo ( de 1 al 16 ), de forma que se podrá mapear una voz ( en un principio monofónica ) distinta en cada uno de los diferentes canales, tantos como el instrumento permita, hasta un máximo de 16. Es decir, con eset control se le indica al instrumento a que canales ha de responder, y va de 1 hasta el valor indicado. Si el valor es 0 significa que el instrumento ha de responder a todos los canales que pueda. Obviamente este comando sólo es válido cuando está desactivado el modo Omni ( en el modo Omni no se distinguen los números de canales y se responde a todos los mensajes independientemente del canal al que vayan dirigidos ).
 
0x7F Channel Mode Message: Poly Mode On (+ mono off, + all notes off) ( valor no se usa ): activa el modo polifónico y desactiva el monofónico.
Página anterior (pag 3/4)   Volver al índice
Regresar al índice de documentos