User Manual

Руководство пользователя M7CL
Формат MIDI-данных
282
В данном разделе описывает формат данных, которые M7CL может разобрать, передать и принять.
1 CHANNEL MESSAGE
1.1 NOTE OFF (8n)
Прием
Эхо-ответ на эти сообщения формируется в MIDI OUT, если
переключатель [OTHER ECHO] находится в положении ON (включен).
Они принимаются, если совпадает канал приема [Rx CH], и используются
для управления эффектами.
1.2 NOTE ON (9n)
Прием
Эхо-ответ на эти сообщения формируется в MIDI OUT, если
переключатель [OTHER ECHO] находится в положении ON (включен).
Они принимаются, если совпадает канал приема [Rx CH], и используются
для управления эффектами.
1.3 CONTROL CHANGE (Bn)
огут быть переданы и получены два вида команд смены режима
управления; [NPRN] (незарегистрированные номера параметров) и
свободно назначаемые сообщения [TABLE] (1CH x 110). ыберите
соответственно значение [TABLE] или [NRPN].
Прием
Эхо-ответ на эти сообщения формируется в канале MIDI OUT, если
переключатель [Control Change ECHO] находится в положении ON
(включен).
сли выбрано значение [TABLE], то сообщения принимаются, когда
переключатель [Control Change Rx] находится в положении ON (включен)
и совпадает с [Rx CH], и обрабатываются в соответствии с настройками,
указанными в таблице управления [Control assign table]. О том, какие
параметры можно задать, см. «Параметры, которые можно назначить при
изменениях от органов управления» на стр. 270.
сли выбрано значение [NRPN], то соответствующие сообщения
принимаются, когда переключатель [Control Change Rx] находится в
положении ON (включен) и совпадает с [Rx CH]. ля управления
соответствующими параметрами используются четыре сообщения: NRPN
с номерами 62h и 63h и DATE ENTRY с номерами 06h и 26h.
Передача
сли при работе с параметром, заданным в таблице управления [Control assign
table], выбрано значение [TABLE], и переключатель [Control Change Tx]
находится в положении ON (включен), то соответствующие сообщения будут
переданы по каналу передачи [Tx CH]. О том, какие параметры можно задать,
см. «Параметры, которые можно назначить при изменениях от органов
управления» на стр. 270.
сли выбрано значение [NRPN], и переключатель [Control Change Tx]
включен, то при управлении заданным параметром в канал [Tx CH]
передаются четыре сообщения: NRPN с номерами (62h, 63h) и DATA ENTRY
с номерами (06h, 26h). О том, какие параметры можно задать, см.
«Параметры, которые можно назначить при изменениях от органов
управления» на стр. 270.
ообщения об изменении элемента управления не передаются при работе с
M7CL Editor, поскольку нет гарантии в том, что совпадает содержимое таблиц
назначений. (ообщения об изменении параметров Parameter Change
используются всегда.)
омера изменений от органов управления с 0 по 32 предназначены для выбора
банков.
Если выбрано [TABLE]
Формула для пересчета значения от органа управления Control Value
в данные параметра
paramSteps = paramMax – paramMin + 1;
add = paramWidth / paramSteps;
mod = paramWidth - add * paramSteps;
curValue = paramSteps * add + mod / 2;
(1) Если у параметра, данные которого рассчитываются, меньше 128
значений
paramWidth = 128; rxValue = Control value;
(2) Если у параметра, данные которого рассчитываются, больше 128,
но меньше 16384 значений
paramWidth = 16384;
(2-1) сли получены и старшая High, и младшая Low части данных
rxValue = Control value (High) * 128 + Control value (Low);
(2-2) сли получена только младшая Low часть данных
rxValue = (curValue & 16256) + Control value (Low);
(2-3) сли получена только старшая High часть данных
rxValue = Control value (High) * 128 + (curValue & 127);
(3) Если у параметра, данные которого рассчитываются, больше
16 384, но меньше 2 097 152 значений
paramWidth = 2097152;
(3-1) сли получены старшая High, средняя Middle и младшая Low части
данных
rxValue = Control value (High) * 16384 + Control value (Middle) * 128 + Control
value (Low);
(3-2) сли получена только младшая Low часть данных
rxValue = (curValue & 2097024) + Control value (Low);
(3-3) сли получена только средняя Middle часть данных
rxValue = (curValue & 2080895) + Control value (Middle) * 128;
(3-4) сли получена только старшая High часть данных
rxValue = (curValue & 16383) + Control value (High) * 16384;
(3-5) сли получены и средняя Middle, и младшая Low части данных
rxValue = (curValue & 2080768) + Control vale (Middle) * 128 + Control value (Low);
(3-6) сли получены и старшая High, и младшая Low части данных
rxValue = (curValue & 16256) + Control value (High) * 16384 + Control value (Low);
(3-7) сли получены и старшая High, и средняя Middle части данных
rxValue = (curValue & 127) + Control value (High) * 16384 + Control value (Middle) * 128;
if ( rxValue > paramWidth)
rxValue = paramWidth;
param = ( rxValue - mod / 2) / add;
Если выбрано [NRPN]
Формат MIDI-данных
STATUS 1000nnnn 8n
Note off message
DATA 0nnnnnnn nn
Note number
0vvvvvvv vv
Velocity(ignored)
STATUS 1001nnnn 9n
Note on message
DATA 0nnnnnnn nn
Note number
0vvvvvvv vv
Velocity (1-127:on, 0:off)
STATUS 1011nnnn Bn
Control change
DATA 00
Control number (00)
0vvvvvvv vv
Control Value (0-127)
STATUS 1011nnnn Bn
Control change
DATA 20
Control number (32)
0vvvvvvv vv
Control Value (0-127)
STATUS 1011nnnn Bn
Control Change
DATA 0nnnnnnn nn
Control number (1-5, 7-31, 33-37, 38-95, 102-
119) *
0vvvvvvv vv
Control Value (0-127)
* Нельзя использовать номера 0, 32 и 96-101.
* Можно использовать для Control number номера 6, 38.
STATUS 1011nnnn Bn
Control change
DATA 01100010 62
NRPN LSB
0vvvvvvv vv
Младший значащий байт (LSB) номера
параметра
STATUS 1011nnnn Bn
Control change *
DATA 01100011 63
NRPN MSB
0vvvvvvv vv
Старший значащий байт (MSB) номера
параметра
STATUS 1011nnnn Bn
Control change *
DATA 00000110 06
Младший значащий байт (MSB) данных
0vvvvvvv vv
Старший значащий байт (MSB) данных
параметра
STATUS 1011nnnn Bn
Control change *
DATA 00100110 26
Младший значащий байт (LSB) данных
0vvvvvvv vv
Младший значащий байт (LSB) данных
параметра
* Байт состояния STATUS второго и последующих сообщений может не
добавляться при передаче. Прием должен закончиться успехом
независимо от наличия или отсутствия байта состояния.