User Manual

資料編
リファレンスマニュアル
264
MIDI データフォーマット
ここでは、CL シリーズが解釈して送受信できるデータのフォー
マットを説明します。
1 CHANNEL MESSAGE
1.1 NOTE OFF (8n)
《受信》
[OTHERCOMMANDECHO]がONの場合は、MIDIOUTにECHOします。
[RxCH]が一致した場合に受信してEffectの制御に使用されます。
1.2 NOTE ON (9n)
《受信》
[OTHERCOMMANDECHO]がONの場合は、MIDIOUTにECHOします。
[RxCH]が一致した場合に受信してEffectの制御に使用されます。
1.3 CONTROL CHANGE (Bn)
送受信できるCONTROLCHANGEは、[NRPN](ノンレジスタードパラメーター)と
任意にアサインした[TABLE](1CHx110)の2種類あります。[TABLE]と[NRPN]はど
ちらかを選択します。
《受信》
[CONTROLCHANGEECHO]がONの場合は、MIDIOUTにECHOします。
[TABLE]が選択されている場合は、[CONTROLCHANGERx]がONで[RxCH]が
致したときに受信し、[CONTROLCHANGEEVENTLIST]の設定に従って、パラ
メーターを制御します。設定できるパラメーターは、コントロールチェンジにアサ
インできるパラメーターリスト(→P.248)をご参照ください。
また[NRPN]が選択されている場合は、[CONTROLCHANGERx]がONで[RxCH]が
一致したときに受信し、NRPNのコントロール番号(62h,63h)とDATAENTRYのコ
ントロール番号(06h,26h)の4つのメッセージを使って、決められたパラメーターを
制御します。
《送信》
[TABLE]が選択されている場合は、[CONTROLCHANGEEVENTLIST]で設定
れているパラメーターを操作したときに[CONTROLCHANGETx]がONであれば
[TxCH]のチャンネルで送信します設定できるパラメーターは、コントロール
チェンジにアサインできるパラメーターリスト(→P.248)をご参照ください。
また[NRPN]が選択されている場合は、決められたパラメーターを操作したときに
[CONTROLCHANGETx]がONであれば、[TxCH]のチャンネルでNRPNのコント
ロール番号(62h,63h)とDATAENTRYのコントロール番号(06h,26h)の4つのメッ
セージを使って送信します。設定できるパラメーターは、コントロールチェンジに
アサインできるパラメーターリス(→P.248)をご参照ください。
なお、CLEditorへの送信は、TABLEなどの内容が一致している保証がないので、
CONTROLCHANGEを使った送信は行ないません(常にPARAMETERCHANGE
が用いられます)。
CONTROLCHANGENumber0と32は、BANKCHANGE用です。
[TABLE]を選択した場合
ControlValueをパラメーターデータに変換する計算式
paramSteps = paramMax – paramMin + 1;
add = paramWidth / paramSteps;
mod = paramWidth – add * paramSteps;
curValue = paramSteps * add + mod / 2;
(1)アサインしたパラメーターが128step未満の場合
paramWidth = 128; rxValue = Control value;
(2)アサインしたパラメーターが128step以上16,384step未満の場合
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,384step以上2,097,152step未満の場合
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 value(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]を選択した場合
1.4 PROGRAM CHANGE (Cn)
《受信》
[PROGRAMCHANGEECHO]がONの場合には、BANKSELECTもMIDIOUTに
ECHOします。
SINGLECHが選択されている場合、[PROGRAMCHANGERx]がONで、[RxCH]が
一致したときに受信します。ただし[OMNI]がONの場合には、チャンネルに関係な
く受信します。受信したら[PROGRAMCHANGEEVENTLIST]の設定に従って、
シーンメモリー、エフェクトライブラリー、プレミアムラックライブラリーをリ
コールします。
《送信》
[PROGRAMCHANGETx]がONの場合、シーンメモリー、エフェクトライブラ
リー、プレミアムラックライブラリーがリコールされたときに[PROGRAM
CHANGETable]の設定に従って送信します。
SINGLECHが選択されている場合、[TxCH]のチャンネルで送信します。
MULTICHが選択されている場合、リコールしたシーンメモリー、エフェクトライ
ブラリー、プレミアムラックライブラリーが複数のPROGRAMNUMBERに割り当
てられているときは、MIDICHごとに一番小さいPROGRAMNUMBERで送信しま
す。
なお、CLEditorへの送信は、TABLEなどの内容が一致している保証がないので、
PROGRAMCHANGEを使った送信は行ないません(常にPARAMETERCHANGE
が用いられます)。
MULTIMIDICHかSINGLECHかを選択できます。
SINGLEの場合
RxCHとOMNICH、TxCHを選べます。
BANKSELECT付きにするかどうかを選べます。
BANKは16まで設定できます。
MULTIの場合
RxとTxCHは同じになります。
アサイン表はMIDICHごとの設定になります。BANKSELECTは付きません。
MIDICHは16まで設定できます。
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
* 2番目以降のSTATUSは、送信時には特に付ける必要はありません。
また、受信時はあってもなくても受信するようにしてください。
STATUS 1100nnnn Cn
Program change
DATA 0nnnnnnn nn
Program number (0-127)