Sintetizadores

MIDI Local Control on/off y los modos MIDI (mode change)

28/05/2015 por Pablo Fernández-Cid

Enterrados bajo la misma cabecera que los ‘controller change’, un grupo de mensajes MIDI permite la elección del modo y el ajuste ‘local control’. Especialmente este último aspecto es crucial en el uso de sintes HW con DAWs.

Recordatorio sobre los mensajes CC (control change)

[Índice]

En este otro artículo ya habíamos presentado la estructura de los mensajes de cambio de controlador. Como podéis recordar allí constan de tres bytes: Bn cc vv (escribo en hexadecimal). El primero identifica a todos los mensajes de controlador y define qué canal MIDI se usa. El segundo indica el número del controlador (que puede valer desde 00 a 7F en hex, o lo que es lo mismo 0 hasta 127 en decimal) y el tercero la posición del control (nuevamente entre 0 y 127). Por ejemplo B0 07 7F se ‘lee’ así

B0: inicio de mensaje de controlador en el canal de número ‘0’ (que es el canal MIDI 1)
07: el nº de controlador es el 7 (volumen)
7F: corresponde al valor decimal 127 (es decir, lleva el volumen al máximo)

Los ¿controladores? 120 a 123

[Índice]

Centrándonos en lo que hoy queremos destacar, los últimos números de controlador tienen definidos unos significados especiales. Os indico su número decimal (acompañado en paréntesis de su representación hexadecimal) más un comentario sobre qué es cada uno.

120 (78 hex) - All sounds off. Se debe enviar con el valor 0 en el tercer byte. Silencia todas las notas que se encuentren sonando en ese momento, cortando incluso sus colas de eco, reverb, etc.

121 (79 hex) - Reset all controllers. Se debe enviar con el valor 0 en el tercer byte. Da lugar a una vuelta a reposo de todos los controladores.

122 (7A hex) - Local control on/off. Lo comentamos en un apartado específico, es el centro del artículo de hoy. Se debe enviar como valor 0 para dejarlo en ‘off’, o 127 (7F hex) para dejarlo en ‘on’.

123 (7B hex) - All notes off. Se debe enviar con el valor 0 en el tercer byte. Silencia todas las notas que se encuentren sonando en ese momento, como si hubiera note off para cada (sin anular sus colas de eco, reverb…).

El uso de esas ‘puestas a cero’ de notas y controladores es habitual, por ejemplo, en el arranque de los MIDI Files (y sería sana costumbre también en nuestras propias secuencias, aunque la mayoría de los entornos DAW pueden confirgurarse para generar este tipo de mensajes al rearrancar un tema).

Local control on/off: un parámetro importante

[Índice]

Quería especialmente parar en ‘local on/off’, un parámetro que es importante conocer y aplicar adecuadamente. Se suele encontrar en los menús de ajustes ‘globales’ o ‘de sistema’ de cada sintetizador. El control 'local' actúa como un conmutador que decide si la información de control del propio sinte es o no circulada hacia su generador de sonido interno. Veamos las consecuencias de ajustar 'local on' (que es el valor por defecto en los sintes) o 'local off', y la utilidad que tiene este último.

Local on

Hemos de pensar que en los teclados sintetizadores hay una parte encargada de la generación del sonido (el sintetizador propiamente dicho) y otra parte (teclas, botones, potenciómetros, panel…) encargada de irle diciendo al generador de sonido qué es lo que hay que hacer en cada momento (qué notas tocar o qué parámetro modificar). En condiciones normales (local on), la información que generan el teclado y los controles llega al generador de sonido y lo que interpretamos en las teclas y potenciómetros puede ser oído interpretado por el generador de sonido.

Con ‘local on’, además de esa ejecución ‘instantánea’ por el generador de sonido interno al sintetizador, las acciones sobre las teclas y demás controles son comunicadas a través de la conexión MIDI Out. Por otra parte, cualquier información que llegue vía MIDI In y por el canal/es adecuado/s, será combinada con la que producen las teclas y controles propios y será también ejecutada por el generador de sonido.

Local off

El parámetro local puede sin embargo modificarse al valor off, para desacoplar ambas cuestiones, de tal forma que la información del teclado y controles propios no llegan al generador de sonido, y sólo son comunicados hacia el exterior vía MIDI.

En esa situación ‘local off’ el generador de sonidos sólo interpretará lo que le llegue por vía MIDI In. Por tanto no sonaría lo que estemos ejecutando en el propio teclado, a no ser que externamente lleváramos, por ejemplo con un cable MIDI, lo que sale por Out de vuelta hacia In (tal como he representado en la figura).

Esto permite en el fondo separar las funciones como teclado/controlador (que irían dirigidas hacia MIDI Out) de las funciones como generador de sonido (sólo vinculadas a MIDI In). El uso es especialmente importante en conjunción con secuenciadores / DAWs.

Local off y DAWs

[Índice]

El interés principal del uso de ‘local off’ llega cuando pensamos en el uso con un secuenciador externo, típicamente a día de hoy algún DAW con capacidad multipista, y en un generador de sonido que a menudo es multicanal y multitímbrico. Un sintetizador multitímbrico/multicanal permite crear reuniones de sonidos que responden a diferentes canales MIDI (piano en canal 1, bajo en 2, etc.). Pero el teclado interno estará normalmente disparando el sonido asociados a un canal ‘base’, quedando los demás a disposición de que un secuenciador/DAW externo los controle.

Los sistemas DAW permiten activar la función ‘soft-thru’ por la cualquier información MIDI que se recibe en el puerto MIDI In asociado a la pista que está seleccionada en cada momento se copia hacia la salida MIDI que corresponde a esa pista, pero asegurando previamente que se ‘recoloca’ en el canal que esté especificado para uso por esa pista. Esa función 'Soft-thru' nos cubre el papel del cable que situaba en la figura anterior, pero con el valor extra de esa reasignación del nº de canal.

De esa forma, las notas y demás información generadas por el teclado (que estarán produciéndose por su canal MIDI básico) llegan al DAW, se ‘reubican’ en el canal que corresponda a la pista y se pueden devolver hacia el generador de sonido. Se consigue así que cada vez que cambiamos de una pista a otra, automáticamente el sonido que interpretamos desde el teclado corresponda al timbre de cada pista. No ha sido necesario intervenir en el teclado, ni cambiar el canal pror el que este transmite, sencillamente seleccionando cada pista disponemos automáticamente de la posibilidad de interpretar su sonido.

En los sintetizadores se puede configurar el parámetro local a on o a off (cada uno en el menú apropiado, generalmente en algún tipo de ajuste general / global / sistema). También existe la posibilidad de usar un mensaje MIDI para controlar esa misma cuestión (tal como hemos comentado anteriormente).

Los peligros de un 'local' loco

[Índice]

Si nos olvidamos de ajustar 'local off' cuando liguemos un sinte multicanal a un DAW el resultado será que el sintetizador hará sonar su propio sonido y también el 'eco' MIDI instantáneo (quizá cambiado de número de canal) que produce el DAW. Si el eco llega por otro canal oiremos sonar los dos sonidos simultánemente. Si llega por el mismo notaremos una bajada de polifonía y un cambio de timbre notable debido a las cancelaciones de fase que introducirá la duplicación tan próxima de las notas. Esos síntomas son fáciles de reconocer y delatan con claridad que nos hemos olvidado de desactivar el 'local control'.

A la inversa, si tras tener unido el teclado a un DAW lo intentamos usar otro día por sí mismo de forma autónoma y no nos acordamos de volver a situar 'local on' observaremos que lo que ejecutamos al teclado no llega a sonar. El teclado se queda mudo aparentemente.

En definitiva, tened siempre claro dónde tenéis la posibilidad de controlar este ajuste, que es esencial poder alterar según el entorno en el que vayamos a trabajar.

Los cambios de modo (124 a 127)

[Índice]

Quedaban por detallar los últimos 4 números de ‘controlador’: 124 a 127, que forman un grupo todavía más especial. Se llaman mensajes de cambio de modo (mode change). Determinan cómo escucha cada sintetizador los mensajes que vengan por un puerto MIDI y sus 16 canales. Como son mensajes que están desde la primera especificación MIDI, las posibilidades que definen los modos son acordes al contexto de 1983, marcado por sintes monofónicos y los primeros polifónicos (pocos de ellos multitímbricos) y algunas pueden extrañar a quien sólo conozca sintes más recientes.

En cualquier sintetizador se presupone que se ha definido/ajustado uno de los 16 canales como canal ‘base’ (seleccionable en su panel o menús). Será el canal por el que recibirá / transmitirá normalmente los mensajes de su propio teclado y controles.

Los mensajes ‘mode change’ con número 124 y 125 regulan el uso de modo ‘omni off’ o bien ‘omni on’. Cuando se activa ‘omni on’ el sintetizador ejecuta indistintamente lo que llegue por cualquiera de los 16 canales MIDI. Está pensado para sintes que van a poder reproducir un único sonido. Era una facilidad para que sonara siempre en una conexión MIDI con otro teclado y el usuario no tuviera que preocuparse por ajustar correctamente el número de canal. Personalmente casi nunca le he encontrado especial interés. El modo ‘omni off’ hace que la información de cada canal se atienda de forma individualizada y es lo que más habitualmente usaremos. Es también el comportamiento ‘por defecto’ en la mayoría de los sintetizadores. Y en particular es esencial con los sintes multitímbricos capacitados para hacer sonar diferentes timbres en reacción a diferentes canales.

Los mensajes con 126 (poly mode on) y 127 (mono mode on) controlan el carácter polifónico o monofónico del canal al que corresponda ese mensaje. El paso a ‘mono’ informa al sintetizador de la posibilidad de usar toque legato, evitando el redisparo de envolventes, etc.

La norma MIDI vincula estos dos aspectos (onmi y mono/poly) y define cuatro formas de trabajo:

Modo 1 (Omni on, poly) => se recibe polifónicamente y llegue por el canal que llegue (como transmisor: sale todo por el canal base)

Modo 2 (Omni on, mono) => se recibe monofónicamente y llegue por el canal que llegue (como transmisor: una sola voz con toque monofónico por el canal base)

Modo 3 (Omni off, poly) => prevista inicialmente para recibir polifónicamente a través exclusivamente del canal base.

Modo 4 (Omni off, mono) => es un modo muy peculiar y poco frecuente hoy (pero sí presente en sintes antiguos como SixTrack de Sequential, y en algún equipo guitarra-midi) que consiste en usar desde el canal base monofónicamente tantos canales como indica el 3er byte del mensaje.

Si nos situamos en la realidad más habitual a día de hoy, con sintes multicanal y multitímbricos, realmente se puede atender canal polifónicamente (o alguno/s de ellos monofónicamente si así lo deseamos) con su propio sonido cuando usamos los modos multicanal conocidos como combis, performances, multis, etc. (como transmisor, estos sintes generalmente envían todo por el canal base). Pero ojito con algunos de los sintes antiguos (80s...) que recuperamos del baúl de los recuerdos. Estas cuestiones pueden ser importantes con ellos.

Si vamos al detalle en sí de los mensajes:

  • 124 (7C hex) - Omni mode off (+all notes off). Se debe enviar con el valor 0 en el tercer byte. Junto con el cambio que anula el modo omni, el sintetizador está obligado a realizar el final de todas las notas (es como si este mensaje incorporara un ‘all notes off’)
  • 125 (7D hex) - Omni mode on (+all notes off). Se debe enviar con el valor 0 en el tercer byte. Nuevamente incorpora la acción ‘all notes off’.
  • 126 (7E hex) - Mono mode on (+all notes off). Se debe enviar con el valor 0 en el tercer byte. Nuevamente incorpora la acción ‘all notes off’.
  • 127 (7F hex) - Poly mode on (+all notes off). Se debe enviar como tercer byte un valor entre 0 y 16. Si es 0 el sintetizador usará tantos canales como voces haya disponibles en el sinte, desde el canal base al 16 como máximo. Si es un valor de 1 a 16, el sintetizador usará ese nº de voces desde el canal base hasta el 16 como máximo.

Ya hemos indicado que la realidad actual supera esta visión ‘1983’ y permite el uso de modos multitímbricos / multicanal con mucha mayor flexibilidad. Como siempre, habrá que estar a las instrucciones detalladas de cada equipo, pero como regla general deberíamos mantener el modo ‘omni off’ que se aplica por defecto, y podremos en cada canal usar individualmente la característica poly/mono, sin estar sometidos a ese condicionante ‘arcaico’ que hemos mencionado para el mensaje ‘poly mode on’ en su redacción/intención original (al estilo del mencionado 'SixTrack' de Sequential).

El próximo sábado 13 de junio de 2015 impartiré una masterclass sobre 'MIDI: mensajes y arquitecturas' en la que daremos un repaso profundo a los mensajes MIDI y las formas de conexión. Será en Madrid, de 16 a 20 horas. Tenéis más detalles y precio en mi web www.cicloquintas.es Aforo limitado a seis plazas (y la mitad ya están adjudicadas, por cierto).

Te puede interesar