Команды сброса
Сообщение All Notes Off (CC#123) дает команду тон-генератору выключить все звучащие на канале ноты. Тон-генератор должен реагировать так, как будто для каждой звучащей ноты пришло сообщение Note Off. Таким образом, команда All Notes Off включает у каждой ноты участок затухания (Release) огибающей. Эта команда должна влиять только на те ноты, сообщение о взятии которых пришло через MIDI-вход устройства и не должна влиять на ноты, которые были взяты на локальной клавиатуре. Спецификация не требует, чтобы устройство реагировало на команду All Notes Off, поскольку аналогичное действие можно выполнить, послав для каждой звучащей ноты сообщение Note Off в индивидуальном порядке, хотя это и более хлопотно. На некоторых устройствах есть так называемая "кнопка паники" (Panic Button). Она, как правило, посылает сообщение All Notes Off по всем MIDI-каналам, но может посылать также сообщения Note Off для всех номеров нот, и другие команды сброса. Пример последовательности байт для выключения нот на первом MIDI-канале показан на рис. 13.
Сообщение должно влиять только на ноты, полученные через MIDI-вход устройства, и не должно влиять на ноты, извлеченные с локальной клавиатуры. Сообщение Reset All Controllers (CC#121) появилось в 1988 году. Оно дает команду сбросить все контроллеры на канале в начальное состояние (состояние по умолчанию, пресетное), за исключением тех, которые управляют текущим режимом канала. Пресетные значения каждого контроллера спецификация жестко не определяет (тут производители имеют свободу выбора), но рекомендации дает следующие. Контроллеры-переключатели (типа Hold Pedal) переводятся в состояние Off (педали отпущены). Модуляция устанавливается в 0. Экспрессия — в максимум, громкость (MIDI Volume) — в 100, панорама — в центр, звуковысотное колесо — в среднее положение. Параметры RPN также сбрасываются, в частности, диапазон изменения высоты тона (Pitch Bend Sensitivity) устанавливается в +/-2 полутона. Если тон-генератор реагирует на послекасание, то оно сбрасывается в 0 для нот, звучащих в момент прихода команды. Спецификация не требует, чтобы инструмент реагировал на команду Reset All Controllers. В этом случае устройство управления (обычно секвенсор) должно сбросить каждый контроллер по отдельности. При этом пресетные значения, естественно, будут выбраны производителем секвенсора. Для тех устройств, которые реагируют на сброс контроллеров, в документации обычно указано, какие пресетные значения используются.
|