General MIDI (также известный как GM или GM 1 ) — это стандартизированная спецификация для электронных музыкальных инструментов , реагирующих на MIDI -сообщения. GM был разработан Американской ассоциацией производителей MIDI (MMA) и Японским комитетом по стандартам MIDI (JMSC) и впервые опубликован в 1991 году. Официальная спецификация доступна на английском языке в MMA вместе со спецификацией MIDI 1.0, а на японском языке - на сайте MMA. Ассоциация музыкальной электронной индустрии (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, которое имеет параметр номера программы. В следующей таблице показано, звук какого инструмента соответствует каждому из 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 также указывает, какие операции должны выполняться с помощью нескольких контрольных номеров. [1] [4]
GM определяет несколько зарегистрированных параметров, которые действуют как контроллеры, но адресуются другим способом. В MIDI каждому зарегистрированному параметру присвоен номер зарегистрированного параметра или RPN. Зарегистрированные параметры обычно для краткости называются RPN. [5]
Для установки зарегистрированных параметров требуется отправка (числа десятичные):
Следующие глобальные номера зарегистрированных параметров (RPN) стандартизированы [6] (параметр задается парой RPN LSB/MSB, а значение задается парой ввода данных 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, в которую добавлено несколько собственных расширений. Наиболее заметным дополнением стала возможность адресации нескольких банков программ (звуков инструментов) с помощью дополнительной пары контроллеров выбора банков для указания до 16384 «вариативных» звуков (cc#0 — это Bank Select MSB , а cc#32 — Bank Select). Выберите младший бит ). Другими наиболее примечательными функциями были 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 для выбора банка перед изменением программы.