E@voice_envelope
Evvolume_envelope
Emfrequency_envelope
Ennote_envelope
音色エンベロープのパターン番号を指定して下さい。
音色エンベロープを無効にする場合は、`@'コマンドを使ってください。
音量エンベロープのパターン番号を指定して下さい。
数値の替わりに *
を記述する事で、エンベロープを無効にできます。
ピッチ・エンベロープのパターン番号を指定して下さい。
数値の替わりに *
を記述する事で、エンベロープを無効にできます。
ノート・エンベロープのパターン番号を指定して下さい。
数値の替わりに *
を記述する事で、エンベロープを無効にできます。
Envelop()記述ブロックにて定義したエンベロープパターンを指定します。
エンベロープ定義において、リリース後のパターンを指定しない場合、キーオフ後もそのエンベロープが継続されます。
これは、音量エンベロープでも同じです。
音量エンベロープでリリースのパターンを指定せずに音量でキーオフを行いたい場合は、
Rmコマンドでゲートタイム時の処理を指定し、
それと同時に、r(休符)コマンドでは臨時記号`-'か`+'を付けてください。
ファミコンの内蔵音源で音程を変化させる場合、レジスターのMSBが更新されると位相がリセットされプチノイズが発生します。
レジスターのMSBの更新が近い音程としては以下です。
エンベロープの数値とディチューンの数値の総和を以下表の許容幅の範囲内に留めると、音程レジスタMSB更新によるプチノイズを回避できます。
(ただし、数値の絶対値が16を越える場合は、音程レジスタMSBが更新される場合があります。)
音程 | 許容幅 |
---|---|
o1b | 1 〜 |
o2d | 〜 -2 |
o2f | 〜 0 |
o2a | 〜 -2 |
o3d | 〜 -2 |
o3a | 〜 -2 |
o4a | 〜 -4 |
// frequency envelop "Volume table"
Envelop(0){ 15 D10 14 13 12 L 11 11 10 10 9 9 10 10 R 9 8 7 6 5 L 4 4 3 3 2 2 3 3 }
// frequency envelop "LFO"
Envelop(100){ L 0 1 2 3 3 2 1 0 -1 -2 -3 -3 -2 -1 }
// for Voice Envelop
Envelop(200){ L 2 1 R L 2 }
// for Mote Envelop "Major code"
Envelop(1000){ L 0 4 7 }
BGM(0){
l1 o4 v15 u2. Ev0 Em100 En1000 E@200 cdefgab> En* Em* Ev* c1,2
}