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 publicado por primera vez en 1991. La especificación oficial está disponible en inglés en la MMA, 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. Mientras que MIDI 1.0 por sí mismo proporciona un protocolo de comunicación que garantiza que diferentes instrumentos puedan interoperar a un nivel fundamental (por ejemplo, que al 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 reproducir al menos 24 notas simultáneamente ( polifonía ). Segundo, 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, asignar uno de los 128 números de programa MIDI posibles 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 los sonidos reales de cada instrumento en manos del proveedor para que los implemente; 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, GM 1 todavía se usa comúnmente. [1] General MIDI fue ampliamente compatible con los desarrolladores de juegos de computadora en la década de 1990. [2]
Para ser compatibles 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:
Los instrumentos GM también deben 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, como del 0 al 127. La numeración del 0 al 127 generalmente solo se usa internamente por 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 establecen una octava más baja que los de 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-81 (de los 128 números posibles del 0 al 127), de la siguiente manera: [3]
La norma no especifica números de cambio de programa para diferentes conjuntos de batería.
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 (expresados en un rango de 0 a 127). GM también especifica qué operaciones deben ser realizadas por múltiples números de control. [1] [4]
GM define varios parámetros registrados que actúan como controladores pero se direccionan 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 LSB/MSB de RPN y el valor se establece mediante el par LSB/MSB de entrada de datos):
Un ejemplo de una secuencia de control RPN para establecer el ajuste grueso en A440 (parámetro 2, valor 64) es 101:0
, 100:2
, 6:64
, 101:127
, 100:127
.
Se definen dos mensajes exclusivos del sistema GM ("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 propietarias. La adición más notable fue la capacidad de direccionar 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 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 bloques de efectos de sonido (cc#91-94), ingreso de 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 del sintetizador. Los 14 sonidos de batería adicionales están numerados del 27 al 34 y del 82 al 87, entre 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 que agregó varias extensiones propietarias. Las incorporaciones 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 GM oficial se actualizó para incluir más controladores, parches , RPN y mensajes SysEx, en un intento de reconciliar las contradictorias y exclusivas incorporaciones de Roland GS y Yamaha XG . A continuación, se ofrece 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.