音符コマンドで自動的に加算される音程修正を設定する(調号のようなもの)
s は7文字の制禦記号(+ = 半音上げ,- = 半音下げ,! = そのまま)からなり、それぞれC D E F G A B コマンドに対応している。
[例]
S!!!!!!! / ハ長調 or イ短調 S!!!+!!! / ト長調 or ホ短調 S!!-!!!- / 変ロ長調 or ト短調 S!!-+!-! / (似非)アラブ風^^;
オクターヴ値を設定する。初期値は4。
以後のノートコマンドで (n-1)*12 または (n-2)*12 が自動的に加算される。
どちらかは機能フラグ#5で決める。
[例]
O5
現在のオクターヴ設定に1を加算または減算する。
どちらかは機能フラグ#2により変わる。
初期状態では < が上げで > が下げ。
以後のノートコマンドで使うヴェロシティ値を変更する。
* を付けた場合はノートオフヴェロシティ,付けていない場合はノートオンヴェロシティが対象となる。
n の指定方法は2種類あり、通常はそのまま指定値で書き換える。
数値に ^ を前置すると相対変化指定で、現在値に加算して1~127にクランプしたものが使われる。
! を付けた場合、これまで相対変化させた値をリセットして絶対設定値に戻す。
n も ! も記述しない場合は現在値を絶対指定値として再設定する。
[例]
(注)U75U^+3U^-5U!^+2UU^-3U! / ヴェロシティは75→78→73→77→77→74→77と変化
ヴェロシティに相対加算する。
n を省略した場合は n=1 として扱われる。
ディフォルトではノートオンヴェロシティが対象だが、機能フラグ#7により対象をノートオフヴェロシティに変更可。
ヴェロシティに相対減算する。
n を省略した場合は n=1 として扱われる。
ディフォルトではノートオンヴェロシティが対象だが、機能フラグ#7により対象をノートオフヴェロシティに変更可。
音長をパラメータとするコマンドで、数値を省略した場合に使われる値を設定する。
単純に数値だけを書いた場合は、1分音符の分解能を指定値で除算した値となる。
(もちろん、事前に% コマンドで分解能を設定しておく必要がある)
数値に * を前置した場合は絶対音長と見なされ、1ステップ単位の長さを直接表すことができる。
省略した場合は、前回のL コマンドで設定した値が使われる。
どの場合にも、直後に . を続ける毎にその長さを1.5倍(付点)する。
また、上記で表される複数の音長を ^ で加算する(タイ)ことも可能。
(V0.41以降)
. と ^ が解釈される間で ** を記述し、符号無し小数を続けることでそれまでの長さに乗算することができる。
(注)
計算で出た端数は、乗算のみ四捨五入でそれ以外は常に切り捨てとなる。
(浮動小数演算は微妙な誤差が出得るから切り捨てるとまずい)
これは各トラックの処理タイミングがずれる原因となる。
[補足]
音長0が使えない部分(主に補間系コマンド)では1以上にクランプされてしまう。これ故、L*0 の状態でそれらの音長を省略した場合は1として扱われる。
[例]
(分解能を192,変更前の音長を48とする)
L*100 / →100step L1 / →(192/1)=192step L2^8 / →(192/2)+(192/8)=120step L4.. / →(192/4*1.5*1.5)=84step L^.^ / →48+(48*1.5)+48=168step L2^-16 / →(192/2)-(192/16)=84step L20^*5. / →(192/20)+(5*1.5)=9.6+7.5→9+7=16step L1**3.5 / →192*3.5=672step L1**2**3 / →192*2*3=1152step c20**1.2^*5.**1.3 / →(192/20)*1.2+(5*1.5)*1.3=(9.6)*1.2+(7.5)*1.3 / →9*1.2+7*1.3→10.8+9.1→11+9=20step
ノートコマンドで実際に発音される音長のパラメータを設定する。
通常はレートモード,* を付けるとステップモードで、両者を個別に設定でき、音符コマンドは両方の影響を受ける。
音長は ノート音長*レート設定値/1024+ステップ設定値 となり、計算結果が 1 より低くなった場合は 1 として扱われる。
n の指定方法は2種類あり、通常はそのまま指定値で書き換える。
数値に ^ を前置すると相対変化指定で、現在値に加算したものが使われる。
! を付けた場合、これまで相対変化させた値をリセットして絶対設定値に戻す。
n も ! も記述しない場合は現在値を絶対指定値として再設定する。
音符を配置する。C,D,E,F,G,A,B はそれぞれ ド,レ,ミ,ファ,ソ,ラ,シ に対応する。
この直後に + を記述すると半音上がり(シャープ)、- を記述すると半音下がり(フラット)、! を記述すると原音に戻す(ナチュラル)。
これらは一度に複数記述することが可能。
音階の後に指定した臨時記号の効果は先の音符に持続することはないため、転調などで固定したい場合はS コマンドを使うべし。
l は音長だが、実際に発音する長さはQ コマンドの設定により影響される。
通常は音符の配置と同時に l と同じ長さのウェイトがかかるが、機能フラグ#1によりこの動作を抑制できる。
(V0.23 rel.1以降)
l=*0 のときは、無期限となる。以後同じノートで発音するかオールノートオフで消すまで発音が持続される。
最後に & を付けると、次の音符等と繋げることができる(スラー)
ピッチベンドを使って表現するため、事前に機能フラグ#4やセッティングレジスタ#269の設定に合わせてベンドレンジを12か24に設定しなければならない。
この他、いくつかの制限がある。
C1 C2&D2&C1
休符を配置する。
l は音長で、この長さはウェイトとなる。
機能フラグ#1によるウェイトの抑制はできない。
(V0.23 rel.1以降)
音長 0 も指定できるが、音符と違って単なる 0 。つまり無意味と。
ポルタメントする音符を配置する。柔軟性を持たせるため、MIDIのポルタメントは使わずピッチベンドで表現する。
( ) の中に2つまたは3つのMIDIキーを記述する。オクターヴを変えたい場合はO < > コマンドを音程指定の前に埋め込むことができる。
2つの音程を記述した場合は l で指定した音長の間、n1 から n2 までリニア補間する。3つの音程を記述した場合は n3 を中間値としたスプライン補間となる。
この他の用法や制限などはスラーと同じ。
[例]
(CG)2 (CGE) C4&(C>G)4&G2
スラーやポルタメントで変更されたピッチベンドを強制的にリセットする。
通常、変化したピッチベンド値は次のノートコマンドまで持続するが、同一のMIDIチャネルを複数トラックで使用している場合などで明示的にリセットしたいときに使う。
スラーやポルタメントの持続中に実行することも不可能ではないが、まともな動作は期待せぬが吉。
和音を配置する。 '' の中には音符の他、O < > U ~ _ Q コマンドを前置してそれぞれの音に変化をつけることもできる。これらのコマンドは一時的なもので、和音の中だけで有効。以降の音符は和音配置前の状態に戻る。
l1 は和音全体の音長。
l2 はアルペジオ指定で、ノートを1つ配置する毎にウェイトを挟む。省略した場合は前回の値が使われるので、アルペジオを解除したい場合は *0 を指定する。
なお、スラーやポルタメントと共存できない他、機能フラグ#1で自動ウェイトを抑制しているとエラーとなる。
[例]
(V0.23 rel.1以降)'CEG'1 'CEG',*3 'C_3E_3G<C'1,*3
トラックでノートオン中の音を全てオフにする。