Вопросы и ответы по стандарту MIDI

Стандартные ударные инструменты General MIDI, доступные в канале 10

Pitch Bend Change (ll — младший, mm — старший байты значения). Задает смещение высоты тона для всех нот в канале — как звучащих, так и последующих. Значение, образованное двумя семиразрядными величинами, изменяется в диапазоне 0..16383. Среднее значение (8192) принимается за относительный нуль, что дает условный диапазон изменения — 8192..8191. Чувствительность Pitch Bend может регулироваться с помощью RPN0. По умолчанию принимается предельное смещение на два полутона в любую сторону.

Системные сообщения

System Exclusive (SysEx). Служит для передачи специальной информации конкретным устройствам. Может включать любое количество байтов. Признаком конца сообщения является байт F7. Первые три байта SysEx обычно содержат идентификатор производителя устройства (присваивается Ассоциацией производителей MIDI-устройств — MMA), номер самого устройства в сети (задается с пульта) и код модели. Последний, как и все остальное, связанное с форматом сообщений, в частности команды, параметры, оцифрованные инструменты, партитуры и т. п., определяется производителем.

Шестнадцатеричные идентификаторы наиболее известных производителей

Приведем несколько примеров таких сообщений.

General MIDI On (переключение в режим GM для устройств, поддерживающих дополнительные стандарты): F0 7E 7F 09 01 F7.

General Synth On (переключение в режим Roland GS для устройств, поддерживающих этот стандарт): F0 41 10 42 12 40 00 7F 00 41 F7.

XG System On (переключение в режим Yamaha XG для устройств, поддерживающих этот стандарт): F0 43 1n 4C 00 00 7E 00 F7, где n — номер устройства в сети (устанавливается по-разному для разных устройств, по умолчанию принимается 0).

Ряд устройств требует, чтобы включение режимов GS и XG выполнялось из режима GM. Переключение между режимами обычно занимает несколько десятков миллисекунд и вызывает также полный сброс MIDI-системы устройства.

Tune Request. Предписывает выполнить автоматическую подстройку, нуждающимся в ней устройствам. Обычно это относится к аналоговым синтезаторам, строй которых может смещаться из-за нестабильности управляющих элементов.

Song Position Pointer (ll — младший, mm — старший байт). Осуществляет установку позиции в партитуре для устройств, имеющих встроенный секвенсер, автоаккомпанемент или ритм-блок. Задается номером четвертной (quarter) ноты с начала партитуры.

Song Select (ss — условный номер партитуры). Определяет, какая из существующих партитур будет проигрываться при получении сообщения Start.

Start. Запускает проигрывание или запись выбранной партитуры с самого начала.

Stop. Останавливает проигрывание или запись партитуры.

Continue. Запускает проигрывание или запись партитуры с прерванного места либо с позиции, установленной с помощью Song Position Pointer.

Timing Clock. Обеспечивает синхронизацию устройств. Частота передачи — шесть сообщений на четвертную ноту. Генерация этого сообщения не является обязательной.

Active Sensing. Используется для проверки наличия связи в MIDI-сети. Генерация сообщения не является обязательной для передатчиков. Но получая его, каждое приемное устройство переходит в режим слежения за MIDI-потоком и при отсутствии любых сообщений в течение 300 мс автоматически отрабатывает контроллеры All Notes Off, All Sounds Off и Reset All Controllers, что позволяет прекратить работу в случае нарушения связи. Однако до первого прохождения этого сообщения по сети устройства не следят за длительностью пауз между сообщениями.

ОБ АВТОРЕ

Евгений Музыченко — специалист лаборатории «Системы мультимедиа» (MSG), Новосибирск,
НТК «Велгас».
Тел.: (3832) 21-61-64,
2:5000/14@FidoNet,
e-mail: music@spider.nstu.nsk.su