Технология создания 3D звука

         

Управление реверберацией по MIDI



Управление реверберацией по MIDI

В стандарте General MIDI (GM) прописан только один параметр для управления глубиной (уровнем) реверберации — контрольное сообщение под номером 91 (5BH).

В GS и XG возможности управления значительно расширены. Во-первых, по NRPN можно влиять на уровень реверберации отдельно для разных ударных инструментов. Например, вот так можно уменьшить реверберацию для большого барабана (Kick) стандартного GM Drum набора:

№ СС Значение Комментарий

63H 1DH Установить старший MSB
62H 24H Установить младший MSB
06H 10H Ввести новое значение уровня реверберации

Указанные значения можно ввести вручную в окне редактирования MIDI событий любого секвенсора (окно Events в Cakewalk, Sonar).

Во-вторых, для GS, XG, GM2 можно оперативно сменить тип реверберации. Реализуется это посылом специального SysEx сообщения. Например, вот такое сообщение устанавливает тип реверберации Room3 для синтезатора серии Roland Sound Canvas (SC-8820):

F0 41 10 42 12 40 01 30 02 0D F7

Здесь:

F0 41 10 42 12 — заголовок SysEx сообщения;
40 01 30 — три байта определяют характер MIDI-сообщения — смена типа реверберации;
02 — тип реверберации Room3;
0D — контрольная сумма;
F7 — конец SysEx сообщения.

Для синтезатора XG это будет выглядеть так:

F0 43 10 4C 02 01 00 02 02 F7

Здесь:

F0 43 10 4C — заголовок SysEx сообщения;
02 01 00 — три байта задают адрес смены типа реверберации;
02 02 — два байта определяют тип реверберации Room3;
F7 — конец SysEx сообщения.

В-третьих, имеется возможность менять множество параметров реверберации. В таблице ниже представлены управляемые параметры для GS и XG совместимых синтезаторов:

Параметр GS (SC-8820) XG (SW1000XG)
Level Есть Есть
Time Есть Есть
Diffusion Нет Есть
Pre-Delay Time (Initial Delay) Есть Есть
LPF Есть Есть
HPF Нет Есть
Reverb Delay Нет Есть
Density Нет Есть
Er/Rev Balance Нет Есть
Feedback Level Нет Есть
Wall Vary Нет Есть

Реализуются они также посылом SysEx сообщений. Например, для XG устройства следующее сообщение устанавливает максимальное время реверберации:

F0 43 10 4C 02 01 02 7F F7

В данном случае три байта 02 01 02 определяют смену параметра реверберации — Reverb Time, а предпоследний байт 7F — задает максимальную длительность.

Разумеется, для управления указанными параметрами удобнее использовать специализированные редакторы (XG Edit, GS Advanсed Editor и т.п.), благодаря которым можно абстрагироваться от программирования в шестнадцатеричных кодах.



Содержание раздела