Стандарты MIDI: GM, GS, XG, GM2

Вступление от Очень злого редактора:

Аббревиатура MIDI расшифровывается как Musical Instrument Digital Interface. Впрочем, если для Вас это - открытие, то дальше читать особого смысла нет. :)

Чем же интересна эта статья, от нашего постоянного автора, Сергея Котова, специализирующегося на обзорах профессионального MIDI-оборудования? В отличие от тысячи подобных материалов данная статья не цитирует спецификации по электрическому строению сигналов или соответствия номеров именам GM-инструментов. Вместо этого читателю (компьютерному музыканту или просто любителю экспериментов с MIDI-файлами), предлагается ознакомится с некоторыми конкретными практическими сведениями и рекомендациями.

Практически все современные электронные музыкальные инструменты (в том числе и звуковые карты) имеют управление по MIDI. Подробно об этом цифровом интерфейсе уже неоднократно писалось и в печатных изданиях и в электронных ресурсах. Смотрите, например, статью Описание интерфейса MIDI на сайте iXBT. Тем не менее, обычно рассматривается лишь один из существующих стандартов - General MIDI (GM), в то время как уже довольно давно существуют два расширения этой спецификации: GS, предложенный фирмой Roland и XG от фирмы Yamaha. Кроме того, начинает продвигаться новый общий стандарт GM2, предложенный в 1999 году MMA (MIDI Manufacturers Association).

Целью данной справочной статьи является сравнение возможностей, предоставляемых каждой из перечисленных спецификаций, что поможет заинтересованному читателю полнее использовать их особенности или наоборот, создавать MIDI-файлы, совместимые со всеми стандартами. Возможно, эта статья поможет сделать более разумный выбор при покупке музыкального оборудования из спектра, представленного сегодня на рынке. Предполагается, что читатель знаком с основами формата MIDI.

General MIDI (GM)

Первый общий стандарт был предложен в 1991 году ассоциацией производителей MIDI-оборудования. Он объединил изделия разношерстных производителей под именем General MIDI (System) Level 1. Сейчас его поддерживает абсолютное большинство моделей электронных синтезаторов, звуковых карт и клавиатур. Так как требования этого стандарта уже давно морально устарели, то, обычно, современные электронные инструменты поддерживают его лишь для базовой совместимости.

GM-файлы звучат на различных моделях существенно по разному. Дело в том, что определяя количество и состав мелодических инструментов не были точно описаны тембровые характеристики GM-инструментов. Поэтому, если для легкой музыки с традиционным составом оркестра звучание более-менее схоже, то, если задействуются инструменты из таких групп, как Synth Pad, Sound Effects и некоторых других, конечный результат может быть обескураживающим.

GS и XG

Два похожих друг на друга стандарта предложили фирмы Roland и Yamaha. GS начал развиваться в 1991 году сразу за GM и в последующем неоднократно расширялся в связи с выпуском новых продвинутых моделей. XG от Ямахи начал активно продвигаться в 1996 году и при его разработке видимо были учтены наработки Роланда. Спецификация XG отличается огромным количеством настроек эффект-процессора.

General MIDI 2 (GM2)

В 1999 году MMA наконец "родила" расширение GM, получившее наименование General MIDI Level 2 (GM2). В новом стандарте расширили полифонию и палитру доступных инструментов до 256, добавили ряд новых контроллеров. В GM2 прослеживается влияние стандартов Роланда и Ямахи. Несмотря на соглашение между этими фирмами General MIDI Level 2 пока не получил широкого распространения.

Несколько мифов

Довольно часто можно слышать о "плохом качестве MIDI-музыки". MIDI-файл - не музыка, это набор команд по управлению электронными музыкальными инструментами и ничего более. Вспомним классический духовой орган. Здесь исполнитель посредством сложнейшей механики управляет подачей воздуха в комбинации звучащих труб. MIDI - электронный аналог такой механики. Это инструмент, при помощи которого исполнитель реализует свои замыслы. Поэтому, совершенно бессмысленно говорить о качестве MIDI, имеет место лишь разговор о возможностях управления, предоставляемого этим цифровым интерфейсом.

"XG лучше звучит чем GM". Да, спецификация XG предоставляет больше документированных возможностей по управлению синтезом звука, но это не значит, что электронные инструменты от Ямахи лучше других GM совместимых устройств. У XG есть преимущество в однообразии звука и управления различными моделями устройств, от самых дешевых (звуковушки серии 7xx за $10-20) до самых дорогих (MU128), но к качеству самого звука это отношения почти не имеет.

"GM и его последующие дополнения единственно возможные способы управления электронными инструментами". MIDI, вообще-то, проектировался с расчетом на разработчиков и программистов электронных инструментов, но не для самих музыкантов. У клавишных синтезаторов и большинства внешних модулей премудрости управления для исполнителя реализованы через удобный внешний интерфейс, а MIDI скрыто внутренней реализацией и проявляется на этапе записи (чтения) в секвенсор внешнего устройства, которым сейчас обычно является компьютер. Поэтому, используя качественный клавишный синтезатор можно вполне обходиться без знания удручающих шестнадцатеричных кодов MIDI-сообщений. Для звуковых карт, к сожалению, точное знание спецификации MIDI изначально была и есть необходимость. Отсутствие физических органов управления (ручек, слайдеров и т.п.) принуждает изучать их моделирование с помощью MIDI-контроллеров и Sysex-сообщений. Рисованные софтовые синтезаторы здесь помогают, но не заменяют знания внутренностей MIDI. Тем не менее, возможно создание удобной для пользователя надстройки или даже замены формата MIDI-сообщений. К сожалению, пока за это никто не берется.

Общие характеристики

Каждый "приличный" MIDI-файл содержит короткое Sysex-сообщение, инициализирующее MIDI устройство. По виду этого сообщения можно определить, какая спецификация должна использоваться для проигрывания файла.

GM GM System On F0 7E 7F 09 01 F7
GS GS Reset F0 41 10 42 12 40 00 7F 00 41 F7
XG XG System On F0 43 10 4C 00 00 7E 00 F7
GM2 GM2 System On F0 7E 7F 09 03 F7

Ниже в таблице сведены глобальные характеристики указанных стандартов:

Для GS и XG возможны различные значения параметров в зависимости от конкретной реализации MIDI-устройства, например, количество доступных каналов может достигать 32, количество инструментов у старших моделей - свыше тысячи.

Список контроллеров (Control Changes)

В таблице обозначены:
X - реакция на функцию (контроллер) предусмотрена стандартом;
O - функция (контроллер) не задействована;
* - не для всех моделей (минимальная конфигурация не предусматривает).

Интерпретация функций контроллеров выбора банка MSB и LSB в стандартах GS и XG различна. По контроллеру с номером 0 (Выбор банка по MSB) в GS можно выбрать одну из вариаций основного GM-инструмента, а в XG это выбор дополнительного, часто нестандартного банка инструментов (здесь обычно располагаются инструменты PLG, дополнительные наборы ударных и т.д.). По контроллеру 32 (Выбор банка по LSB) в GS можно выбрать один из основных моделей GS тон-генератора (SC-55, SC-88, SC-88Pro, SC-8820).

Выбор конкретной модели обусловлен тем, что разные версии инструментов от Роланда могут звучать немного по разному (например Grand Piano SC-55 заметно отличается от Grand Piano SC-8820). В XG по контроллеру 32 выбирается дополнительные вариации основных GM-инструментов. А в остальном, современный GS отличается от XG только наличием управления вибрато, которое в XG вынесено в NRPN и реакцией на контроллер 75, управляющий временем спада (decay) после фазы атаки звука.

Зарегистрированные номера параметров (RPN)

В таблице обозначены:
X - реакция на функцию (параметр) предусмотрена стандартом;
O - функция (параметр) не задействована.

Незарегистрированные номера параметров (NRPN)

В таблице обозначены:
X - реакция на функцию (параметр) предусмотрена стандартом;
O - функция (параметр) не задействована;
* - параметры повторяют одноименные контроллеры;
xx - номер ударного инструмента.

GM2 не предусматривает управление по NRPN (на то и название!). В XG, в отличие от GS, добавили тонкие, но вполне востребованные настройки для ударных инструментов.

Системные сообщения (SysEx)

Различных SysEx сообщений в GS и XG огромное количество. Многие из них повторяют приведенные выше контроллеры. В таблице ниже системные сообщения сгруппированы по типам. Опущены специализированные SysEx, характерные для конкретных (продвинутых) моделей.

В таблице обозначены:
X - реакция на функцию предусмотрена стандартом;
O - функция не задействована;
* - не для всех моделей (минимальная конфигурация не предусматривает);
** - реализовано недостаточно полно.

В строки Variation & Insertion включены все эффекты, не относящиеся по типу к реверберациям и хорусам (дисторшн, тремоло и пр.).

Как уже говорилось выше, XG отличается массой настроек эффект-процессора, но последние GS модели (8820, 8850) довольно близко подошли к спецификации от Ямахи.

GM2 обеспечивает базовую функциональность управления реверберацией и хорусом. Другие типы эффектов не предусмотрены.

Выводы

Спецификация GM давно устарела. Все современные модели звукосинтезирующих устройств, носящие логотип GM, так или иначе её превосходят, особенно в части управления эффектами. Спецификация GM2 зафиксировала существующее положение дел и вполне может использоваться при проектировании недорогих SamplePlayBack-устройств.

GS и XG по управлению довольно близки друг к другу, но состав инструментов у них существенно различен, что мешает переносимости GS и XG MIDI-файлов. Только несколько моделей от Корга (!) совмещают в себе стандарты GS и XG (N1, 5, 5ex).

Спецификации MIDI прямо не влияют на качество звука. Нужно только учитывать, что и GS, и XG имеют общность управления и тембров для разного спектра моделей, от дешевых до дорогих. Это позволяет, начав работу (развлечение) с малого, затем перейти на более стоящие вещи, не растеряв багаж своих наработок.



Сергей Котов (kotov@rosagrosnab.ru)
Опубликовано - 19 октября 2001 года