General MIDI (también conocido como GM o GM 1 ) es una especificación estandarizada para instrumentos musicales electrónicos que responden a mensajes MIDI . GM fue desarrollado por la Asociación Estadounidense de Fabricantes MIDI (MMA) y el Comité de Estándares MIDI de Japón (JMSC) y se publicó por primera vez en 1991. La especificación oficial está disponible en inglés en MMA, unida junto con la especificación MIDI 1.0, y en japonés en la Asociación de la Industria Electrónica Musical (AMEI).
GM impone varios requisitos más allá de la especificación MIDI 1.0 más abstracta. Si bien MIDI 1.0 por sí solo proporciona un protocolo de comunicación que garantiza que diferentes instrumentos puedan interoperar a un nivel fundamental (por ejemplo, que presionar teclas en un teclado MIDI hará que un módulo de sonido MIDI adjunto reproduzca notas musicales), GM va más allá de dos maneras. Primero, GM requiere que todos los instrumentos MIDI compatibles cumplan con un cierto conjunto mínimo de características, como poder tocar al menos 24 notas simultáneamente ( polifonía ). En segundo lugar, GM adjunta interpretaciones específicas a muchos parámetros y mensajes de control que no se especificaron en la especificación MIDI 1.0. Por ejemplo, al asignar uno de los 128 números de programa MIDI posibles se selecciona un instrumento. Con MIDI 1.0, la asignación podría ser a un instrumento arbitrario; pero con GM, un número de programa asigna un nombre de instrumento específico . Esto ayuda a garantizar que la reproducción de archivos MIDI suene más consistente entre diferentes dispositivos que cumplan con la especificación GM. Sin embargo, todavía deja que el proveedor implemente los sonidos reales de cada instrumento; La trompa de un fabricante, por ejemplo, podría ser más brillante o más suave que la de otro.
La especificación GM 1 fue reemplazada por General MIDI 2 en 1999; sin embargo, el GM 1 todavía se usa comúnmente. [1] General MIDI fue ampliamente apoyado por los desarrolladores de juegos de computadora en la década de 1990. [2]
Para ser compatible con GM 1, los dispositivos generadores de sonido (teclados, sintetizadores de hardware o software, tarjetas de sonido) deben cumplir con la especificación de rendimiento del Sistema General MIDI Nivel 1:
GM Instruments también debe obedecer las siguientes convenciones para eventos de programa y controlador:
En MIDI, el sonido del instrumento o "programa" para cada uno de los 16 canales MIDI posibles se selecciona con el mensaje de cambio de programa, que tiene un parámetro de número de programa. La siguiente tabla muestra qué sonido de instrumento corresponde a cada uno de los 128 números de programa GM posibles. [3] Hay 128 números de programa. Los números se pueden mostrar como valores del 1 al 128 o, alternativamente, del 0 al 127. La numeración del 0 al 127 normalmente sólo la utiliza internamente el sintetizador; la gran mayoría de dispositivos MIDI, estaciones de trabajo de audio digital y secuenciadores MIDI profesionales muestran estos números de programa como se muestra en la tabla (1–128).
En la mayoría de las interpretaciones de sintetizadores, los sonidos de guitarra y bajo se ajustan una octava más bajo que otros instrumentos.
En los archivos MIDI estándar de GM, el canal 10 está reservado únicamente para instrumentos de percusión . [3] Las notas grabadas en el canal 10 siempre producen sonidos de percusión cuando se transmiten a un teclado o módulo de sintetizador que utiliza el estándar GM. Cada número de nota distinto especifica un instrumento de percusión único, en lugar del tono del sonido.
Si se programa un archivo MIDI con el protocolo General MIDI, los resultados son predecibles, pero el timbre y la fidelidad del sonido pueden variar según la calidad del sintetizador GM. El estándar General MIDI incluye 47 sonidos de percusión, utilizando los números de nota 35 a 81 (de los 128 números posibles del 0 al 127), de la siguiente manera: [3]
El estándar no especifica números de cambio de programa para diferentes baterías.
En MIDI, los parámetros ajustables para cada uno de los 16 canales MIDI posibles se pueden configurar con el mensaje de cambio de control (CC), que tiene un parámetro de número de control y un parámetro de valor de control (expresado en un rango de 0 a 127). GM también especifica qué operaciones deben realizarse mediante múltiples números de control. [1] [4]
GM define varios Parámetros Registrados, que actúan como Controladores pero se abordan de forma diferente. En MIDI, a cada parámetro registrado se le asigna un número de parámetro registrado o RPN. Los parámetros registrados suelen denominarse RPN para abreviar. [5]
Para configurar los parámetros registrados es necesario enviar (los números son decimales):
Los siguientes números de parámetros registrados (RPN) globales están estandarizados [6] (el parámetro se especifica mediante el par RPN LSB/MSB y el valor se establece mediante el par LSB/MSB de entrada de datos):
Un ejemplo de una secuencia de control RPN para establecer la sintonización aproximada en A440 (parm 2, valor 64) es 101:0
, 100:2
, 6:64
, 101:127
, 100:127
.
Se definen dos mensajes GM System Exclusive ("SysEx"): uno para habilitar y deshabilitar el modo de compatibilidad General MIDI (para sintetizadores que también tienen modos que no son GM); y el otro para configurar el volumen maestro del sintetizador.
Roland GS es un superconjunto del estándar General MIDI que agregó varias extensiones patentadas. La adición más notable fue la capacidad de abordar múltiples bancos de programas (sonidos de instrumentos) mediante el uso de un par adicional de controladores Bank Select para especificar hasta 16384 sonidos de "variación" (cc#0 es Bank Select MSB y cc#32 es Bank Select MSB). Seleccione LSB ). Otras características más notables fueron 9 kits de batería con 14 sonidos de batería adicionales cada uno, kits de percusión simultáneos: hasta 2 (canales 10/11), mensajes de cambio de control para controlar el nivel de envío de los bloques de efectos de sonido (cc#91-94), entrada parámetros adicionales (cc#98-101), portamento, sostenuto, pedal suave (cc#65-67) y mensajes SysEx específicos del modelo para configurar varios parámetros del motor de sintetizador. Los 14 sonidos de batería adicionales están numerados del 27 al 34 y del 82 al 87, entre paréntesis de los 47 sonidos estándar General MIDI numerados del 35 al 81, y son los siguientes:
GS se introdujo en 1991 con la línea Roland Sound Canvas , que también fue el primer módulo de sintetizador General MIDI de Roland. [7]
Yamaha XG es un superconjunto del estándar General MIDI al que se le han añadido varias extensiones patentadas. Las adiciones más notables fueron los 600 instrumentos y la polifonía de 32 notas.
XG se introdujo en 1994 con la línea de módulos de sonido de la serie MU de Yamaha y la línea de teclados digitales PSR .
En 1999, el estándar oficial de GM se actualizó para incluir más controladores, parches , RPN y mensajes SysEx, en un intento de conciliar las adiciones conflictivas y patentadas de Roland GS y Yamaha XG . Aquí hay una descripción general rápida de los cambios de GM2 en comparación con GM/GS:
Se puede acceder a instrumentos melódicos adicionales configurando CC#0 en 121 y luego usando CC#32 para seleccionar el banco antes de un cambio de programa.