#MB:LFO_A:音量LFO定義【記述例】
このように書くと、#MB:LFO_A と @laコマンドによって、音量LFOの定義と適 用を記述できます。 【解説】 音量LFOコマンド(@la[1]): 音量LFO定義(#MB:LFO_A)の定義番号を整数で指定します。 定義番号は 0 〜 1023 の整数です。 未定義の番号を指定するとエラーになります。 トラック先頭における初期設定では、音量LFOは停止状態です。 音量LFO定義(#MB:LFO_A): 音量LFOコマンド(@la[1])で使用する、音量LFO設定を定義します。 音量LFO定義方法の概要は、
#MB:CONFIG {
lfo_clock: unit=tick: rate=1,
lfo_resol: unit=sec: rate=1/300,
}
#MB:ENV_A @ea=1 { peak=15, init=& | n:1:15, r:1:0 }
#MB:LFOTBL_ATK 1 {
loop=0, cmpl=0, offset=0, denom=1, width_mode=step, |
0, -1.0, 0, -0.25,
}
#MB:LFO_A @la=0 { depth=4, width=24, delay=48, form=sin_a }
#MB:LFO_A @la=10 { depth=4, width=24, delay=48, form=saw_a }
#MB:LFO_A @la=20 { depth=4, width=24, delay=48, form=tri_a }
#MB:LFO_A @la=30 { depth=4, width=24, delay=48, form=pls_a }
#MB:LFO_A @la=40 { depth=4, width=4, delay=48, form=nzw_a }
#MB:LFO_A @la=50 { depth=4, width=24, delay=48, form=table, tbl_atk=1 }
t120 q12,16 v15 @@"pls" o5 @ea1
@la0 c1&2 @la10 c1&2 @la20 c1&2
@la30 c1&2 @la40 c1&2 @la50 c1&2;
・行頭からの記述で、キーワード「#MB:LFO_A」を書く。 ・続けて、スペースを置き、「@la=定義番号」を書く。 ・続けて、スペースを置き、中括弧「{}」で括られた設定データを書く。 です。 定義番号: 定義番号は、@laコマンドの引数で使用する番号と合致するように定義します。 定義番号の設定範囲は 0 〜 1023 です。 設定データ: 【記述例】
【解説】 フォーマットは次の通りです。 #MB:LFO_A @la=定義番号 {
depth=[], width=[], delay=[], form=[],
pwm=[],
(form=plsまたはform=pls_uの場合に指定可能)
tbl_atk=[],
(form=tableの場合に指定可能)
tbl_rel=[],
(form=tableの場合に指定可能)
}
depth: depth=[]では、揺らす音量の振幅を設定します。 単位は vsコマンドで設定されている音量スケールです。 ゼロを指定した場合、音量LFOが無効になります。 音量LFOの場合、音量変化の変位は、0 で始まり、変位を減らす方向で推移さ せていて、利得は発生させない(リミッターが掛かる)設計です。 音量変化の変位が 0 とは、指定の音量通りという状態です。 例えば、変化パターンのサイン波では 0 から (-1) までの間で変化するので、 depth に3を指定していれば、音量変化は vsコマンドによるスケールで 0 〜 (-3) で揺れることになります。 depthに負数を指定した場合、変化パターンの上下が反転しますが、利得が発生 しないよう制限されるので、意味の無い状態になります。
#MB:LFO_A @la=0 { depth=4, width=24, delay=48, form=sin_a }
form がユーザー定義テーブルの場合、depth はテーブル値への倍率として動作 します。この場合、テーブル値の内容によって自由に変位が定義できてしまうた め、演算結果の範囲が 0 〜 負数 になるようテーブル値への配慮が必要です (正の数は利得とみなされて 0 に制限されるため)。 width: width=[]では、formの指定内容によって、widthの時間単位が変わります。 formが、sin_a,saw_a,tri_a,pls_a, のとき: width は form波形1周期の長さを数値で指定します。 数値は1以上の値を指定してください。 周期の時間単位の初期設定は「1tickカウント」ですが、LFOクロック設定 (@locコマンドなど)により、テンポに依存しない時間単位(0.01秒など)にも 出来ます。 formが、nzw_a,table, のとき: width は LFOステップ数を数値で指定します。 数値は1以上の値で指定してください。 LFOステップ数は、LFO解像度設定(@lorコマンドなど)で決まる、LFO 専用の最少時間単位です。 さらに、form=table の場合は、ユーザー定義テーブル内の設定で、widthの動作 モードを、LFOステップ数とLFOシフト数の2つから選択します。 詳細は「#MB:LFOTBL_ATK」を参照してください。 delay: delay=[]では、ノートオンからLFO開始までの遅延時間を数値で指定します。 時間単位は width 同様です。 delay が 0 以上のとき: ノートオンの都度、LFOシーケンスが再スタートします。 (ノートオン同期モード) delay が負数のとき: ノートオンでLFOシーケンスが再スタートしない、ノートオン非同期モードと なります。いかなる負数の値も、このモード指定と判定されます。 ノートオン非同期モードにおいて、任意のタイミングでLFO位相のリセットを 行いたい場合は、LFOの再スタートコマンドを使用します。 LFOコマンドの指定時には、同期・非同期モードに関わらずLFOシーケンス は位相ゼロからスタートします。
form: form=[]では、変化パターンの波形を指定します。(波形パターン詳細) form=pls_a のとき: 追加で次の項目を設定します。
pwm=[],
(任意:デューティ比) pwmの設定範囲は 0.05 〜 0.995 です。 pwmを省略した場合の初期設定は「pwm=0.5」(デューティー比=50%)です。 form=table のとき: 追加で次の項目を設定します。
tbl_atk=[],
(必須:#MB:LFOTBL_ATKで定義したテーブル番号)
tbl_rel=[],
(任意:#MB:LFOTBL_RELで定義したテーブル番号) tbl_relを省略した場合、常に「tbl_rel=-1」と解釈され、tbl_relは未使用扱い になります。 tbl_atkの設定範囲は 0 〜 4095 です。 tbl_relの設定範囲は 0 〜 4095 です。 ただし、いずれも、未定義のテーブル番号を指定した場合、LFO変化が無効に なります(変化のないダミーテーブルが参照されます)。 【formと波形の対応表】(#MB:LFO_A)
form
波形
sin_a
調整サイン波
saw_a
調整ノコギリ波
tri_a
調整三角波
pls_a
調整パルス波
nzw_a
調整ホワイトノイズ
table
ユーザー定義テーブル