#MB:LFO_B:パンポットLFO定義【記述例】
このように書くと、#MB:LFO_B と @lbコマンドによって、 パンポットバランスLFOの定義と適用を記述できます。
#MB:CONFIG {
lfo_clock: unit=tick: rate=1,
lfo_resol: unit=sec: rate=1/300,
}
#MB:LFOTBL_ATK 1 {
loop=0, cmpl=0, offset=0, denom=1, width_mode=step, |
0, 1, 0, -1,
}
#MB:ENV_A @ea=1 { peak=15, init=& | n:1:15, r:1:0 }
#MB:LFO_B @lb=0 { depth=100, width=24, delay=48, form=sin }
#MB:LFO_B @lb=1 { depth=100, width=24, delay=48, form=sin_u }
#MB:LFO_B @lb=10 { depth=100, width=24, delay=48, form=saw }
#MB:LFO_B @lb=11 { depth=100, width=24, delay=48, form=saw_u }
#MB:LFO_B @lb=12 { depth=100, width=24, delay=48, form=saw_os }
#MB:LFO_B @lb=20 { depth=100, width=24, delay=48, form=tri }
#MB:LFO_B @lb=21 { depth=100, width=24, delay=48, form=tri_u }
#MB:LFO_B @lb=30 { depth=100, width=24, delay=48, form=pls }
#MB:LFO_B @lb=31 { depth=100, width=24, delay=48, form=pls_u }
#MB:LFO_B @lb=40 { depth=100, width=4, delay=48, form=nzw }
#MB:LFO_B @lb=41 { depth=100, width=4, delay=48, form=nzw_u }
#MB:LFO_B @lb=50 { depth=100, width=24, delay=48, form=table, tbl_atk=1 }
#MB:LFO_B @lb=60 { depth=100, width=4, delay=48, form=nlbend, bendrate=64 }
t120 q12,16 v15 @@"pls" o5 @ea1 @p0 p0
@lb0 c1&2 @lb1 c1&2
@lb10 c1&2 @lb11 c1&2 @lb12 c1&2
@lb20 c1&2 @lb21 c1&2
@lb30 c1&2 @lb31 c1&2
@lb40 c1&2 @lb41 c1&2
@lb50 c1&2
@lb60 c1&2;
【解説】 パンポットバランスLFOコマンド(@lb[1]): パンポットバランスLFO定義(#MB:LFO_B)の定義番号を整数で指定します。 定義番号は 0 〜 1023 の整数です。 未定義の番号を指定するとエラーになります。 トラック先頭における初期設定では、パンポットバランスLFOは停止状態で す。 パンポットバランスLFO定義(#MB:LFO_B): パンポットバランスLFOコマンド(@lb[1])で使用する、パンポットバランス LFO設定を定義します。 パンポットバランスLFO定義方法の概要は、 ・行頭からの記述で、キーワード「#MB:LFO_B」を書く。 ・続けて、スペースを置き、「@lb=定義番号」を書く。 ・続けて、スペースを置き、中括弧「{}」で括られた設定データを書く。 です。 定義番号: 定義番号は、@lbコマンドの引数で使用する番号と合致するように定義します。 定義番号の設定範囲は 0 〜 1023 です。 設定データ: 【記述例】
【解説】 フォーマットは次の通りです。 #MB:LFO_B @lb=定義番号 {
depth=[], width=[], delay=[], form=[],
pwm=[],
(form=plsまたはform=pls_uの場合に指定可能)
tbl_atk=[],
(form=tableの場合に指定可能)
tbl_rel=[],
(form=tableの場合に指定可能)
bendrate=[],
(form=nlbendの場合に指定可能)
}
#MB:LFO_B @lb=0 { depth=100, width=24, delay=48, form=sin }
depth: depth=[]では、揺らすパンポットの振幅を、-200 〜 200 で指定します。 少数以下の指定も受け付けます。 ゼロを指定した場合、LFOが無効になります。 負数を指定した場合、変化パターンの上下が反転した動作になります。 パンポットが @p0 の状態で、depth が 100 で三角波のLFOをかけた場合、パ ンポットは最大幅で揺れます。上限の絶対値が200である理由は、パンポットを 片方いっぱいに寄せてから、変位がもう片方にしか振れない波形を使用する場合 を想定しています。 パンポットの制限値を超えるLFOをかけた場合は、超えた部分が制限値にリ ミットされながらLFOがかかります。 振幅は「depth × formの波形変位」で得られます。 formの波形変位は、通常 -1 〜 1 ですが、 ユーザー定義テーブルの場合は、自由に変位が定義できるため、振幅演算が 「depth × テーブル値」となる点に注意が必要です。 width: width=[]では、formの指定内容によって、widthの時間単位が変わります。 formが、sin,saw,tri,pls, のとき: width は form波形1周期の長さを数値で指定します。 数値は1以上の値を指定してください。 周期の時間単位の初期設定は「1tickカウント」ですが、LFOクロック設定 (@locコマンドなど)により、テンポに依存しない時間単位(0.01秒など)にも 出来ます。 formが、nzw*,table,nlbend, のとき: 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* のとき: 追加で次の項目を設定します。
pwm=[],
(任意:デューティ比) pwmの設定範囲は 0.05 〜 0.995 です。 pwmを省略した場合の初期設定は「pwm=0.5」(デューティー比=50%)です。 【formと波形の対応表】(#MB:LFO_B)
form
波形
sin
サイン波
sin_u
調整サイン波
saw
ノコギリ波
saw_u
調整ノコギリ波
saw_os
ノコギリ波ワンショット
tri
三角波
tri_u
調整三角波
pls
パルス波
pls_u
調整パルス波
nzw
ホワイトノイズ
nzw_u
調整ホワイトノイズ
table
ユーザー定義テーブル
nlbend
ノンリニアベンド
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=nlbend のとき: 追加で次の項目を設定します。
bandrate=[],
(必須:ノンリニアベンドの変化率) bendrateの設定範囲は 1.0 〜 512.0 です。 1未満もしくは512超えの指定は、それぞれ1、512に制限されます。