@Pnumber
@P*
音域毎に、音色やエンベロープを定義することで、音域毎に音の変化を持たせることができます。
例えば、ピアノでは、低音域では倍音成分が多く、音量は遅い減衰を持ち、 高音域では倍音成分が少なく、音量は早い減衰を持ちます。 このような音域毎の音の変化を、自動で処理するための機能です。
ドライバ側実装のコマンドと組み合わせた際に、意図通りの動作にならない可能性がございます。
また、MMLコンパイラ側で展開するため、コンパイル後のシーケンスサイズが大きくなる可能性があります。
リピートコマンド内において、リピート毎にオクターブが変化する場合、正常にパッチを展開できません。
例えば、"o4 [2 cegb > ]"といったMMLがあった場合、リピート内はオクターブ4としてパッチを展開するため、
2回目のリピート時は実際のオクターブは5となりますが、パッチのオクターブは4のままとなります。
また、"o4 [2 ceg > c : < gec ]"といったMMLでは、リピート後のパッチのオクターブは4のままとなります。
この場合、リピート後にオクターブコマンドを記述しなおして、MMLコンパイラにオクターブを通知してください。
サブルーチンを使用する場合、
サブルーチン先ではサブルーチン元のパッチは適用されないため、
サブルーチン先でもパッチを設定してください。
また、サブルーチン先でオクターブが変化する場合は、
サブルーチン呼び出し後にオクターブコマンドを記述しなおして、MMLコンパイラにオクターブを通知してください。
又、サブルーチンにてパッチ機能を使う場合は、パッチ定義にサブルーチン呼出しを記述することはできません。
(サブルーチンのネスティングはできません)
パッチ定義を参照願います。