V3MMLmanual

10.8 #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コマンドパック 宛先 内容