Вы, вероятно, знаете, что различные синтезаторы, семплеры и звуковые платы связываются между собой при помощи MIDI интерфейса. Если вы заглянете на заднюю панель любого синтезатора, то, скорее всего, найдете там 5-контактные гнезда MIDI входов и выходов, которые маркируются как MIDI In, MIDI Out и MIDI Thru.
Такие же гнезда есть и на MIDI-переходниках звуковых плат, и на различных приборах обработки звука, и даже на цифровых микшерах и многоканальных магнитофонах. И если вы соедините все свое оборудование при помощи этого интерфейса, то сможете заставить его работать в единой системе: с одного синтезатора можно будет обращаться к звукам другого, цифровые магнитофоны будут запускаться при нажатии кнопки в компьютерной программе и т.д. То есть MIDI интерфейс – это единый стандарт передачи управляющей информации между цифровыми музыкальными инструментами и другим студийным оборудованием.
Вы, вероятно, знаете, что различные синтезаторы, семплеры и
звуковые платы связываются между собой при помощи MIDI
интерфейса. Если вы заглянете на заднюю панель любого
синтезатора, то, скорее всего, найдете там 5контактные гнезда
MIDI входов и выходов, которые маркируются как MIDI In,
MIDI Out и MIDI Thru.
Такие же гнезда есть и на MIDIпереходниках звуковых плат, и
на различных приборах обработки звука, и даже на цифровых
микшерах и многоканальных магнитофонах. И если вы
соедините все свое оборудование при помощи этого
интерфейса, то сможете заставить его работать в единой
системе: с одного синтезатора можно будет обращаться к
звукам другого, цифровые магнитофоны будут запускаться при
нажатии кнопки в компьютерной программе и т.д. То есть MIDI
интерфейс – это единый стандарт передачи управляющей
информации между цифровыми музыкальными инструментами
и другим студийным оборудованием.
Два MIDI устройства обмениваются между
собой именно управляющей информацией, например,
командами вызова нужного звука из памяти, командами его
воспроизведения с нужной высотой и длительностью и т.д. То
есть никакой физической передачи звуков по этому интерфейсу
не происходитДо 1982 года, когда была принята спецификация MIDI,
синтезаторы разных производителей имели разные архитектуры
и системы управления. Это было очень неудобно для
музыкантов ведь при покупке каждого нового инструмента
приходилось "с нуля" изучать принципы его работы. Кроме
того, секвенсеры одних производителей не могли работать с
синтезаторами других – в результате для каждого синтезатора
приходилось покупать отдельный секвенсер. Поэтомуто и
возникла идея стандартизировать синтезаторы и другое
сопутствующее оборудование и принять единую систему
обмена данными между ними. В результате и появился Music
Instruments Digital Interface цифровой интерфейс музыкальных
инструментов. А через некоторое время им стали оборудовать
подавляющее большинство студийных устройств.
Благодаря MIDI интерфейсу, вопервых, все цифровые
синтезаторы теперь имеют очень похожие системы управления,
и если музыкант или звукорежиссер знает основные принципы
работы MIDI, то без труда может разобраться с любым из них.
Вовторых, музыкальные инструменты разных фирм могут
работать вместе и, например, с Roland'а можно получить доступ
ко всем ресурсам Korg'а и даже играть "зашитыми" в него
звуками. В третьих, секвенсер может управлять не только
подключенными синтезаторами, но и любыми другими
устройствами, имеющими MIDIвходы и выходы. Например,
под управлением секвенсера процессор эффектов в нужный
момент аранжировки может менять свои настройки, а цифровой
микшер включать и отключать каналы, а также выставлятьзаранее запрограммированный уровень дорожек или
автоматически плавно убирать громкость в конце композиции.
Как работает MIDI интерфейс?
"Артериями" любой MIDIсистемы являются 16
информационных MIDI каналов, по которым передаются MIDI
сообщения сигналы, несущие информацию о состоянии
органов управления звуковым устройством (например,
синтезатором). MIDIсообщениями могут быть ноты, команды о
смене звука, информация о положении колеса изменения
высоты тона и т.д. На рисунке слева изображена
схема Sample Playback синтезатора, который тоже является
такой системой, так как в его корпусе размещены минимум два
совершенно независимо работающих устройства клавиатура и
звуковой модуль. Доступ к памяти синтезатора, где хранятся
оцифрованные семплы (образцы звучания), осуществляется поуже упомянутым 16 MIDIканалам. В начале работы музыкант
указывает при помощи кнопок управления какой канал с каким
звуком будет работать. На рисунке первому каналу присвоено
фортепиано, пятому орган, десятому ударные и
пятнадцатому бас. Причем эти связи устанавливаются
совершенно произвольно по желанию музыканта: на любой
канал может быть присвоен любой звук, находящийся в памяти.
Клавиатура синтезатора одновременно может работать только с
одним MIDIканалом (если только не включена специальная
функция разделения, разбивающая клавиатуру на две или более
частей, каждая из которых может обращаться к отдельному
каналу). Поэтому, музыкант указывает номер канала с
присвоенным звуком, которым он хочет играть (на рисунке
первый канал с установленным звуком фортепиано). Обычно
это делается прямо на верхней панели синтезатора при помощи
кнопок переключения канала. По умолчанию клавиатура
работает с тем каналом, который указан на дисплее
синтезатора. После настроек он может начинать исполнение
композиции. Во время игры MIDIклавиатура производит
сообщения об условных номерах нот и о скорости нажатия
клавиш, которые передаются по выбранному каналу в звуковой
модуль. А он, в свою очередь, изменяет высоту и громкость
выбранного звука согласно полученным MIDIсообщениям.
Результат этой работы мы с вами слышим из акустических
систем.
Теперь давайте разберемся со связкой синтезатор
секвенсер.Второй рисунок изображает схему работы синтезатора,
соединенного с компьютерным секвенсером.
И у синтезатора, и у компьютера, в котором установлена
звуковая плата или плата MIDIинтерфейса есть MIDIвходы и
выходы. Они соединяются между собой специальными шнурами
с пятиштырьковыми разъемами. По этим шнурам передаются
MIDIсообщения, рассортированные по независимым 16
каналам. Это не означает, что в шнурах используются целых 16
жил. Они обычные трехжильные (по двум идет сигнал, а один
используется для заземления), просто перед передачей
сообщений по физическим проводам, вся информация
кодируется особым образом, а при приеме происходит
обратный процесс раскодирование.
Итак, музыкант исполняет на клавиатуре какоето
произведение. MIDIсообщения поступают в звуковой модуль,
например, по первому каналу, и мы слышим в колонках звук. Ноэти сообщения поступают по тому же первому каналу и на
MIDIвыход синтезатора, а дальше в секвенсер (см. рис.). А в
секвенсере есть точно такие же параллельные дорожки, как и в
многоканальных магнитофонах, только они располагаются не на
магнитной ленте, а в оперативной памяти секвенсера (или
компьютера, если секвенсер это программа). Каждая дорожка
должна соответствовать одному из MIDIканалов. При записи
на нее фиксируются все MIDIсообщения, которые приходят
через вход секвенсера по выбранному каналу. А при
воспроизведении с нее начинают считываться все записанные
данные и передаваться по тому же самому каналу, только уже
через выход.
На нашем рисунке для упрощения схемы не показано, что
синтезатор передает MIDIсообщения по нескольким каналам.
Но если музыкант переключается на второй канал и начинает
играть другим звуком, то на MIDIвыход начинают поступать
сообщения именно по второму каналу, и если в секвенсере
вторая дорожка включена на запись данных с этого же канала,
то все, что играется на клавиатуре, будет записано.
В целом, процедура работы с секвенсером будет выглядеть
следующим образом. Музыкант на синтезаторе присваивает
первому каналу звук фортепиано, а в секвенсере включает
запись первой дорожки, которая предварительно тоже
настраивается на первый канал. После этой операции он играет
на клавиатуре партию фортепиано будущей композиции,
которая записывается на первую дорожку. По окончании
записи, в секвенсере включается воспроизведение, и записанныеMIDIсообщения передаются по первому каналу на его MIDI
выход, а оттуда на MIDIвход синтезатора. Со входа они
попадают в звуковой модуль, который и проигрывает запись
звуком фортепиано.
После записи первой дорожки, музыкант включает в секвенсере
запись второй дорожки, присвоив ей второй MIDIканал. На
синтезаторе он выбирает звук баса и тоже присваивает его
второму каналу. Теперь он снимает секвенсер с паузы и слышит
партию фортепиано ведь каналы совершенно независимы друг
от друга. Под фортепиано он играет партию баса, которая
записывается в секвенсер на вторую дорожку. Теперь, если он
запустит воспроизведение, то услышит и фортепиано, и бас
вместе. Точно таким же образом записываются партии всех
остальных инструментов.
Если же вы подключите к MIDIвыходу секвенсера любое
студийное устройство (например, процессор эффектов), и
запишите на одну из дорожек специальные сообщения, которые
это устройство "понимает", то в выбранный момент композиции
оно выполнит нужные вам действия. Кстати, очень многие
синтезаторы, в том числе и установленные на звуковые карты,
имеют собственные процессоры эффектов, управление
которыми можно осуществлять при помощи секвенсера. В
нужный момент композиции процессор получит от секвенсера
MIDIсообщение и включит соответствующий эффект.
MIDI сообщения и события
MIDI сообщения – это управляющие сигналы, которыепередаются по MIDI интерфейсу. Например, при нажатии
клавиши на динамической MIDIклавиатуре производятся три
сообщения, которые описывают исполнение ноты: Pitch (высота
ноты), Velocity (скорость нажатия клавиши) и Duration
(длительность). Эти сообщения могут передаваться по одному
из каналов в звуковой модуль, а могут направляться и в
секвенсер, который запишет их в определенное место
композиции. Такая группа сообщений, привязанная к одному из
моментов времени композиции и каналу называется Event
(Событие). То есть, каждая нота композиции, записанная
секвенсером это событие.
Надо четко понимать разницу между сообщением и событием.
Устройства в MIDIсистеме обмениваются сообщениями, но
как только эти сообщения записываются в секвенсер, они
получают два дополнительных параметра время
воспроизведения и номер канала и становятся событиями.
Второй по важности после MIDI нот вид сообщений
это Controllers (контроллеры). Они управляют различными
параметрами синтезаторов типа громкости или панорамы
выбранного канала. Кстати, не путайте эти MIDIсообщения и
ручки управления автономным синтезатором, которые тоже
иногда называются контроллерами.
Стандарт MIDI предусматривает наличие 127 контроллеров,
каждый из которых может принимать значения от 0 до 127. Но
реально из них используется не более 20. Самые главные из них
это Volume (громкость), Pan (панорама) и Modulation(модуляция). Они управляют параметрами воспроизведения нот
по каждому из каналов. То есть, записав в секвенсер на первый
канал контроллер Volume, имеющий значение 127, а на второй
значение 64, вы получите разницу в громкости этих каналов в
два раза.
И, наконец, третий важный тип MIDI сообщений – это SysEx,
или «системные эксклюзивные сообщения». Как и контроллеры,
они предназначены для управления различными параметрами
синтезаторов, или другого студийного оборудования. Однако
SysEx «персонифицированы», то есть они работают только в
пределах одного конкретного устройства. Их существование
необходимо изза того, что 127 контроллеров просто не хватает
для управления всеми параметрами современных синтезаторов.
Поэтому чаще всего контроллеры используются в стандартных
ситуациях («порулить» громкость и панораму на канале,
выставить уровень посыла на эффекты, изменить частоту среза
и резонанс фильтра и т.д.). А вот для управления процессорами
эффектов, «глубинными» параметрами синтеза или операциями
по обслуживанию инструмента («сбрасывание»
отредактированных звуков в компьютер, например )
применяются SysEx.
MIDIсинхронизация
В студиях очень часто бывает необходимо обеспечить
синхронную работу двух или нескольких устройств: секвенсера
и многоканального магнитофона, двух магнитофонов
одновременно и т.д. Раньше, в эпоху аналоговых магнитофонов,чаще всего использовалась SMPTE синхронизация, однако
сейчас большинство студийных устройств синхронизируются по
MIDI.
Делается это так. Например, у вас есть секвенсер и
многоканальный магнитофон. Любой секвенсер должен
равномерно "проматывать" виртуальную ленту (по аналогии с
магнитофоном), на которую записываются MIDIсообщения.
Для этого во всех секвенсерах есть генератор временного кода,
который производит MIDIсообщение под названием MIDI
Clock. При помощи этого временного кода и осуществляется
точное управление "лентопротяжным механизмом" секвенсера,
а также синхронизация со внешними устройствами. Группа
MIDIсообщений, которые используются для синхронизации
называются MIDI Time Code ((MTC).
Во многих современных цифровых магнитофонах есть точно
такой же генератор временного кода, который используется для
точного управления механикой. Если синхронизировать
генератор секвенсера и генератор магнитофона, то скорость
воспроизведения MIDIсообщений будет точно соответствовать
скорости движения ленты (см. рис.).А для того, чтобы магнитофон включался одновременно с
секвенсером и вместе с ним выполнял все остальные действия
(перемотка, остановка, запись) используют целую группу MIDI
сообщений, которые называются MIDI Machine Control(MMC).
В секвенсерах, которые поддерживают MMC, нажатие любой
кнопки управления производит соответствующее MIDI
сообщение, которое немедленно передается в магнитофон. А
ему остается только выполнить команду.
Системные эксклюзивные сообщения
Как уже говорилось в разделе «MIDI сообщения и события»,
системные эксклюзивные сообщения (SysEx) – это
управляющие команды, которые, в отличие от контроллеров
действуют только в пределах одного синтезатора или другого
Студийного MIDI устройства. Например, контроллер Volume
меняет громкость выбранного канала любого синтезатора, а вот
SysEx сообщение, управляющее уровнем искажений эффектаDistortion, и предназначенное для использования с синтезатором
Roland XP 30 не произведет ни малейшего «впечатления» на
синтезатор Quasimidi Sirius, у которого также есть дисторшн.
Но несмотря на узкую специализацию каждого такого
сообщения, «язык» на котором они написаны абсолютно
универсален, и зная его основы можно очень быстро подобрать
«ключи» к любому инструменту и студийному устройству и
заставить его делать именно то, что нужно.
Любое системное эксклюзивное сообщение представляет
собой:
последовательность шестнадцатеричных цифр (см. рис.),
которую вы можете составить в любом редакторе SysEx (эти
редакторы есть в большинстве развитых секвенсеров). Каждая
цифра этого сообщения несет определенную информацию, и все
искусство программирования SysEx заключается в том, чтобы
поставить нужную цифру в нужное место. А помогает в этом
раздел руководства пользователя устройства под названием
MIDI Implementation – в нем фирмапроизводитель разъясняет
пользователям принципы построения SysEx сообщений для
каждой конкретной модели.
Итак, SysEx сообщения имеют обязательную и произвольнуючасти. Вы должны обязательно начать сообщение с символа F0 и
закончить символом F7 – это команды, заставляющие любой
синтезатор или другое студийное устройство начать и закончить
прием системной информации. Следом за символом F0 следуют
еще три символа, которые несут информацию об
идентификационном номере производителя,
идентификационном номере устройства в MIDI системе и
идентификационном номере модели устройства – они будут
одинаковыми у любых сообщений для конкретного устройства.
Например, для синтезатора Roland XP 30 обязательная часть
SysEx будет выглядеть так: F0 41 11 6A ……………..F7, где 41
– это код фирмы Roland, 11 – идентификационный номер
синтезатора (он выставляется в системном меню инструмента) и
6A – это код модели XP30. Конкретные идентификационные
номера для других синтезаторов нужно смотреть в MIDI
Implementation их руководств.
Следом первыми четырьмя цифрами обязательной части SysEx
идет часть произвольная. Ее конкретное наполнение зависит от
того, чего вы хотите. Но она всегда начинается с номера
команды и заканчивается значением контрольной суммы. Номер
команды и ее формат нужно опятьтаки смотреть в MIDI
Implementation, а контрольная сумма вычисляется путем
сложения всех цифр, составляющих команду (за исключением
ее номера) и вычитанием получившегося значения из 128. И
после контрольной суммы идет символ окончания SysEx – F7.
Давайте разберем конкретный пример. Предположим, нам до
зарезу понадобилось вставить в аранжировку команду, которая
меняет тип реверберации у синтезатора Roland XP30 с холла надилэй. Прежде чем приступать к написанию, открываем
редактор SysEx секвенсера, пишем заветный символ F0 (начало
Sys Ex) и вооружаемся руководством пользователя
синтезатора. Первым делом нам нужно выяснить, что писать в
постоянной части. Добираемся в MIDI Implementation
руководства пользователя до раздела Data Transmission
(Передача данных) и смотрим раздел System Exclusive
Messages. В этом разделе находится шаблон SysEx для
передачи данных в синтезатор. Выясняется, что код Roland –
41, а код XP 30 – 6A. В системном же меню самого синтезатора
смотрим deviceID – у меня он оказался равным цифре 17. Но
это в десятичной системе, а в шестнадцатеричной он будет
выражаться цифрой 10 (см таблицу перевода десятичных
значений в шестнадцатеричные). Таким образом, можно
продолжать SysEx (цифры вводятся через один пробел): F0 41
10 6A...
Итак, смотрим шаблон SysEx дальше. Идентификационный
номер команды для нашего случая – 12. Кстати говоря, во
многих руководствах шестнадцатиричные числа пишутся с
обязательным прибавлением буквы H в конце (от Hexadecimal).
В шаблоне SysEx руководства XP30 они даются именно в таком
виде, например, номер команды приводится как 12H. Но в
редакторе SysEx секвенсера букву H писать не надо – он и так
знает, что речь идет о шестнадцатиричных числах. Таким
образом, продолжаем сообщение: F0 41 10 6A 12…
Далее в шаблоне идут четыре цифры, сообщающие синтезатору
адрес, по которому следует передавать команду. Ониобозначаются как aa, bb, cc и dd. Их значение нужно смотреть в
таблицах под названием Parameter Address Map.
Поковырявшись некоторое время с таблицами выясняем, что
адрес для смены типа ревербератора пишется так: 01 00 00 28.
Наконец, мы добрались и до самой команды, которая пишется
как 06 – это становится очевидным из колонки Data (Value)
таблицы Parameter Address Map. Продолжаем наш SysEx: F0 41
10 6A 12 01 00 00 28 06…
Теперь осталось посчитать контрольную сумму. Для этого нам
сначала нужно сложить цифры адреса и значения команды: 01 +
00 + 00 + 28 + 06… Но цифрыто записаны в
шестнадцатеричной системе счисления. Чтобы успешно
завершить арифметическую операцию нужно перевести их в
десятичный вид : 1 + 0 + 0 + 40 + 6 = 47. Теперь вычитаем 47 из
128 и получаем число 81, которое в шестнадцатеричной системе
будет писаться как 51. Все, теперь наше SysEx сообщение
приобретает законченный вид: F0 41 10 6A 12 01 00 00 28 06 51
F7. Остается его сохранить в отдельный файл и вставить
последний в нужное место аранжировки.
Организация памяти и форматы банков синтезаторов
В постоянной памяти Sample Playback синтезаторов записаны
семплы образцы звучания различных музыкальных
инструментов. MIDIсообщения вызывают из памяти тот или
иной семпл, и синтезатор воспроизводит нужный звук. Но в
памяти семплы не просто "свалены кучей", а организованы в
определенные иерархические структуры. И чтобы нормальноработать с любыми синтезаторами и семплерами, в том числе и
мультимедийными, надо разобраться со способами хранения
семплов и соответствующими стандартами.
Если не очень вдаваться в подробности, то можно подумать, что
семплы для записи в память синтезатора или семплера
создаются очень просто: берется "живой" инструмент,
оцифровывается какаято сыгранная на нем нота и
получившийся файл записывается в память. Такое
представление почти правильно. Но размер памяти не
безграничен. Поэтому, как правило, берется маленький участок
файла с записью "живого" инструмента, закольцовывается и
присваивается определенной MIDIноте.
Но при формировании того или иного звука синтезатора есть
еще одна тонкость. Для того, чтобы семпл звучал выше или
ниже (для воспроизведения других MIDIнот) используется
алгоритм изменения высоты тона, в основе которого лежит
изменение частоты дискретизации семпла. Вы наверняка знаете
эффект "голоса Буратино", который получается, если
увеличить скорость воспроизведения магнитофонной ленты. В
синтезаторах и семплерах все происходит примерно также,
только лентопротяжный механизм заменяется специальным
алгоритмом. Но при сильном изменении частоты дискретизации
теряется натуральность звучания. Поэтому для создания одного
звука синтезатора применяется несколько закольцованных
семплов, каждый из которых охватывает свой диапазон. То есть
оцифровывается, например, исполнение на музыкальном
инструменте ноты "До" каждой октавы, и фрагменты этихсемплов присваиваются соответствующим MIDIнотам. В
результате сохраняется натуральность звучания, и экономится
память.
Для обозначения совокупности семплов и управляющей
информации синтезатора обычно используется термин "пэтч"
(некоторые производители используют другую терминологию)
с английского это слово переводится как "соединение". Пэтчи
составляются в более высокие структуры, которые называются
программами или инструментами (см. рис. ниже). При этом
каждый пэтч может занимать только часть звукового диапазона,
а может и пересекаться с другими при этом звуки разных
пэтчей накладываются друг на друга. Если вы, например,
хотите поиграть на синтезаторе звуком фортепиано, то вы
вызываете из памяти именно программу, состоящую из
нескольких пэтчей. При нажатии любой клавиши MIDI
клавиатуры, в синтезаторе происходит не просто
воспроизведение соответствующего семпла с нужной высотой, а
более сложный процесс, который включает исполнение еще
ряда команд.
Программы или инструменты синтезатора составляются вбанки. В одном синтезаторе может быть как один, так и
несколько банков. Количество программ в банке никогда не
превышает 128 (так просто сложилось исторически не ищите в
этом числе скрытый смысл), а количество самих банков зависит
от стандарта, который поддерживает синтезатор или звуковая
карта.
Если вы видели автономные sample playback синтезаторы, то
наверняка обращали внимание, что на них почти всегда есть
надписи типа General MIDI или аббревиатуры GS или XG. Эти
обозначения часто пишутся и в спецификациях звуковых карт.
Они указывают, какому стандарту соответствует синтезатор.
Аббревиатура GM или надпись General MIDI означает, что в
памяти синтезатора находится как минимум один банк (может
быть и больше), из 128 программ плюс один банк ударных
инструментов, состоящий из 44 пэтчей барабанов различного
звучания, причем каждой MIDIноте присвоен свой барабан
(банков ударных и пэтчей в этих банках может быть и больше).
Все программы (как основные, так и пэтчи ударных) имеют раз
и навсегда установленный номер, под которым их можно
разыскать в памяти. Это означает, что в GMсовместимых
синтезаторах программа, имитирующая рояль всегда
скрывается под номером 1, а под номером 53 имитатор хора.
Такой стандарт введен для того, чтобы без проблем
воспроизводить музыку, записанную в любом секвенсере при
помощи разных синтезаторов с предсказуемым результатом.
Есть и специальный формат файла, который называется
"стандартным MIDIфайлом" и обеспечивает воспроизведениемузыки на любом синтезаторе или звуковой карте.
GMсинтезатор имеет как минимум 16 MIDIканалов. Каждый
из каналов может быть использован для записи или
воспроизведения одной программы или одной ударной
установки. Обычно в спецификациях звуковых карт или
автономных синтезаторов на этот счет пишется так:
"Синтезатор имеет 16частную мультитембральность".
любых синтезаторов есть еще одно ограничение вы не можете
одновременно воспроизвести больше определенного количества
нот, причем неважно, одним инструментом играются эти ноты
или несколькими. Это количество называется полифонией, и
для стандарта GM оно определено минимум в 24 ноты (может
быть и 28, и 32 GM это не запрещает). Это означает, что если
вы задумали сыграть на клавиатуре аккорд из 25 нот, позвав для
этого своих друзей, то у вас ничего не получится. Девять нот из
взятого аккорда звучать не будут. Девять это изза того, что 8
нот резервируются под барабаны и лишь 16 остаются на все
остальные программы. В спецификациях некоторых
синтезаторов для описания полифонии может применяться и
следующая формулировка: "Синтезатор имеет 24 голоса".
Существует очень распространенное заблуждение: будто все
GM синтезаторы звучат одинаково ведь инструменты у них
одни и те же. Это совершенно не верно. Рояль из GM
совместимой карты Cuncun FX производства Turtle Beach
звучит совершенно не так как рояль с GMсовместимого
синтезатора Korg N5. Конечно, оба они рояли, но вот тембр у
этих роялей совершенно разный. Стандарт General MIDIописывает только общий характер инструмента, который
должен храниться в памяти под тем или иным номером. Но
конкретное качество семплов, "раскладка" колец по клавиатуре
и многие другие параметры программы остаются на совести
производителя.
И еще одно важное замечание. Очень многие производители
синтезаторов указывают в спецификациях своих изделий, что
они совместимы со стандартом General MIDI. Но при этом
реальное количество программ и банков гораздо больше, чем
предусматривает стандарт. Такое употребление значка
показывает, что в синтезаторе обязательно есть General MIDI
банк и стандартные MIDI файлы будут проигрываться без
проблем. Остальные банки организованы особенным образом и
композиции, записанные с их использованием, будут корректно
воспроизводиться только на тех же самых устройствах.
Теперь об аббревиатурах GS и XG
Стандарт GS введен японской фирмой Roland. Первоначально
этот стандарт назывался GSS и расшифровывался как General
Synthesizer System. Позже от трех букв остались только две и
они расшифровываются чаще всего как General Synthesizer
Основной Синтезатор. GS это расширение стандарта GM в
сторону увеличения количества банков, а соответственно, и
количества инструментов, хранящихся в памяти. Причем GS
устройства полностью совместимы с GM, т.е. стандартные
MIDIфайлы всегда проигрываются без проблем. Наращивание
количества программ происходит в виде добавления вариацийосновного банка. Это означает, что в GSсинтезаторе по
прежнему будет инструмент номер 90 из набора GM под
названием Warm pad, но у него будет пара вариаций 90/1 и 90/2,
которые могут быть и совершенно не похожи на основной звук и
будут размещены в других банках. При воспроизведении
стандартного MIDIфайла банки с вариациями не будут
доступны, если в файл не записать специальные MIDI
сообщения. Обычно GS синтезаторы имеют в постоянной
памяти 200400 программ и 69 ударных установок (хотя их
может быть и больше).
Есть еще одно важное отличие GS от GM это обязательное
присутствие в синтезаторах, поддерживающих Roland'овский
стандарт, отдельного процессора эффектов, который может
обрабатывать инструменты двумя эффектами одновременно.
Обычно это реверберация и хорус. Уровень эффекта
регулируется индивидуально у каждого инструмента, но
эффекты общие для всех 16 MIDIканалов. То есть, если вы
обрабатываете на первом канале фортепиано холл
реверберацией, то на всех остальных каналах нельзя установить
другой тип эффекта. Можно только поменять уровень "холла".
XG это стандарт фирмы Yamaha, который появился
относительно недавно. Он представляет собой дальнейшее
расширение GM и GS в сторону увеличения количества банков
и инструментов в памяти и количества эффектов.
Расшифровывается эта аббревиатура как eXtended General
MIDI Расширенный General MIDI, и он тоже полностью
совместим с GM. Таблица звуков организована точно так же,как и в стандарте GS, т.е. увеличение количества программ
происходит при помощи увеличения количества банков с
вариациями. Обычно в памяти XGсинтезаторов находится
более 400 инструментов. Одновременно можно использовать
три эффекта из имеющихся 64, причем 2 могут работать как в
GS, сразу со всеми воспроизводимыми инструментами на 16
MIDIканалах, а еще один можно присваивать любой из
программ индивидуально. Выбор последнего эффекта очень
богат как минимум 42 возможных варианта. Кроме этого, в
соответствии со спецификацией XG, любым из эффектов
можно обрабатывать и внешние источники звука, подключенные
к линейному входу. И GS и XG имеют не менее 32 голосов
полифонии (чаще 64) и 16частную мультитембральность.