General MIDI (также известный как GM или GM 1 ) — стандартизированная спецификация для электронных музыкальных инструментов , которые реагируют на сообщения MIDI . GM был разработан Американской ассоциацией производителей MIDI (MMA) и Японским комитетом по стандартам MIDI (JMSC) и впервые опубликован в 1991 году. Официальная спецификация доступна на английском языке в MMA вместе со спецификацией MIDI 1.0 и на японском языке в Ассоциации музыкальной электронной промышленности (AMEI).
GM налагает несколько требований, выходящих за рамки более абстрактной спецификации MIDI 1.0. Хотя MIDI 1.0 сам по себе предоставляет протокол связи , который гарантирует, что различные инструменты могут взаимодействовать на фундаментальном уровне — например, нажатие клавиш на MIDI-клавиатуре заставит подключенный звуковой модуль MIDI воспроизвести музыкальные ноты — GM идет дальше двумя способами. Во-первых, GM требует, чтобы все совместимые MIDI-инструменты соответствовали определенному минимальному набору функций, например, чтобы они могли воспроизводить не менее 24 нот одновременно ( полифония ). Во-вторых, GM прикрепляет определенные интерпретации ко многим параметрам и управляющим сообщениям, которые остались неуказанными в спецификации MIDI 1.0. Например, назначение одного из 128 возможных номеров программ MIDI выбирает инструмент. В MIDI 1.0 назначение может быть выполнено для произвольного инструмента; но в GM номер программы назначает определенное имя инструмента . Это помогает гарантировать, что воспроизведение файлов MIDI звучит более согласованно между различными устройствами, соответствующими спецификации GM. Однако фактическое звучание каждого инструмента по -прежнему остается на усмотрение поставщика; скажем, валторна одного производителя может звучать ярче или мягче, чем у другого.
Спецификация GM 1 была заменена General MIDI 2 в 1999 году; однако GM 1 по-прежнему широко используется. [1] General MIDI широко поддерживался разработчиками компьютерных игр в 1990-х годах. [2]
Для совместимости со стандартом GM 1 устройства генерации звука (клавиатуры, аппаратные или программные синтезаторы, звуковые карты) должны соответствовать спецификации производительности General MIDI System Level 1:
Компания GM Instruments также должна соблюдать следующие соглашения для событий программ и контроллеров:
В MIDI звук инструмента или «программа» для каждого из 16 возможных каналов MIDI выбирается с помощью сообщения Program Change, которое имеет параметр Program Number. В следующей таблице показано, какой звук инструмента соответствует каждому из 128 возможных номеров программ GM. [3] Существует 128 номеров программ. Номера могут отображаться как значения от 1 до 128 или, альтернативно, как от 0 до 127. Нумерация от 0 до 127 обычно используется только внутри синтезатора; подавляющее большинство устройств MIDI, цифровых аудиостанций и профессиональных секвенсоров MIDI отображают эти номера программ, как показано в таблице (1–128).
В большинстве интерпретаций синтезатора звуки гитары и баса устанавливаются на октаву ниже, чем у других инструментов.
В файлах MIDI стандарта GM канал 10 зарезервирован только для ударных инструментов . [3] Ноты, записанные на канале 10, всегда производят звуки ударных при передаче на клавиатуру или модуль синтезатора, использующий стандарт GM. Каждый отдельный номер ноты определяет уникальный ударный инструмент, а не высоту звука.
Если MIDI-файл запрограммирован на протокол General MIDI, то результаты предсказуемы, но тембр и точность звука могут варьироваться в зависимости от качества синтезатора GM. Стандарт General MIDI включает 47 ударных звуков, использующих номера нот 35-81 (из возможных 128 номеров от 0 до 127), как показано ниже: [3]
Стандарт не определяет номера смены программы для различных наборов ударных.
В MIDI регулируемые параметры для каждого из 16 возможных каналов MIDI могут быть установлены с помощью сообщения Control Change (CC), которое имеет параметр Control Number и параметр Control Value (выраженный в диапазоне от 0 до 127). GM также определяет, какие операции должны выполняться несколькими Control Numbers. [1] [4]
GM определяет несколько зарегистрированных параметров, которые действуют как контроллеры, но адресуются по-другому. В MIDI каждому зарегистрированному параметру назначается зарегистрированный номер параметра или RPN. Зарегистрированные параметры обычно для краткости называются RPN. [5]
Для настройки зарегистрированных параметров требуется отправка (числа десятичные):
Стандартизированы следующие глобальные зарегистрированные номера параметров (RPN) [6] (параметр указывается парой LSB/MSB RPN, а значение задается парой LSB/MSB ввода данных):
Примером последовательности управления RPN для установки грубой настройки на A440 (параметр 2, значение 64) является 101:0
, 100:2
, 6:64
, 101:127
, 100:127
.
Определены два сообщения GM System Exclusive («SysEx»): одно для включения и выключения режима совместимости с General MIDI (для синтезаторов, которые также имеют не-GM-режимы); а другое для установки общей громкости синтезатора.
Roland GS — это надмножество стандарта General MIDI, которое добавило несколько фирменных расширений. Самым заметным дополнением стала возможность адресовать несколько банков программ (звуков инструментов) с помощью дополнительной пары контроллеров Bank Select для указания до 16384 звуков «вариаций» (cc#0 — Bank Select MSB , а cc#32 — Bank Select LSB ). Другими наиболее заметными функциями были 9 наборов ударных с 14 дополнительными звуками ударных каждый, одновременные наборы ударных — до 2 (каналы 10/11), сообщения Control Change для управления уровнем отправки блоков звуковых эффектов (cc#91-94), ввод дополнительных параметров (cc#98-101), портаменто, состенуто, мягкая педаль (cc#65-67) и специфичные для модели сообщения SysEx для настройки различных параметров движка синтезатора. 14 дополнительных звуков ударных инструментов пронумерованы 27–34 и 82–87, что соответствует 47 звукам стандарта General MIDI, пронумерованным 35–81, и выглядят следующим образом:
GS был представлен в 1991 году с линейкой Roland Sound Canvas , которая также была первым модулем синтезатора General MIDI от Roland. [7]
Yamaha XG — это надмножество стандарта General MIDI, которое добавило несколько фирменных расширений. Наиболее заметными дополнениями стали 600 инструментов и 32-нотная полифония.
XG был представлен в 1994 году вместе с линейкой звуковых модулей Yamaha MU и линейкой цифровых клавиатур PSR .
В 1999 году официальный стандарт GM был обновлен, чтобы включить больше контроллеров, патчей , RPN и сообщений SysEx, в попытке примирить конфликтующие и фирменные дополнения Roland GS и Yamaha XG . Вот краткий обзор изменений GM2 по сравнению с GM/GS:
Доступ к дополнительным мелодическим инструментам можно получить, установив CC#0 на 121, а затем используя CC#32 для выбора банка перед сменой программы.