link357 link358 link359 link360 link361 link362 link363 link364 link365 link366 link367 link368 link369 link370 link371 link372 link373 link374 link375 link376 link377 link378 link379 link380 link381 link382 link383 link384 link385 link386 link387 link388 link389 link390 link391 link392 link393 link394 link395 link396 link397 link398 link399 link400 link401 link402 link403 link404 link405 link406 link407 link408 link409 link410 link411 link412 link413 link414 link415 link416 link417 link418 link419 link420 link421 link422 link423 link424 link425 link426 link427 link428 link429 link430 link431 link432 link433 link434 link435 link436 link437 link438 link439 link440 link441 link442 link443 link444 link445 link446 link447 link448 link449 link450 link451 link452 link453 link454 link455 link456 link457 link458 link459 link460 link461 link462 link463 link464 link465 link466 link467 link468 link469 link470 link471 link472 link473 link474 link475
Cubase
Меню сайта
Разделы
 Уроки и описания
Главная » Учебник Cubase

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

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):

* RPN 0 — Pitch Bend Sensitivity — контроллер для изменения чувствительности колеса сдвига тона (Pitch Bend);
* RPN I — Fine Tuning — контроллер для точной подстройки строя синтезатора;
* RPN 2 — Coarse Tuning — контроллер для грубой подстройки строя синтезатора.

RPN 0 определяет количество полутонов, на которое смещается высота тона при получении сообщения Pitch Bend Change с максимально допустимым абсолютным значением параметра. По умолчанию принимается диапазон перестройки частоты на плюс-минус два полутона.
В сообщении RPN 0 содержится параметр X, определяющий ширину диапазона перестройки тона. Он рассчитывается по формуле X = 1284N+C, где N — ширина диапазона в полутонах, С — уточнение ширины диапазона в центах (сотых долях полутона). Некоторые синтезаторы (например, поддерживающие спецификации GS или XG) воспринимают только целое число полутонов (значение параметра С игнорируется). Чтобы, например, установить ширину диапазона перестройки частоты колеса сдвига тона равной плюс-минус одной октаве, нужно передать сообщение NRPN 0 1536. Число 1536 рассчитано следующим образом: 128412 = 1536 (12 — количество полутонов в октаве).
RPN 1 и RPN 2 позволяют сместить строй инструмента в MIDI-канале на заданное количество центов при точной или полутонов при грубой подстройке. За относительный ноль принимается значение 64.
Интерпретация остальных контроллеров RPN и NRPN стандартом не определена. Каждый производитель MIDI-аппаратуры может использовать их по своему усмотрению.
Спецификацией Roland GS (General Synth) определены дополнительные контроллеры:

* № 91 — Reverb Level — контроллер глубины реверберации;
* № 93 — Chorus Level — контроллер глубины хоруса.

Спецификацией Yamaha XG (extended General) определены контроллеры, которые не предусмотрены спецификацией Roland GS:

* № 71 — Harmonic Content — контроллер глубины резонанса фильтра;
* № 72 — Release Time — контроллер времени затухания звука после выключения ноты;
* № 73 — Attack Time — контроллер времени нарастания звука после включения ноты;
* № 74 — Brightness — контроллер частоты среза фильтра;
* № 84 — Portamento Control — контроллер номера ноты, начиная с которой будет выполнено плавное скольжение по частоте до очередной включенной ноты (портаменто);
* № 94 — Variation Level — контроллер глубины эффекта Variation;
* № 96 — RPN Increment — контроллер увеличения значения RPN на 1, значение контроллера RPN Increment игнорируется;
* № 97 — RPN Decrement — контроллер уменьшения значения RPN на 1, значение контроллера RPN Decrement игнорируется.

Таким образом, устройства, соответствующие спецификациям GM, GS и XG, обладают различными возможностями по управлению параметрами синтеза. Исчерпывающие сведения о контроллерах, регистрируемых и нерегистрируемых параметрах можно найти только в документации на конкретные модели звуковых карт, синтезаторов и модулей синтеза.

Раздел: Уроки Cubase | Обсудить на форуме
Cubase.su © 2008–. Все права на треки принадлежат их авторам!