Иллюстрированный самоучитель по CubaseSX



              

Program Change — сообщение о смене MIDI-инструмента


Program Change — сообщение о смене MIDI-инструмента (тембра, патча, программы). Параметры сообщения — способ выбора банка, номер банка, номер инструмента в банке.

Поскольку MIDI-инструменты распределены по банкам, в спецификации MIDI сообщению Program Change соответствует совокупность сообщений: Program Change, Bank Select MSB и Bank Select LSB.

Для выбора MIDI-инструмента предназначено сообщение Program Change формата Ck pp, где k — номер MIDI-канала, pp — номер MIDI-инструмента.

Для переключения банков служат контроллеры:

  •  № 0 — Bank Select MSB — контроллер выбора банка (старший байт);

  •  № 32 — Bank Select LSB — контроллер выбора банка (младший байт).

    Одним MIDI-устройствам для переключения банков требуется только один из этих контроллеров, другим — оба. Обработка MIDI-устройством команды смены банка и MIDI-инструмента может занять значительное время (десятки миллисекунд и более).

    В спецификации General MIDI регистрируемые (Registered Parameter Number — RPN) и нерегистрируемые (Non-Registered Parameter Number — NRPN) параметры введены дополнительно для расширенного управления синтезом.

    Номера RPN и NRPN передаются при помощи контроллеров: 

    •  № 98 — NRPN LSB — контроллер младшего байта параметра NRPN; 

    •  № 99 — NRPN MSB — контроллер старшего байта параметра NRPN; 

    •  № 100 — RPN LSB — контроллер младшего байта параметра RPN; 

    •  № 101 — RPN MSB — контроллер старшего байта параметра RPN. 

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

      •  № 6 — Data Entry MSB — контроллер вводимых данных (старший байт); 

      •  № 38 — Data Entry LSB — контроллер вводимых данных (младший байт). 

        Такой механизм передачи сообщений можно охарактеризовать как "контроллер в контроллере". Стандартом определена интерпретация только трех RPN (их значения задаются старшими байтами параметров Data Entry):




        Содержание  Назад  Вперед