前章で見てきたことは、ストトン表記でも記述ができるMMLの基本でしたが、ここでは、さらに突っ込んで見てみましょう!
・ノートオン・オプション
ノート[音長][,ゲート][,ベロシティ][,タイミング] |
c4,100,127,2 // l4q100v127t2c と同じ意味 c1,80,90,-2 // l1q80v80t-2c と同じ意味 c%96,%70,120,0 // l%96q%70v120t0c と同じ意味 |
コマンド.onNote( 値1,値2,値3... ) |
l4 v.onNote(50,120,80,120); cccc gggg v100 //先行指定解除 q.onNote(100,30); cccc gggg q100 //先行指定解除 cccc c1 |
ここで、コマンドとは、 o l q v t q_ v_ t_ のこと。 |
コマンド.onTime( (低値, 高値, ステップ時間), (低値, 高値, ステップ時間), ... ) |
v.onTime(60,127,!1); l8 cccc cccc cccc cccc v100 //.onTimeの解除 q.onTime(10,120,!1) l8 cccccccc dddddddd q80 //.onTimeの解除 q.onTime((100,100,!4),(10,10,!4)); l4 cccc gggg l4 cc8c8cc8c8 gg8g8gg8g8 q100 //.onTimeの解除 |
コマンド.onCycle( ステップ時間, 値1, 値2, 値3, 値4, 値5 ...) |
t.onCycle(!16, 0, 8); l16 cccc cccc cccc cccc //これは、t.onTime(0,0,!16, 8,8,!16)と同じ意味。 |
v.onNote( 40,100 ); //(1) l8 cccccccc v_.onTime(-40,40,!1);//(2) cccccccc dddddddd eeeeeeee |
(2)自体は、右上がり直線のグラフになるが、(1)と組み合わせることで複雑な波形が再現できます。 |
コマンド__(番号0~9) v__番号 q__番号 t__番号 (0番は、コマンド_と同じ意味) |
t.onCycle(!16,0,8);//基本はハーフシャッフル t__1.onCycle(!4,0,-2);//偶数拍目頭は少し前ノリに t__2.onTime(0,8,!1^1);//2小節ごと少しずつもたっていくように [16 l16 cccc cccc ] |
コマンド.Random(n) |
v80 v.Random(20) l8 cccc cccc cccc cccc v.Random(0); //.Randomの解除 |
コマンド.Range(低値, 高値) |
これを設定することにより、値の範囲を制限できます。 |
v.Range(40,80) v.onTime(0,127,!2); l8 cccc cccc cccc cccc v.Range(-1,-1);//範囲制限の解除。 |