Описание канальных сообщений 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Описание канальных сообщений



Note On (nn — номер ноты, vv — скорость (velocity) нажатия)

Note Off (nn — номер ноты, vv — скорость отпускания)

Cообщает о включении/выключении звучания ноты. MIDI-клавиатура генерирует эти сообщения при нажатии/отпускании клавиш, MIDI-синтезатор запускает или останавливает работу соответствующего генератора звука.

Номер ноты задается абсолютным номером полутона в диапазоне 0…127, при этом центральной фортепианной клавише — ноте «До» первой октавы — соответствует десятичный номер 60 (в MIDI принята нумерация октав с нуля, поэтому она обозначается как C-5).

Скорость нажатия/отпускания задается числом в диапазоне 0…127, отражающим скорость перемещения клавиши (обычно используется логарифмическая шкала). Скорость нажатия косвенно отражает силу удара по клавише. Чувствительная к скорости нажатия (динамическая) клавиатура выдает реальные значения, нечувствительная должна выдавать десятичные значения 64. Значение 0 в сообщении Note On полностью эквивалентно сообщению Note Off для этой же клавиши — это позволяет при передаче только нажатий и отпусканий использовать режим Running Status.

Простые синтезаторы используют скорость нажатия для управления громкостью извлекаемого звука, более сложные — также для управления фильтрами (более громким звукам соответствует более звонкое звучание) либо выбора разных самплов, пропорции смешивания нескольких самплов, и т.п.

При поступлении повторного сообщения Note On для уже нажатой ноты различные инструменты ведут себя по-разному: одни автоматически отрабатывают перед этим Note Off, прекращая звучание «зависшей» ноты; другие запускают отдельный генератор, оставляя зависшую ноту звучать. Звучание зависшей ноты в этом случае может быть прекращено только командами All Sounds Off или Reset.

Channel Pressure (pp — величина давления)

Key Pressure (nn — номер ноты, pp — величина давления)

Cообщает об изменении силы давления (After Touch — после прикосновения (нажатия)) на всю клавиатуру или отдельную клавишу. Наиболее простые клавиатуры не имеют датчика давления; клавиатуры средней сложности имеют общий датчик для всех клавиш, посылая сообщения Channel Pressure по результатам усреднения давления на все нажатые клавиши; наиболее сложные клавиатуры имеют отдельные датчики для каждой клавиши, посылая изменения в состоянии каждого датчика.

Поведение синтезатора в ответ на эти сообщения стандартом не определено. Обычно синтезаторы с поддержкой Aftertouch имеют команды для привязки сообщений к выбранным параметрам синтеза (громкости, модуляции, фильтрам, эффектам и т.п.).

Control Change (cc — номер, vv — значение контроллера)

Сообщает об изменении состояния органов управления (контроллеров). MIDI-контроллеры делятся на непрерывные (continuous) — рукоятки, движки, имеющие диапазон непрерывного изменения, и переключатели (switches) — педали, кнопки, тумблеры, имеющие два дискретных состояния (On/Off — включено/выключено). Значения 0...63 означают выключенное состояние переключателя, значения 64...127 — включенное.

Основным стандартом (MIDI level 1) принята следующая нумерация контроллеров:

0...31 — старшие байты значений непрерывных контроллеров 0...31

32...63 — младшие байты значений непрерывных контроллеров 0...31

64...95 — переключатели

96...121 — резерв

120...127 — специальные канальные сообщения

На самом деле практически никто не следует предложенной схеме распределения, за исключением контроллеров 120...127 (специальные канальные сообщения), которые везде имеют одинаковое значение.

Стандартом MIDI рекомендована следующая нумерация контроллеров:

0 — Bank Select MSB (выбор банка, старший байт)

1 — Modulation (глубина частотной модуляции)

2 — Breath Control (данные с духового контроллера)

4 — Foot Pedal (данные с ножной педали)

5 — Portamento Time (время скольжения от ноты к ноте)

6 — Data Entry MSB (ввод данных, старший байт)

7 — Main Volume (громкость всех звуков в канале)

8 — Balance (баланс)

10 — Pan (панорама — положение инструмента на стереопанораме)

11 — Expression (экспрессивность, выразительность звука)

16 — AC1 (Assignable Controller — назначаемый контроллер)

17 — AC2

18 — AC3

19 — AC4

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

38 — Data Entry LSB (ввод данных, младший байт)

64 — Sustain Pedal, Hold1 (удержание звучания всех отпущенных нот)

65 — Portamento (включение/выключение режима портаменто)

66 — Sostenuto Pedal (удержание звучания отдельных нот (аккорда))

67 — Soft Pedal (приглушение звука)

80 — AC5

81 — AC6

82 — AC7

83 — AC8

91 — External Effects Depth (глубина внешних эффектов)

92 — Tremelo Depth (глубина тремоло — амплитудного вибрато)

93 — Chorus Depth (глубина хорового эффекта)

94 — Detune Depth (глубина расстройки)

95 — Phaser Depth (глубина эффекта фейзера)

96 — Data Increment (увеличение значения)

97 — Data Decrement (уменьшение значения)

98 — NRPN LSB (номер незарегистрированного параметра, младший байт)

99 — NRPN MSB (номер незарегистрированного параметра, старший байт)

100 — RPN LSB (номер зарегистрированного параметра, младший байт)

101 — RPN MSB (номер зарегистрированного параметра, старший байт)

Поддержка устройством конкретных видов контроллеров определяется спецификацией устройства или стандарта, в рамках которого оно разработано.

Обычно, когда непрерывный контроллер используется для плавного управления каким-либо параметром звука, этот параметр пропорционально зависит от значения контроллера. Используются два основных способа управления параметрами звука: абсолютный и относительный. При абсолютном способе параметр полностью зависит от установленного значения контроллера; при относительном способе имеется некоторое стандартное значение параметра, соответствующее «нейтральному» значению контроллера — 64. Изменение значений контроллера вверх или вниз пропорционально изменяет значение выбранного параметра относительно стандартного значения, которое, вообще говоря, может быть различным для разных режимов, тембров и т.п. Для глобальных параметров, таких, как громкость или панорама в канале, используется абсолютный способ управления; для локальных — глубина реверберации, частота среза фильтра и т.п. — относительный, хотя интерпретация различными инструментами может не совпадать.

Специальные канальные сообщения

Задаются контроллерами 120..127 и управляют обработкой сообщений в каналах:

120 — All Sounds Off

121 — Reset All Controllers

122 vv — Local Control

123 — All Notes Off

124 — Omni Off

125 — Omni On

126 nn — Mono

127 — Poly

Многие устройства требуют, чтобы неиспользуемые значения контроллеров были нулевыми.

Сообщение All Notes Off имитирует выключение всех включенных нот и полностью эквивалентно посылке сообщения Note Off для каждой звучащей ноты; будет ли при этом прекращено звучание ноты — зависит от состояния режимов Sustain и Sostenuto. Сообщение All Sounds Off действует так же, но не зависит от режимов Sustain/Sostenuto; кроме того, оно немедленно прекращает звучание всех нот, находящихся в стадии концевого затухания (Release). Состояние самих режимов Sustain/Sostenuto эти сообщения не затрагивают.

Сообщение Reset All Controllers устанавливает все контроллеры в значения по умолчанию, и используется для начальной установки устройства перед проигрыванием партитуры.

Сообщение Local Control служит для запрета/разрешения управления устройством с локальной панели. Нулевое значение параметра запрещает управление с панели (устройство управляется только по MIDI), значение 127 разрешает его.

Сообщения Omni On/Off служат для включения/выключения режима Omni — реакции устройства на канальные сообщения. При включенном режиме Omni устройство обрабатывает сообщения для всех каналов, при отключенном — только сообщения для выбранного канала (Basic Channel). Это позволяет разделить устройства между каналами. Канал назначается устройству либо с его панели управления, либо при помощи сообщений SysEx. Режим Omni имеет смысл в основном для старых инструментов, имеющих один MIDI-канал и не поддерживающих разделение тембров.

Сообщения Mono/Poly служат для переключения одноголосного и многоголосного (полифонического) режимов. В одноголосном режиме в каждый момент времени может звучать только одна нота; включение новой ноты приводит к принудительному отключению предыдущей. В полифоническом режиме включение каждой новой ноты запускает очередной свободный генератор, а при исчерпании генераторов новые ноты либо игнорируются, либо приводят к принудительному выключению наиболее «старых» нот.

Значение nn в сообщении Mono воспринимается некоторыми устройствами, как количество MIDI-каналов, по которым, начиная с Basic Channel, распределяются ноты в одноголосном режиме при выключенном режиме Omni. Смысл этой группы каналов различен для передающих и принимающих устройств. Передающее устройство направляет первую ноту в Basic Channel, следующую за ней — в Basic Channel + 1 и так далее, затем очередная нота снова направляется в Basic Channel, и цикл повторяется. Приемное устройство воспринимает канальные сообщения только внутри заданной группы каналов, каждый из которых работает в одноголосном режиме. Такой прием позволяет реализовать многоголосное исполнение на синтезаторах, имеющих жесткую привязку голосов (генераторов) к MIDI-каналам.

Контроллеры Omni, Mono и Poly вызывают также отработку контроллера All Sounds Off.

От различных сочетаний режимов Omni, Poly и Mono происходят четыре основных режима работы (mode) MIDI-устройств:

1 — Omni On, Poly

2 — Omni On, Mono

3 — Omni Off, Poly

4 — Omni Off, Mono

Большинство современных устройств работает в mode 3 — полифонический режим с независимой работой каналов.

Program Change (pp — номер тембра)

Служит для смены программы синтеза (чаще называемой тембром или инструментом) в канале. Параметр задает номер тембра (0..127) в текущем выбранном банке. Последующие ноты будут исполняться выбранным тембром, тембр уже звучащих в канале нот не изменяется.



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 160; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.190.102 (0.021 с.)