Звуковая студия в PC

       

Управление параметрами звука по midi


В руководстве пользователя звуковой карты семейства AWE вы не найдете ни одного слова о способах управления такими параметрами генерации звука, как, например, частота среза фильтра и уровень резонанса, или о том, как изменять формы огибающих громкости и модуляции. Непосвященный человек может подумать, что таких возможностей нет, что все параметры, хранящиеся в SoundFont, фиксированы и не поддаются изменениям. Однако это не так.

Возможно, авторы руководства пользователя посчитали, что описанных возможностей звуковой карты и так достаточно, а любознательные пользователи могут найти все ответы на свои вопросы в Internet. Этот раздел книги — наш маленький вклад в борьбу за права потребителя, ведь, как мы уже говорили, покупатель звуковой карты не обязан быть пользователем Internet и не обязан знать английский язык.

Что касается описанных возможностей, то их иногда бывает недостаточно. Например, ни одна современная танцевальная композиция не обходится без эффектов, связанных с изменением параметров резонансного фильтра. А если и обходится, то у ценителей такой музыки может возникнуть вполне справедливый вопрос: “Почему бы этому DJ не покрутить колесо управления фильтром хотя бы ради приличия?” И это не просто наше личное мнение. Не зря ведь фирма Yamaha в своем самом современном стандарте XG определила, что любой инструмент, соответствующий данному стандарту, обязан иметь манипуляторы управления параметрами звука (такими как уровень резонанса и частота среза фильтров). Звуковые карты семейства AWE стандарт XG не поддерживают. Однако возможность управления параметрами звука при помощи хитрых, но не сложных MIDI-сообщений имеется. Об этой возможности мы и расскажем.

Кроме RPN бывают еще и NRPN (Non Registered Parameter Number) — номер нефиксированного (изменяемого) параметра. Главное его отличие от RPN состоит в том, что одни и те же NRPN у разных производителей MIDI-оборудования могут соответствовать различным параметрам генерации звука. Задав NRPN можно выбрать интересующий параметр генерации звука и определить его значение с помощью манипуляторов Data entry.


Для звуковых карт семейства AWE значение NRPN MSB всегда должно быть равно 127, а в NRPN LSB нужно передавать номер интересующего вас параметра звука. Значение этого параметра передается через манипуляторы Data Entry. Таким образом, процесс управления параметрами звука сводится к выполнению последовательности MIDI-сообщений, приведенной в табл. 3.2.

Таблица 3.2. MIDI-сообщения управления параметрами звука



Номер MIDI-сообщения


Номер манипулятора (controller)


Название манипулятора


Положение манипулятора (value)


1


99


NRPN MSB


127


2


98


NRPN LSB


N


3


6


Data Entry MSB


X


4




38


Data Entry LSB


Y
Здесь N — номер контролируемого параметра, а X и Y — числа, рассчитываемые по следующим формулам:

X = (ЗПЗ+ 8192) / 128

Y = (ЗПЗ + 8192) % 128,

где символ “ / ” означает целую часть от деления на 128, а “ % ” — остаток от деления; ЗПЗ — значение параметра звука.

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

ЗПЗ = [(Data entry MSB)x128 + Data entry LSB)] – 8192.

Однако в реальной жизни компьютерного музыканта управление параметрами звука осуществляется более простым способом. Во-первых, если вы собираетесь управлять только каким-либо одним параметром, достаточно однократного выполнения MIDI-команд 1 и 2 (см. табл. 3.2), а далее можно многократно изменять только значения параметра через манипуляторы Data entry. Во-вторых, скорее всего, вам не придется каждый раз рассчитывать числа X и Y с помощью калькулятора. вы можете написать простенькую программку на языке C++... Не пугайтесь, это шутка. Дело вот в чем.


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