General MIDI — Википедия

General MIDI или GM — стандартизированная спецификация для электронных музыкальных инструментов, отвечающих на MIDI-сообщения. Стандарт GM был разработан Американской Ассоциацией Производителей MIDI (MIDI Manufacturers Association) совместно с Японским Комитетом По Стандартам MIDI (Japan MIDI Standards Committee) и впервые продемонстрирован в 1991 году.

GM включает в себя новые требования, выходящие за рамки более абстрактной спецификации MIDI 1.0. В то время как MIDI 1.0 сам по себе обеспечивает коммуникационный протокол, который гарантирует, что различные инструменты могут взаимодействовать на фундаментальном уровне (например, нажатие клавиш на MIDI-клавиатуре приведет к тому, что подключенный звуковой модуль MIDI будет воспроизводить музыкальные ноты), GM идет дальше двумя способами: во-первых, требует, чтобы все совместимые с GM инструменты соответствовали определенному минимальному набору функций, например, возможность воспроизводить по меньшей мере 24 ноты одновременно (полифония); а во-вторых, придает конкретные интерпретации многим параметрам и управляющим сообщениям, которые не были продемонстрированы в MIDI 1.0, например, определение звуков инструмента для каждого из 128 возможных номеров программ).

GM-инструменты имеют возможность:

  • Разрешать 24 голоса одновременно (включая по меньшей мере 16 мелодичных и 8 ударных голосов)
  • Отвечать на скорость записи
  • Поддерживать все 16 каналов одновременно (с 10-м каналом для перкуссии)
  • Поддерживать полифонию (несколько одновременных нот) на каждом канале

Параметры интерпретации

[править | править код]

GM-инструменты должны также соблюдать следующие соглашения для событий программы и контроллера:

События изменения программы

[править | править код]

В MIDI звук инструмента или «программа» для каждого из 16 возможных MIDI-каналов выбирается с сообщением Program Change, имеющим параметр Program Number. В представленной ниже таблице показано, какой звук инструмента соответствует каждому из 128 возможных номеров программ только для GM. Есть 128 номеров программ. Цифры могут отображать как значения от 1 до 128, так и от 0 до 127. Нумерация от 0 до 127 чаще всего используется, в основном, только встроенным синтезатором, в то время как подавляющее большинство MIDI-устройств, цифровых звуковых рабочих станций и профессиональных MIDI-секвенсоров отображают номера программ, как показано в таблице, от 1 до 128.

Хроматическая перкуссия

[править | править код]
  • 81 Ведущий голос 1 (меандр)
  • 82 Ведущий голос 2 (пилообразная волна)
  • 83 Ведущий голос 3 (каллиопа)
  • 84 Ведущий голос 4 (чиффер)
  • 85 Ведущий голос 5 (чаранг)
  • 86 Ведущий голос 6 (голос)
  • 87 Ведущий голос 7 (квинта)
  • 88 Ведущий голос 8 (бас и ведущий голос)
  • 89 Подголосок 1 (Нью Эйдж, или "Фантасия")
  • 90 Подголосок 2 (теплый звук)
  • 91 Подголосок 3 (полисинтезатор)
  • 92 Подголосок 4 (хор, или "Space Voice")
  • 93 Подголосок 5 (искривленный звук)
  • 94 Подголосок 6 (металлический звук)
  • 95 Подголосок 7 (гало)
  • 96 Подголосок 8 (свип)

В стандарте GM ударные инструменты зарегистрированы только на 10-м канале. Ноты, записанные на канале 10, всегда создают звуки перкуссии при передаче на клавиатуру или синтезаторный модуль, который использует стандарт GM. Каждое из 128 различных возможных номеров заметок коррелирует с уникальным ударным инструментом, но шаг звука не относится к номеру ноты.

Если MIDI-файл запрограммирован на общий MIDI-протокол, результаты будут предсказуемы, но точность воспроизведения звука может варьироваться в зависимости от качества синтезатора GM:

Контроллер событий

[править | править код]

В MIDI настраиваемые параметры для каждого из 16 возможных MIDI-каналов могут быть установлены с помощью сообщения Control Change, которое имеет параметр Control Number и параметр Control Value. GM также указывает, какие операции должны выполняться несколькими номерами управления:[1]

1 Колесо модуляции
7 Громкость
10 Баланс
11 Экспрессия
64 Педаль сустейна
100 Зарегистрированный номер параметра LSB
101 Зарегистрированный номер параметра MSB
121 Все контроллеры выключены
123 Все ноты выключены

GM определяет несколько зарегистрированных параметров, которые действуют как контроллеры, но рассматриваются иначе. В MIDI каждому зарегистрированному параметру присваивается номер зарегистрированного параметра или RPN. Зарегистрированные параметры обычно называются RPN для краткости.

Настройка зарегистрированных параметров требует отправки (числа десятичные):

  1. два сообщения смены управления с использованием номеров управления 101 и 100 для выбора параметра, за которым следует
  2. любое количество сообщений ввода данных одного или двух байтов (MSB = Controller # 6, LSB = Controller # 38) и, наконец,
  3. сообщение «Конец RPN»

Следующие глобальные номера зарегистрированных параметров (RPN) стандартизированы[2] (параметр задается парой RPN LSB / MSB, а значение устанавливается с помощью пары LSB / MSB ввода данных):

0,0 Диапазон изменения высоты тона
1,0 Канальная тонкая настройка
2,0 Канальная грубая настройка

Например: последовательность управления RPN для установки грубой настройки на A440 (пар. 2, значение 64):
101: 0, 100: 2, 6:64, 101: 127, 100: 127

Исключительные сообщения системы

[править | править код]

Определяются два сообщения GM System Exclusive («SysEx»): один для включения и отключения режима общей совместимости MIDI (для синтезаторов, которые также имеют не-GM-режимы); а другой - для установки основного тома синтезатора.

Расширения GS

[править | править код]

GS — расширение стандарта General MIDI, в котором добавлено несколько проприетарных расширений. Наиболее примечательным дополнением была способность обращаться к нескольким банкам программ (звуков инструмента) с помощью дополнительной пары контроллеров Bank Select, чтобы указать до 16384 «вариационных» звуков (cc#0 - Bank Select MSB, а cc#32 - Bank Выберите LSB). Другими наиболее примечательными особенностями были 9 комплектов ударных с 14 дополнительными звуками ударных, одновременные комплекты ударных - до 2 (каналы 10/11), сообщения смены управления для управления уровнем отправки блоков звукового эффекта (cc#91-94), ввода дополнительные параметры (cc#98-101), portamento, sostenuto, мягкая педаль (cс#65-67) и специфичные для модели сообщения SysEx для установки различных параметров синтезатора.

GS был представлен в 1991 году линейкой Roland Sound Canvas, которая также была первым в России модулем синтезатора General MIDI.

General MIDI Level 2

[править | править код]

В 1999 году появилась обновленная версия стандарта GM, включающая в себе еще больше контроллеров, патчей, RPN и SysEx-сообщений в попытке согласовать конфликтующие и проприетарные дополнения Roland GS и Yamaha XG. Вот краткий обзор изменений GM2 по сравнению с GM / GS:

  • Количество нот составляет минимум 32 от одновременных нот
  • Одновременных ударных наборов составляет примерно до 2 (Каналы 10/11)
  • Допускается до 16384 банка вариаций, каждая из которых содержит версию 128 мелодических звуков (точное использование этих банков зависит от конкретного производителя)
  • В GS включены 9 ударных комплектов
  • Дополнительные сообщения об изменении управления:
    • Резонанс фильтра (тембр / гармоническая интенсивность) (cc#71)
    • Время выпуска (cc#72)
    • Время атаки (cc#73)
    • Частота яркости / среза (cc#74)
    • Время затухания (cc#75)
    • Время вибрато (c #76)
    • Глубина вибрато (cc#77)
    • Задержка вибрато (cc#78)
  • Зарегистрированные номера параметров (RPN)
    • Диапазон глубины модуляции (диапазон глубины вибрато)
  • Универсальные сообщения SysEx
    • Мастер-громкость, тонкая настройка, грубая настройка
    • Тип реверберации, время
    • Тип хора, скорость мод, глубина мод, обратная связь, отправка в ревербацию
    • Настройка адресата контроллера
    • Настройка масштабирования/октавы
    • Контроллеры на базе клавиш
    • Система GM2 в сообщении SysEx

Дополнительные мелодические инструменты можно получить, установив значения CC#0 на 121, а затем используя CC#32, чтобы выбрать банк до изменения программы.

Примечания

[править | править код]
  1. MIDI Messages technical specification Архивная копия от 12 января 2016 на Wayback Machine Table 3 - Control Change Messages (Data Bytes)
  2. General MIDI 1, 2 and Lite Specifications. Дата обращения: 10 января 2018. Архивировано 3 января 2012 года.

Официальные организации по MIDI стандартам

[править | править код]