General MIDI (также известный как GM или GM 1 ) представляет собой стандартизированную спецификацию для электронных музыкальных инструментов , которые реагируют на сообщения MIDI . GM был разработан Американской ассоциацией производителей MIDI (MMA) и Японским комитетом по стандартам MIDI (JMSC) и впервые опубликован в 1991 году. Ассоциация музыкальной электронной индустрии (AMEI).
GM предъявляет несколько требований помимо более абстрактной спецификации MIDI 1.0. В то время как MIDI 1.0 сам по себе обеспечивает протокол связи, который гарантирует, что различные инструменты могут взаимодействовать на фундаментальном уровне — например, что нажатие клавиш на MIDI-клавиатуре заставит подключенный звуковой модуль MIDI воспроизводить музыкальные ноты — GM идет дальше двумя способами. Во-первых, GM требует, чтобы все совместимые MIDI-инструменты соответствовали определенному минимальному набору функций, например, могли одновременно воспроизводить не менее 24 нот ( полифония ). Во-вторых, GM придает определенные интерпретации многим параметрам и управляющим сообщениям, которые не указаны в спецификации MIDI 1.0. Например, назначение одного из 128 возможных номеров программ MIDI.s выбирает инструмент. В 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:
Критерий | Требование |
---|---|
Голоса | Разрешить одновременное использование 24 голосов для мелодических и перкуссионных звуков (в качестве альтернативы разрешить 16 мелодических и 8 перкуссионных голосов). Все голоса реагируют на скорость ноты. |
каналы | Поддержка всех 16 каналов одновременно, каждый из которых может быть назначен на разные инструменты. Канал 10 зарезервирован для перкуссии. Поддержка полифонии (несколько одновременных нот) на каждом канале. |
Инструменты | Поддержка не менее 128 номеров программ MIDI (в соответствии с картой патчей инструментов GM 1) и 47 перкуссионных звуков (в соответствии с картой перкуссионных клавиш GM 1). |
Сообщения канала | Поддержка контроллеров №1, 7, 10, 11, 64, 100, 101, 121 и 123; поддержка контроллеров давления канала и изменения высоты тона. |
Другие сообщения | Отвечайте на контроллер ввода данных и RPN для точной и грубой настройки и диапазона изменения высоты тона, а также на все системные сообщения General MIDI уровня 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 также указывает, какие операции должны выполняться несколькими контрольными номерами. [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 , которая также была первым синтезаторным модулем Roland General MIDI. [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 для выбора банка перед изменением программы.