Cómo hablar MIDI

Dec 04 2022
Originalmente escribí este artículo en mayo de 2019, pero lo trasladé aquí después de dejar de usar mi antiguo sitio web. ¡Disfrutar! Contenido Apéndice I: Mensajes de modo de canal Apéndice II: Tabla de tonos MIDI Apéndice III: Asignaciones de CC estándar Apéndice IV: Mensajes de cambio de banco Apéndice V: Recursos adicionales MIDI es antiguo, pero muy útil.

Originalmente escribí este artículo en mayo de 2019, pero lo trasladé aquí después de dejar de usar mi antiguo sitio web. ¡Disfrutar!

Contenido

  1. Qué es MIDI
    1.1 Qué no es MIDI
  2. Cómo funciona
    2.1 Separación de mensajes
    2.2 Bytes de estado y bytes de datos
  3. Tipos de mensajes
    3.1 Nota desactivada / Nota activada (0x8n, 0x9n)
    → 3.1.1 Acerca de los números de tono MIDI
    3.2 Cambio de control (0xBn)
    3.3 Inflexión de tono (0xEn)
    3.4 Presión de tecla polifónica y presión de canal (0xAn, 0xDn)
    3.5 Cambio de programa (0xCn )
    3.6 Sistema (0xFn)
  4. Acerca del hexadecimal
  5. Ejemplo aplicado: Quinta sinfonía de Beethoven
  6. Lección adicional: Estado de ejecución

Apéndice I: Mensajes de modo de canal
Apéndice II: Tabla de tonos MIDI
Apéndice III: Asignaciones de CC estándar
Apéndice IV: Mensajes de cambio de banco
Apéndice V: Recursos adicionales

MIDI es antiguo, pero muy útil. Maneja los teclados que ves en Guitar Center, controla cosas como la iluminación y la pirotecnia en los conciertos¹, y se ha utilizado para componer prácticamente todas las películas en las últimas décadas.

Si eres un músico moderno, un conocimiento práctico de MIDI es esencial. Si usted es el tipo de persona que lee publicaciones de blog como estas, es muy probable que ya tenga algo de experiencia trabajando con él; sin embargo, creo que es útil saber no solo cómo usarlo, sino también cómo leerlo, poco a poco. Traducir y ensamblar sus propios mensajes MIDI puede sonar abrumador al principio, pero en realidad es muy fácil y creo que es una habilidad importante para cualquier compositor moderno. Es similar a saber cómo funcionan los micrófonos como ingeniero de grabación.

Este artículo servirá como una introducción completa y una guía para los mensajes MIDI en su aplicación a la producción musical. Lo que esta guía no es es un tutorial sobre composición MIDI, o cómo usar el editor MIDI en tu DAW. Sin embargo, esta guía está absolutamente dirigida a los compositores, ya que encontrará que un conocimiento fundamental de MIDI será de gran ayuda al descubrir sus herramientas MIDI más avanzadas (y complicadas). Empecemos.

El Prophet 600 fue uno de los primeros sintetizadores que admitió MIDI.

1. Qué es MIDI

Me gusta empezar a enseñar las cosas desde el principio. Sin embargo, si ya tiene claro qué es MIDI y qué hace, no dude en pasar a Cómo funciona , donde nos sumergiremos directamente en los aspectos prácticos. De lo contrario, repasemos.

MIDI es un acrónimo que significa "Interfaz digital de instrumentos musicales". Esencialmente, es una forma en que las computadoras describen y transmiten actuaciones musicales entre sí. En realidad, es el camino. Si nació después de los años 80, probablemente todos los teclados o cajas de ritmos que haya visto utilicen MIDI. Si bien se han realizado muchos intentos para revisar o reemplazar MIDI a lo largo de los años, a los fabricantes y desarrolladores de instrumentos realmente no parece importarles usar nada más.

Con MIDI, puede:

  • Graba actuaciones musicales y edítalas con precisión quirúrgica
  • "Agregar" una interpretación a cualquier instrumento con poco o ningún trabajo
  • Generar o resecuenciar actuaciones de manera procesal
  • Organiza actuaciones de conjunto con una sola conexión
  • Realice una mezcla rudimentaria, completa con "automatización"

Y eso si la partitura se interpreta. Mientras que las orquestas virtuales de los años 80 sonaban ridículamente falsas, los instrumentos modernos suenan tan bien que los oyentes casuales ni siquiera notan la diferencia. Y eso ha cambiado todo. En películas y programas de televisión de bajo presupuesto, la banda sonora suele utilizar orquestas MIDI en la versión final, y el público no se da cuenta. Y, sorprendentemente, estas herramientas están disponibles para músicos de casi todos los niveles de ingresos.

1.1 Lo que no es MIDI

Antes de continuar, quiero disipar un par de conceptos erróneos que a veces tienen los recién llegados. No tomará mucho tiempo.

Primero, MIDI no hace música: solo le dice a otros dispositivos cómo hacer música. Pero también puede hacer otras cosas. Por ejemplo, en el software de video profesional, los mensajes MIDI se usan para controlar cosas como los parámetros de animación. Muchas superficies de control de estudio usan MIDI para controlar el software de mezcla, y esta elegante pianola lo usa para activar actuadores robóticos. El punto que estoy tratando de hacer es que mientras que los datos MIDI se usan predominantemente para controlar instrumentos virtuales, en realidad se pueden usar para cualquier cosa y no “suena” como algo por sí solo.

Las herramientas que utiliza un compositor MIDI abstraen el código de la computadora en algo más fácil de visualizar. (Captura de pantalla de Nuendo 8)

En segundo lugar, los datos MIDI no son solo "partituras para computadoras", por muy útil que pueda ser la analogía. Si bien las partituras occidentales son el medio que ha codificado toda la música más expresiva de la historia, la verdad es que deja un espacio considerable para la interpretación, y las computadoras no manejan muy bien la ambigüedad.

En su lugar, probablemente se considere mejor a MIDI como un lenguaje de programación y a su editor MIDI como un entorno de programación visual. Los editores MIDI representan los comandos MIDI como formas en rollos de piano, en lugar de lo que realmente son: instrucciones digitales glorificadas. Y como todos los lenguajes de programación, MIDI está sujeto a todo tipo de errores y fallas. Por ejemplo, si un mensaje de "nota activada" no se combina correctamente con una "nota desactivada", entonces la nota seguirá sonando para siempre, porque las computadoras carecen del sentido común para detenerse.

De todos modos, estoy cansado de escribir esta introducción. Quitemos todas esas capas de abstracción y aprendamos, en un nivel fundamental, cómo hablar MIDI.

2. Cómo funciona

Como casi todo en las computadoras, MIDI se reduce a un montón de unos y ceros. Cada dígito se llama bit (abreviatura de "dígito binario") y ocho de ellos forman un byte . Cuando toca un piano digital, los mensajes MIDI se generan internamente y se envían al generador de tonos del instrumento, donde se interpretan y convierten en sonido audible. Si echaste un vistazo a la señal, los mensajes generados podrían verse así:

Esta es la forma binaria de una interpretación MIDI simple: las primeras cuatro notas de la Quinta de Beethoven. Si grabara esta secuencia y la repitiera en otro instrumento MIDI exactamente como se entregó, el resultado sería una copia idéntica de la interpretación. Si te metiste con el tiempo, cambiarías el ritmo de la actuación. Todo lo demás sobre el rendimiento está codificado en los propios datos.

Es algo interesante darse cuenta de que los compositores de hoy en día básicamente dedican su tiempo a crear, editar y ajustar lo que se reduce a una entrega cronometrada de números. De todos modos, analicemos la tarea de interpretar este lío, paso a paso.

2.1 Separación de mensajes

Lo primero que debe saber acerca de los mensajes MIDI es que casi siempre abarcan más de un byte. Esto tiene sentido si considera que solo hay 256 números únicos de 8 bits, y probablemente necesitemos codificar mucha más información para describir algo tan expresivo como un evento musical.

Entonces, si recibe un mensaje en varios paquetes pequeños, posiblemente todos a la vez, ¿cómo sabe dónde termina un mensaje y comienza el siguiente? De manera realista, si sabe cuántos bytes esperar por mensaje y comienza en la parte superior, debería poder diferenciarlos, siempre que ninguno de ellos se pierda en la transmisión. Sin embargo, MIDI nos ofrece una forma segura de analizar cada mensaje: dedicando el primer bit de cada byte a la causa.

REGLA 1: Si el primer bit de un byte MIDI es un 1 , entonces el byte es un byte de estado , que marca la primera parte de un mensaje MIDI. Si el primer bit es un 0 , entonces es un byte de datos , que forma el cuerpo del mensaje.

Fácil. Cada vez que un byte comienza con un 1 , sabemos que estamos leyendo el comienzo de un nuevo mensaje y podemos interpretar los siguientes bytes en concierto con el primero. Usemos esa regla para dividir el rendimiento MIDI anterior en mensajes discretos.

Ahora que estamos viendo algo un poco más ordenado, es posible que notes que aparecen algunos patrones. Por un lado, solo hay dos versiones únicas de cada byte. Sabiendo que estos mensajes representan las primeras cuatro notas de la Quinta Sinfonía de Beethoven, ¿puedes adivinar lo que significan?

2.2 Bytes de estado y bytes de datos

El byte de estado de un mensaje MIDI sirve como encabezado y, por lo tanto, es la parte más importante. Nos dice qué hace el mensaje y cómo interpretar los siguientes bytes de datos. Lo que codifican los bytes de datos depende del mensaje, pero normalmente proporcionarán información importante para llevar a cabo el mensaje. Si el byte de estado dice "saltar", los bytes de datos pueden indicarle qué tan alto.

Debido a que el primer bit de cada byte está reservado para diferenciar los dos tipos de bytes, solo hay siete bits utilizables por cualquiera. Así es como se usan:

REGLA 2: Los bits 2, 3 y 4 de un byte de estado identifican su tipo de mensaje . Los bits 5 a 8 identifican el canal MIDI al que se dirige. Los bytes de datos cumplen diferentes funciones según el tipo de mensaje.

Tres bits para determinar el tipo de mensaje y cuatro para el número de canal significan que hay ocho tipos de mensajes distintos y 16 canales posibles. Los bytes de datos pueden contener cualquier valor de 0 a 127 . Si bien la gran mayoría de los mensajes utilizan dos bytes de datos, ese número puede diferir según las necesidades del mensaje. Por ejemplo, los mensajes de "cambio de programa" solo necesitan un byte de datos, y los mensajes "exclusivos del sistema" pueden tener un número arbitrario.

Si ha trabajado con MIDI antes, probablemente ya esté familiarizado con los canales MIDI. Pero en caso de que no lo estés, cada conexión MIDI puede comandar hasta 16 voces. El byte de estado especifica en sus cuatro bits menos significativos a cuál de estos canales se dirige el mensaje.³

3. Tipos de mensajes

La siguiente tabla identifica los diferentes tipos de mensajes MIDI y cómo utilizan los bytes de datos. Exploraremos cada uno en las siguientes subsecciones.

3.1 Nota desactivada / Nota activada (0x8n, 0x9n)

Estos son los mensajes MIDI más elementales y los más fáciles de entender. Cuando quiera tocar una nota, envíe un mensaje de "nota activada", y cuando quiera finalizarla, envíe un mensaje de "nota desactivada". Estos mensajes utilizan dos bytes de datos: el primero identifica qué tono desea controlar y el segundo identifica una velocidad. ⁴ Una “nota activada” con una velocidad de 0 no produce ningún sonido y es equivalente a un mensaje de “nota desactivada”.

Consideraciones:

  • La existencia de mensajes de "nota activada" de velocidad cero significa que los mensajes de "nota desactivada" son totalmente innecesarios. El estándar MIDI establece específicamente que los mensajes de "nota desactivada" y "nota activada" de velocidad cero son equivalentes y deben tratarse de manera idéntica. Como resultado, un dispositivo puede desencadenar notas de manera diferente a otro.
  • Mientras que los transmisores solo necesitan usar un método para activar las notas, los receptores deben poder manejar ambos.
  • Si bien un valor de velocidad no tiene mucho sentido en un mensaje de "nota desactivada", sigue siendo parte del mensaje y debe enviarse. El valor no se utiliza y se descarta.

Los números de tono se asignan a las teclas del piano esencialmente uno a uno. Sin embargo, debido a que hay 128 valores posibles y solo 88 teclas de piano, MIDI en realidad admite 40 semitonos que no se encuentran en el piano. 19 de ellos están situados por encima de la nota más alta, C7, y los otros 21 están por debajo de la nota más baja, A-1. El rango de tono MIDI está más o menos centrado en el do medio, que es la nota número 60.

Tenga en cuenta que no todos los fabricantes están de acuerdo con los números de octava. La notación de altura científica, utilizada por los músicos analógicos, identifica el C más grave del piano como C1 , lo que hace que el C medio sea C4 . Los programadores, por otro lado, a menudo comienzan a contar con 0, por lo que para ellos, la C más baja es C0 y la C media es C3 . Esta es la notación que suelo usar, porque es la que usan todas mis herramientas MIDI. Sin embargo, independientemente del sistema que utilice, el C central siempre es la nota número 60.

En el Apéndice II , proporciono una tabla para convertir hacia y desde números de tono MIDI.

3.2 Cambio de control (0xBn)

Los mensajes de “cambio de control” se utilizan para modificar los controladores continuos de un canal . Un controlador continuo es análogo a un carril de automatización; permite el control continuo sobre diferentes aspectos del rendimiento de un canal.

El primer byte de datos identifica el número CC (0–119) , y el segundo le asigna un valor (0–127) .

Consideraciones:

  • A diferencia de lo que su nombre indica, los datos continuos del controlador no son continuos. En lugar de interpolar suavemente entre valores como lo hace la automatización, el valor actual de un carril CC solo puede cambiar en pasos discretos. Para pasar suavemente a otro valor, debe enviar una gran cantidad de mensajes de "cambio de control", aumentando o disminuyendo el valor a un ritmo controlado.
  • La especificación MIDI define para qué están destinados la mayoría de los 120 CC, aunque muy pocos dispositivos observan más de un puñado. Proporciono una tabla de todos los CC en el Apéndice III .
  • Los últimos ocho números de CC (120–127) en realidad no representan CC en absoluto. En su lugar, representan una categoría especial de mensajes llamados mensajes de modo de canal . Los mensajes de modo de canal son comandos especializados que afectan a todo el dispositivo que los recibe. En la práctica, no tendrá que preocuparse demasiado por ellos, pero le proporciono más información sobre ellos en el Apéndice I.
  • Muchos dispositivos utilizan los números de CC 0 y 32 para seleccionar parches. Lea más sobre esto en el Apéndice IV .

Dobla el tono hacia arriba o hacia abajo. Duh.

Pitch bend se comporta un poco como un CC. De hecho, la mayoría de los editores MIDI tratan a Pitch Bend como si fuera un CC más. Sin embargo, un valor CC de 7 bits, con 128 valores posibles, no ofrece suficiente resolución para vender un efecto de inflexión de tono. Nuestros oídos son increíbles para resolver la altura del tono, por lo que incluso cuando nos acercamos a un nuevo tono 1/128 de cada vez, no suena suave ni orgánico.

Para obtener una resolución más fina, los mensajes de "inflexión de tono" utilizan dos bytes de datos para transmitir un solo valor grande. Básicamente, si junta siete bits de un mensaje y siete bits de otro, puede ensamblar un solo valor de 14 bits, aumentando su resolución en un factor de 2⁷, o 128.

Ahora, en lugar de 128 valores posibles para nuestra inflexión de tono, tenemos la friolera de 16 384, pasos más que suficientes para crear un efecto de inflexión de tono suave. La mitad derecha la proporciona el primer byte de datos (el byte menos significativo o LSB) y la mitad izquierda la proporciona el segundo (el byte más significativo o MSB).

Consideraciones:

  • La fuerza del pitch bend (cuántos semitonos hacia arriba o hacia abajo representa un pitch bend al máximo) difiere de un instrumento a otro. A menudo es configurable.
  • La inflexión de tono está "centrada" en 8192 (donde no hay cambio de tono).
  • Los cambios de tono afectan a todas las notas que se tocan en un canal, al igual que lo hacen los CC.
  • La programación con MSB y LSB se realiza mejor con operadores bit a bit. No voy a repasarlos aquí, pero proporcioné algunos recursos en el Apéndice V si desea obtener más información.

Algunos controladores MIDI, como el Akai MPK225 , cuentan con algo llamado aftertouch . Los controladores aftertouch son sensibles no solo a la velocidad de cada pulsación de tecla, sino también a la presión con la que se mantienen pulsadas las teclas.

Aftertouch viene en dos variedades: aftertouch de canal y aftertouch polifónico . El aftertouch de canal, también conocido como presión mono , mide la presión en todo el teclado, mientras que el aftertouch polifónico mide la presión de forma independiente para cada tecla. Debido al menor costo de hardware, el aftertouch de canal es el más común de los dos. Los mensajes de presión del canal solo usan un byte de datos, que representa el nivel de presión general. Los mensajes polifónicos de presión de teclas usan dos: el primero informa el tono (usando los números de tono estándar) y el segundo informa su presión.

Consideraciones:

  • El aftertouch polifónico es el único control que se puede configurar de forma independiente para cada tono. Todos los demás controles (además de la activación o desactivación de notas) afectan a todo el canal.
  • Una extensión de MIDI, denominada “Expresión polifónica MIDI” (MPE), está diseñada para permitir que CC y pitch bend se apliquen polifónicamente también. MPE no es muy común, pero ha sido popularizado por dispositivos como el ROLI Seaboard . He proporcionado enlaces a recursos que lo cubren en el Apéndice V.

Si no usa mucho hardware MIDI externo, probablemente no usará este tipo de mensaje con demasiada frecuencia. Un mensaje de "cambio de programa" ordena a un dispositivo que cargue un nuevo programa (un nuevo parche o preset). Solo utiliza un byte de datos, que especifica el índice del parche.

Este tipo de mensaje es muy útil al componer con dispositivos MIDI externos. Siempre que su hardware admita ajustes preestablecidos, su proyecto o sesión puede seleccionarlos y cargarlos: simplemente secuencie los mensajes de "cambio de programa" apropiados al comienzo.

Consideraciones:

  • Los instrumentos con más de 128 preajustes generalmente almacenan sus parches en múltiples bancos . Para recuperar programas almacenados en otros bancos, los CC 0 y 32 se reutilizan en mensajes de "selección de banco". En el Apéndice IV , repaso cómo funciona esto.
  • Con una programación inteligente de los mensajes de cambio de programa, es posible que un solo dispositivo use más de 16 parches diferentes en una sola pieza, siempre que no se reproduzcan simultáneamente. Aunque para ser real, probablemente debería dividir las cosas en capturas separadas si necesita extraer tantas voces de un solo dispositivo.
  • Cubase y Nuendo ofrecen soporte nativo para mensajes de cambio de programa en el inspector de pistas MIDI. No estoy seguro de cuántos otros DAW admiten esto.

Los mensajes del sistema son un tema avanzado que no voy a tratar aquí. Realmente se merecen un artículo propio. Se utilizan para todo tipo de cosas; transferencias de datos gigantes (llamadas " volcados "), sincronización de relojes, transmisión de código de tiempo y más.

En el futuro, puede que escriba una guía de mensajes del sistema, pero por ahora, no se preocupe por ellos. Solo tenga en cuenta que existen y que generalmente no se usan en la composición MIDI.

4. Acerca del hexadecimal

Antes de continuar, deberíamos hablar de todos esos 0x que usé en la sección anterior. El prefijo 0x le indica que un número está en hexadecimal.⁵ A medida que se sumerja en sus herramientas MIDI avanzadas y manuales de dispositivos, notará que los mensajes MIDI casi siempre se representan en hexadecimal en lugar de binario o base diez. Esto puede parecer contrario a la intuición al principio; quiero decir, si vas a convertir un número binario, ¿por qué no simplemente convertirlo a la base diez legible por humanos?

La respuesta es que es simplemente más práctico. Si bien creo que el binario es la mejor manera de comenzar a aprender MIDI, es bastante engorroso trabajar con él. Repartir cada byte en ocho dígitos hace que leer y escribir sea una tarea ardua, y dado que todo en binario son solo unos y ceros, es fácil perder el lugar al leer secuencias largas.

Voltear un bit en un número binario solo puede afectar un dígito de su representación hexadecimal.

Entonces, los programadores bit a bit generalmente trabajan en hexadecimal. Reduce cada byte a solo dos dígitos, y debido a que 16 es una potencia de 2, cada bit que cambia solo afecta un dígito en hexadecimal. Eso le permite pensar en cada dígito hexadecimal como su propio número de cuatro bits. Si quisiera trabajar bit a bit en una representación decimal, tendría que convertir el byte completo en binario y viceversa.

Solo hay algunas cosas a tener en cuenta cuando se trabaja con MIDI en hexadecimal.

  • Debido a la forma en que los bits se agrupan en hexadecimal, puede saber a qué canal MIDI se dirige un byte de estado mirando nada más que el dígito hexadecimal de la derecha.
  • Si el dígito de la izquierda de un byte es 0x7o menos, sabrá que es un byte de datos y, del mismo modo, sabrá que un byte que comienza con 0x8o más es un byte de estado.
  • El valor máximo de bytes de datos, 127, está 0x7F en hexadecimal.

5. Ejemplo aplicado: la Quinta Sinfonía de Beethoven

La última vez que nos quedamos con este ejemplo, acabamos de dividir el binario sin formato en mensajes discretos. Eso se veía así:

Para que esto sea más fácil de resolver, vamos a convertirlo a hexadecimal. Dejaré los bytes de estado en rojo y los bytes de datos en azul.

Sabiendo lo que sabemos ahora, reconocemos que los 0x9 y 0x8 que encabezan los bytes de estado identifican los mensajes como "nota activada" y "nota desactivada" respectivamente. El dígito derecho del byte nos dice que están apuntando al canal MIDI 1.⁶

Así es como se ve el rendimiento con los bytes de estado traducidos.

En los tipos de mensaje "nota activada" y "nota desactivada", el primer byte de datos codifica un tono y el segundo codifica una velocidad. El valor de la velocidad es solo un número. Para averiguar el tono, debemos consultar una tabla de notas MIDI . Y recuerde, las velocidades de "nota desactivada" no se utilizan.

Terminemos la traducción:

¡Eso es todo! Esas son las instrucciones MIDI traducidas que codifican las primeras cuatro notas de la Quinta de Beethoven. Dum dum dum duum!

Sabiendo lo que sabe ahora, puede crear y decodificar mensajes MIDI comunes a mano. Las herramientas más avanzadas, como los transformadores MIDI y los editores lógicos, ahora están disponibles para usted. Sin embargo, siempre hay más que aprender. Si es un glotón de conocimientos, le proporcioné algunos recursos que puede usar para estudiar MIDI más a fondo en el Apéndice V.

6. Lección adicional: Estado de ejecución

Hay un atajo útil que ofrece MIDI que no he mencionado hasta ahora para simplificar las cosas. Así es como funciona: una vez que envía un byte de estado, no tiene que enviar otro hasta que difiera del anterior. El último byte de estado recibido permanece como "encendido" y se usa para interpretar todos los bytes de datos a seguir. Esto se conoce como estado de ejecución .

Considere la siguiente cadena de bytes:

Lo que está viendo es exactamente el mismo rendimiento de la Quinta de Beethoven que traducimos en el ejemplo aplicado, pero faltan casi todos los bytes de estado. Sin embargo, debido al estado de ejecución, este rendimiento es tan válido como el primero. Una vez que enviamos el byte de estado 0x90, se convierte en el estado en ejecución, y cada par de bytes siguientes se pueden tratar como si estuvieran precedidos por su propio “ 0x90”.

Esto nos permite eliminar una gran cantidad de bytes de estado repetidos, lo que puede acortar drásticamente nuestras transmisiones MIDI. Antes, cuando las computadoras eran más lentas y las velocidades en baudios eran más restrictivas, esto fue increíblemente útil. Hoy en día, sin embargo, las computadoras son tan rápidas que el uso de Running Status realmente no genera una mejora notable en el rendimiento. Sin embargo, todavía lo menciono porque si se encuentra haciendo alguna programación MIDI, debe estar preparado para ver que se omiten bytes de estado aquí y allá.

Tenga en cuenta que debido a que las "notas activadas" de velocidad cero cuentan como "notas desactivadas", podemos iniciar y finalizar notas sin interrumpir el estado de ejecución; al menos, hasta que necesitemos enviar un cambio de control o un mensaje a otro canal.

  1. Esto se hace con una extensión de MIDI llamada MIDI Show Control.
  2. "Lo que ves, es lo que tienes".
  3. Los números de canal MIDI comienzan con 1, mientras que su representación aquí comienza con 0. Un valor de 0 significa Canal 1 y un valor de 15 significa Canal 16.
  4. La velocidad se puede considerar como la fuerza con la que se toca una nota.
  5. Otra notación común es seguir el número con una letra mayúscula "H", como en "78H".
  6. Recuerde, aunque el número en el mensaje es un cero, corresponde al Canal 1 porque comenzamos a contar números en 0 y canales en 1.

Apéndice I: Mensajes del modo de canal

Los mensajes de "modo de canal" son comandos especiales que alteran el comportamiento de un dispositivo completo al cambiar su modo MIDI . Especie de.

En la práctica, los mensajes de "modo de canal" solo se utilizan para activar o desactivar ciertas funciones y enviar ciertos comandos. Lo que MIDI enumera como "modos" son esencialmente configuraciones diferentes de los conmutadores Omni y Poly. Para ser honesto, no creo que los "modos" sean una forma muy adecuada de pensar en estos comandos; pero al menos explicaré lo que hacen los comandos.

Los mensajes del modo de canal no tienen su propio tipo de mensaje. En cambio, se reutilizan los que habrían sido los últimos ocho números de controlador continuos (CC 120-127). Los mensajes del modo de canal son los siguientes:

Para que un dispositivo responda a los mensajes del modo de canal, debe recibirlos en su canal básico . El canal básico de un dispositivo es el único canal MIDI en el que los mensajes de modo de canal se consideran válidos. Para muchos dispositivos, este canal es configurable. De esa manera, los mensajes del modo de canal pueden dirigirse a dispositivos específicos dentro de una cadena de margarita.

Lo que sigue es un breve resumen de cada mensaje de modo de canal. El Apéndice V contiene recursos para estudios adicionales.

  • All Sound Off (“CC” 120): corta todo el sonido que el instrumento está produciendo actualmente, incluidos el decaimiento de notas y los efectos de reverberación.
  • Restablecer todos los controladores (“CC” 121): establece todos los CC, controladores de conmutación, inflexión de tono y efectos aftertouch a sus valores predeterminados. El valor al que vuelve cada controlador depende del controlador y se define en la especificación MIDI.
  • Control local (“CC” 122): desconecta el teclado de un sintetizador de su generador de tonos. Esto le permite utilizar un sintetizador como controlador MIDI y, al mismo tiempo, secuenciarlo. Establézcalo en 0x00para desactivar el control local y 0x7Fvolver a activarlo.
  • Todas las notas desactivadas (“CC” 123): el “botón de pánico”. All Notes Off es equivalente a enviar mensajes de "nota desactivada" para cada tono en cada canal. Es útil para resolver notas atascadas. Las notas activadas localmente no se ven afectadas.
  • Modo Omni desactivado/activado (“CC” 124, 125): cuando el modo Omni está activado, todos los canales responderán a todos los mensajes entrantes, sin importar qué canal se indique en el byte de estado.
  • Mono Mode / Poly Mode (“CC's” 126, 127): Obliga a una voz o voces a un comportamiento monofónico o polifónico. Si el valor de “modo mono activado” se establece en 0x00, entonces el canal básico y todos los canales por encima de él se establecerán en modo mono. Para cualquier otro valor n , los canales n a n+m-1 se configurarán en modo mono (donde m es el valor del segundo byte de datos). Un mensaje de "modo poli activado" restablecerá todos los canales al modo poli.

Apéndice III: Asignaciones estándar de CC

La especificación MIDI define usos estandarizados de CC, que he copiado aquí. Todos los números CC están definidos, excepto: 3, 9, 14, 15, 20–31, 85–90 y 102–119 . Los CC más compatibles son Modulación ( 0x01), Controlador de pie ( 0x04), Volumen de canal ( 0x07), Pan ( 0x0A), Expresión ( 0x0B) y Sostenido ( 0x40).

Consulte los recursos en el Apéndice V si desea obtener más información sobre estos CC.

Apéndice IV: Mensajes de cambio de banco

Los sintetizadores modernos pueden almacenar y recuperar muchos, muchos más ajustes preestablecidos de los que pueden abordarse mediante un solo mensaje de cambio de programa. Para evitar esto, los fabricantes a menudo clasifican sus programas en bancos . Cada banco tiene un máximo de 128 preajustes y una dirección única de 7 o 14 bits.

Para recuperar un parche de un banco diferente, primero debe enviar un mensaje de "selección de banco" con su dirección. Después de eso, envíe un mensaje de cambio de programa como de costumbre, y el parche cargado vendrá del nuevo banco.

Como habrás notado, estos son en realidad mensajes de "cambio de control" para CC's 0 y 32 . Para direcciones de 7 bits, solo se utiliza CC 0 . Para direcciones de 14 bits, CC 0 representa un MSB y 32 un LSB. Si necesita un manual básico sobre MSB y LSB, hay uno en la sección Pitch Bend del artículo principal.

Si un dispositivo usa direcciones de 7 bits o de 14 bits es algo arbitrario, y deberá consultar su manual para saber cuál usar cuando se comunique con su dispositivo.

Apéndice V: Recursos adicionales

  • La Asociación MIDI : La Asociación MIDI es el depósito principal de información sobre o relacionada con la tecnología MIDI. Es gratis registrarse, y una vez que lo haga, puede descargar la Especificación detallada completa de MIDI 1.0 aquí .
  • Operación bit a bit (Wikipedia) : Lo sé, lo sé, Wikipedia no es un buen recurso principal, pero me gusta este artículo porque es neutral en cuanto al idioma y no tiene anuncios. Estudie los cambios de bits aritméticos y OR bit a bit, que son útiles cuando se trabaja con MSB y LSB.
  • ¿Qué es MPE? : Un artículo en la base de datos de soporte de ROLI que analiza MIDI Polyphonic Expression, que se utiliza en controladores multidimensionales como los productos Seaboard. MPE fue adoptado formalmente por la Asociación de Fabricantes de MIDI en enero de 2018, y un enlace de descarga a la especificación está disponible aquí .
  • Modos MIDI (Electronic Music Interactive v2, Universidad de Oregón): esta página ofrece una buena y concisa descripción general de los cuatro modos MIDI estándar. Es parte de un curso en línea más largo sobre música electrónica.
  • MIDI CC List (Nick Fever) : una lista de los CC estándar con explicaciones más elaboradas. Si aún necesita más información después de revisar la lista de Nick, consulte la Especificación detallada completa de MIDI 1.0, que puede descargar aquí .
  • Mensajes comunes del sistema MIDI , Mensajes en tiempo real del sistema MIDI y Mensaje exclusivo del sistema MIDI (RecordingBlogs Wiki): Excelentes introducciones a cada tipo de mensaje del sistema.
  • Número de parámetro registrado MIDI (RecordingBlogs Wiki): una descripción general de los números de parámetro registrados, que se puede considerar como una extensión de los CC. Una vez que comprenda los RPN, también podrá acceder a los NRPN (Números de parámetros no registrados).