Работа с привилегированными системными сообщениями
6.2.4. Работа с привилегированными системными сообщениями
Вероятно, вы уже заметили, что в раскрывающемся списке Insert есть строка SysEx, это означает, что в окне List Editor можно создавать и редактировать привилегированные системные MIDI-сообщения (SysEx — System Exclusive Message).
Управление большинством скрытых ресурсов MIDI-синтезаторов осуществляется посредством системных сообщений. С помощью системных сообщений можно управлять, например, параметрами эффект-процессора, осуществлять доступ к ячейкам памяти синтезатора, в которых хранятся те или иные параметры синтеза, загружать в память синтезатора установки патчей и т. п.
Системные сообщения представляют собой последовательность двузначных шестнадцатеричных чисел (одно такое число соответствует байту). Каждое системное сообщение начинается с числа F0 — идентификатора начала системного сообщения. Затем следует идентификатор устройства (фирмы-производителя этого устройства) или устройства, с которым совместим данный синтезатор. Например, синтезаторы фирмы Yamaha кодируются числом 43, фирмы Roland — 41, EMU — 18. После идентификатора следует последовательность кодов, длина и формат которой определяется моделью синтезатора (устанавливается производителем) и типом передаваемых сообщений. Завершается системное сообщение всегда числом F7 — идентификатором конца системного сообщения (ЕОХ — End Of eXclusive).
О том, какие системные сообщения "понимает" ваш синтезатор, можно узнать из его технического описания. Как правило, эти сведения приводятся в виде таблицы, содержащей тип системного сообщения, его формат и назначение отдельных байтов. Например, сведения о поддерживаемых синтезаторами стандарта XG системных сообщениях могут выглядеть следующим образом:
11110000 F0 Exclusive status
01000011 43 YAMAHA ID
00010001 In Device Number
01001100 4C XG Model ID
0aaaaaaa aa Address High
0aaaaaaa aa Address Mid
Qaaaaaaa aa Address Low
0dddddd dd Data
11110111 F7 End of Exclusive
В первом столбце содержатся двоичные коды системных сообщений, во втором — их шестнадцатеричные коды. Прописными (большими) буквами обозначаются шестнадцатеричные цифры от А до F, а строчными (маленькими) — переменные. В приведенном примере пппп — номер устройства (синтезатора), которому адресовано сообщение; аа — адрес одной или нескольких ячеек памяти синтезатора, содержащих параметр, значение которого нужно изменить. В данном случае для передачи адреса используется три сегмента: старший (High), средний (Mid) и младший (Low) байты. Переменные dd — это данные, которые необходимо записать в память по указанному адресу. В правом столбце приведены сведения о назначении байта. Конкретные значения переменных в системных сообщениях следует искать в других таблицах, которые, в свою очередь, могут содержать ссылки на следующие таблицы. Разобраться с этими таблицами не так-то просто, но можно, если захотеть. Чтобы, например, для звуковой карты, поддерживающей спецификацию XG, выбрать реверберацию типа Tunel (звук, как в тоннеле), последовательность системных сообщений должна выглядеть так: F0 43 10 4С 02 01 00 11 00 F7. О применении системных сообщений для смены типа эффекта в некоторых звуковых картах мы подробно рассказали в книгах [6, 9, 11, 46]. Наиболее распространенное применение системных сообщений — передача синтезатору команды сброса в исходное состояние.
Итак, если вы хотите получить доступ ко всем без исключения ресурсам синтезатора, без редактора системных сообщений SysEx вам не обойтись. Как добраться до такого редактора в Cubase SX? Сейчас мы вам об этом расскажем на примере записи сообщения о системном сбросе синтезатора, соответствующего спецификации GM. Оно необходимо для того, чтобы привести систему управления синтезатора в правильное исходное состояние. Подобное сообщение желательно вставлять в начале каждого проекта в часть на один из его MIDI-треков. Слово "подобное" означает здесь то, что сообщение о сбросе должно соответствовать стандарту, который поддерживается синтезатором. Конкретно, следует формировать следующие сообщения:
- Для GM-синтезатора - F0 7E 7F 09 01 F7;
- Для ХС-синтезатора - FO 43 10 4С 00 00 7Е 00 F7;
- Для GS-синтезатора — F0 41 10 42 12 40 00 7F 00 41 F7.
В раскрывающемся списке Insert выберите строку SysEx и известным вам способом вставьте в начало списка сообщение типа SysEx (Рисунок 6.11).
Сообщение типа SysEx вставлено, но оно пока пусто (содержит только признаки начала и конца SysEx). Обратите внимание на ячейку в столбце Comment, именно там отображается содержание сообщения, в данном случае символы F0,F7. Щелкните на этой ячейке для того, чтобы открыть окно редактора системных сообщений MIDI-Sysex-Editor (Рисунок 6.12).