Локальные канальные сообщения
Задаются контроллерами от 120 до 127 и управляют обработкой сообщений в каналах:
- 120 – All Sounds Off;
- 121 – Reset All Controllers;
- 122 – Local Control;
- 123 – All Notes Off;
- 124 – Omni Off;
- 125 – Omni On;
- 126 – Mono;
- 127 – Poly.
Обязательными в General MIDI определены только контроллеры 121 и 123.
Сообщение All Notes Off имитирует выключение всех включенных нот и полностью эквивалентно посылке сообщения Note Off для каждой звучащей ноты; будет ли при этом прекращено звучание ноты – зависит от состояния режимов Sustain и Sostenuto. Сообщение All Sounds Off действует так же, но не зависит от режимов Sustain/Sostenuto; кроме того, оно немедленно прекращает звучание всех нот, находящихся в стадии концевого затухания (Release).
Состояние самих режимов Sustain/Sostenuto эти сообщения не затрагивают.
Сообщение Reset All Controllers устанавливает все контроллеры в значения по умолчанию и используется для начальной установки устройства перед проигрыванием партитуры.
Сообщение Local Control служит для запрета/разрешения управления устройством с локальной панели. Нулевое значение параметра запрещает управление с панели, (устройство управляется только по MIDI), значение "127" разрешает его.
Сообщения Omni On/Off служат для включения/выключения режима Omni – реакции устройства на канальные сообщения. При включенном режиме Omni устройство обрабатывает сообщения для всех каналов, при отключенном – только сообщения для выбранного канала (Basic Channel). Это позволяет разделить устройства между каналами. Канал назначается устройству либо с его панели управления, либо при помощи сообщений SysEx. Режим Omni имеет смысл в основном для старых инструментов, имеющих один MIDI-канал и не поддерживающих разделение тембров.
Сообщения Mono/Poly служат для переключения одноголосного и многоголосного (полифонического) режимов.
В одноголосном режиме в каждый момент времени может звучать только одна нота; включение новой ноты приводит к принудительному отключению предыдущей. В полифоническом режиме включение каждой новой ноты запускает очередной свободный генератор, а по окончании работы генераторов новые ноты либо игнорируются, либо приводят к принудительному выключению наиболее "старых" нот. Значение nn в сообщении Mono воспринимается некоторыми устройствами как количество MIDI-каналов, по которым, начиная с Basic Channel, распределяются ноты в одноголосном режиме при выключенном режиме Omni. Смысл этой группы каналов различен для передающих и принимающих устройств. Передающее устройство направляет первую ноту в Basic Channel, следующую за ней – в Basic Channel + 1 и т. д., затем очередная нота снова направляется в Basic Channel, и цикл повторяется. Приемное устройство воспринимает канальные сообщения только внутри заданной группы каналов, каждый из которых работает в одноголосном режиме. Такой прием позволяет реализовать многоголосное исполнение на синтезаторах, имеющих жесткую привязку голосов (генераторов) к MIDI-каналам. Контроллеры Omni, Mono и Poly вызывают также отработку контроллера All Sounds Off. От различных сочетаний режимов Omni, Poly и Mono происходят четыре основных режима работы (mode) MIDI-устройств:
- 1 – Omni On, Poly;
- 2 – Omni On, Mono;
- 3 – Omni Off, Poly;
- 4 – Omni Off, Mono.
Большинство современных устройств работает в режиме mode 3 – полифонический режим с независимой работой каналов.
В GM должно быть 128 звуков мелодических инструментов и 47 звуков ударных, которые должны располагаться в определенном порядке (табл. 2.7 и 2.8).
Таблица 2.7. Мелодические инструменты.
MIDI-номер | Название инструмента |
---|---|
0 | Acoustic Grand Piano – большой акустический рояль |
1 | Bright Acoustic Piano – яркий акустический рояль |
2 | Electric Grand Piano – большое электрическое пианино |
3 | Honky-tonki Piano – расстроенный рояль |
4 | Electric Piano 1 – электрическое пианино 1 |
5 | Electric Piano 2 – электрическое пианино 2 |