Цифровой звук

Управление реверберацией по 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 и т.п.), благодаря которым можно абстрагироваться от программирования в шестнадцатеричных кодах.



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