コントロールチェンジオプション


コントロールチェンジに、さまざまなオプションを指定できます。
参照:(ノート属性のオプションは、こちら)(コントロールチェンジ早見表は、こちら

onNote(命令).onNote(v1,v2,v3...)ノートオン毎の値の先行指定
N=.onNote
onTime(命令).onTime(low,high,len...)一度にlowからhighへ値をFrequency間隔で書き込む
T=.onTime
onCycle(命令).onCycle(len,v1,v2,v3...)指定時間毎の値の先行指定
C=.onCycle
onNoteWave(命令).onNoteWave(low,high,len...)ノートオン毎に直線的な値の推移を書き込む(コントロールチェンジ,ベンド)
W(命令).W(low,high,len...)ノートオン毎に直線的な値の推移を書き込む(コントロールチェンジ,ベンド)
onNoteWaveEx(命令).W(low,high,len...)ノートオン毎に、ノートの長さに応じた波形を書き込む(コントロールチェンジ,ベンド)
WE(命令).W(low,high,len...)ノートオン毎に、ノートの長さに応じた波形を書き込む(コントロールチェンジ,ベンド)
onNoteWaveR(命令).onNoteWaveR(low,high,len...)ノートオンしている間、low,higi,len...を繰り返す
WR(命令).WR(low,high,len...)ノートオンしている間、low,higi,len...を繰り返す
onNoteSine (命令).onNoteSine(type,low,high,len,times) ノートオン毎にコントロールチェンジの連続値書き込み命令 type=0:sine/1:up sine/2:down sine
Sine (命令).onNoteSine(type,low,high,len,times) 一度だけ、コントロールチェンジを連続値書き込み命令 type=0:sine/1:up sine/2:down sine
Delay(命令).Delay=v先行指定の効果の遅延時間
Repeat(命令).Repeat(on/off)予約指定で.onNoteなどで繰り返すかどうか
Random(命令).Random=v書き込まれる値に、vのランダムな値を足す
Range(命令).Range(low,high)書き込まれる値に、上限と下限を設定する
Frequency(命令).WR(low,high,len...)コントロールチェンジの書き込み頻度を指定する

ノートオンごとの先行指定(.onNote)(.onCycle)

 細かく打ちこみ作業をしていくと、コントロールチェンジやピッチベンドの値を、頻繁に値を変えたくなります。
そんなとき、いちいち、P=50 c P=70 c P=100 e P=10 g、と書いていくのは、非常に面倒ですし、あとから修正するのも大変です。
 そこで、登場したのが、先行指定という概念です。これは、あらかじめ一度にたくさんの値を指定してしまおうというものです。
 指定方法は、 コマンド.onNote( 値1,値2,値3... ) のように指定します。(先行指定は、指定を解除するまで繰返されます。解除は、コマンドというように普通の指定をします。)
コマンド.onNote( 値1,値2,値3... )
Panpot.onNote(0,127)
l4 cdef gfed
 また、一定間隔ごとに指定した値を書き込みたい場合は、".onCycle"を使います。
コマンド.onCycle( 周期, 値1,値2,値3... )
p.onCycle(!4,0,127)
l8[16c]

時間ごとの先行指定(.onTime)

一度にlowからhighへ値をFrequency間隔で書き込みます。
指定方法は、コマンド.onTime( (低値, 高値, ステップ値), (低値, 高値, ステップ値), (低値, 高値, ステップ値), ... )です。(ここで、問題になるのは、ステップ時間ですが、n分音符時間指定がしたいときは、!nと書くことで、n分音符がステップ時間に変換されます。)これは、一度書き込んでしまったら、解除はできません。

コマンド.onTime( (低値, 高値, ステップ値), (低値, 高値, ステップ値), ... )
Expression.onTime(0,127,!1);
[64 c32]

戻る