#MB:KEYEVENT_LEN:@kl用キーイベント定義【記述例】
このように書くと、#MB:KEYEVENT_LEN と @klコマンドによって、キーイベント (音長モード)定義と適用を記述できます。 この場合、次のように音長に応じて@pコマンドが発動されます。
4分音符→@p7
付点8分音符→@p75
16分音符→@p-68
上記以外→@p0 【解説】 キーイベント(音長モード)コマンド(@kl[1]): キーイベント(音長モード)定義(#MB:KEYEVENT_LEN)の定義番号を整数で指定 します。 定義番号は 0 〜 1023 の整数です。 未定義の番号を指定するとエラーになります。 トラック先頭における初期設定では、当機能は停止状態です。 キーイベント(音長モード)とは、ノートオンの都度、
#MB:CONFIG {
tempo_unit: note_ticks=192: beat_length=4,
}
#MB:KEYEVENT_LEN @kl=1 {
target=@p, |
case=48: set=7, //l4
case=36: set=75, //l8.
case=12: set=-68, //l16
default: set=0,
}
t120 l16 @@"pls" @kl1 o4
c8.<g >c8.<g >c<g>c eg4
f8.d f8.d f d <b>d<g4;
事前に定義した「#MB:KEYEVENT_LEN」によるテーブルに従って、 音長に応じた値で指定種別のコマンドを発行する機能です。 異なる宛先であれば、複数の発動も可能です。 【キーイベントの発動をやめたい場合】 発動済みのキーイベント機能の停止するには、 宛先ごとのコマンドを、あらためて発行します。 例えば、音源サブフォーム番号宛のキーイベント機能の発動と停止であれば、次 のようになります。(#MB:KEYEVENT_LEN @kl=1 にて、target=@ の場合)
@kl1 cdefg @1 gfedc;
この場合、cdefg はキーイベント機能が有効、gfedc は宛先「@」のキーイベン ト機能が全て無効になって、@1 で演奏されます。 キーイベント(音長モード)定義(#MB:KEYEVENT_LEN): キーイベント(音長モード)コマンド(@kl[1])で使用する、キーイベント(音 長モード)設定を定義します。 キーイベント(音長モード)定義方法の概要は、 ・行頭からの記述で、キーワード「#MB:KEYEVENT_LEN」を書く。 ・続けて、スペースを置き、「@kl=定義番号」を書く。 ・続けて、スペースを置き、中括弧「{}」で括られた設定データを書く。 です。 定義番号: 定義番号は、@klコマンドの引数で使用する番号と合致するように定義します。 定義番号の設定範囲は 0 〜 1023 です。 設定データ: 【記述例】
#MB:KEYEVENT_LEN @kl=1 {
target=@p, |
case=48: set=7, //l4
case=36: set=75, //l8.
case=12: set=-68, //l16
default: set=0,
}
上記のtickカウント(48で4分音符など)になるのは、
#MB:CONFIG { tempo_unit: note_ticks=192: beat_length=4, }
この設定の場合になります。
【解説】 フォーマットは次の通りです。 #MB:KEYEVENT_LEN @kl=定義番号 {
target=[],
|
case=[]: set=[],
(音長tickカウントに応じた設定値)
case=[]: set=[],
:
default: set=[],
}
target: target=[]では、キーイベント機能発動の宛先コマンドを文字列で指定します。 【#MB:KEYEVENT_LEN での target=[] の宛先一覧】 宛先 内容
@
音源サブフォーム番号
v
ボリューム
vl
ボリューム for @la
@p
パンポット
p
パンポット・レガシーモード
@n
ノイズサイクル
@w
パルス幅(デューティ比)
@d
デチューン
@ea
音量エンベロープ
@ef
フィルタエンベロープ
@lp
ピッチLFO
@la
音量LFO
@lb
パンポットバランスLFO
@lf
フィルタLFO
@ly
yコマンドLFO
/
389 393 「|」記号で区切る
| 「 | 」で区切られた後の定義: |
| 「 | 」で区切られた後の定義では、「:」で区切られた2つの定義、 |
case=[]: set=[],
を1組とする設定を、カンマ区切りで記述します。 ただし、カンマ区切記述の最後は
default: set=[],
という1組の記述とします。 これらの「:」で区切られた定義は、1 〜 1024個の範囲で定義します。 case=[]: set=[],: case=[]では、tickカウントがいくつの音長だったときかを設定します。 set=[]では、case=[]に該当する場合に、target宛にセットするコマンド値を設 定します。 default: set=[],: defaultは、どのcase=[]にも該当しなかった場合を指す記述です。 defaultに対応した set=[]では、どのcase=[]にも該当しなかった場合にtarget 宛にセットするコマンド値を設定します。
@fd
フィルタ(動的/dynamic)
@fs
フィルタ(静的/static)
@dl
ディレイ
yp
yコマンドパック 宛先 内容