PSG (エンベロープ・ノイズ)¶
PSG (SSG) は、CH0〜CH2 (PSG_A〜PSG_C) で鳴らします。
PSG のソフトウェア音量エンベロープ¶
フレームごとの音量の表を、曲のヘッダで定義して、チャンネルに割り当てます。
; psg_env_<NN>=<v0>,<v1>,...[/<ループ部の v0>,<ループ部の v1>,...]
NNは 10 進のインデックス (0〜63) です。- 値は 1 フレームごとの音量で、MML の
vと同じ 0〜15 です。 /より後ろは ループ区間 です。/がないときは、最後の値を保ちます。- 値が範囲外、表が空、
/が 2 つ以上のときは、エラーになります。
; psg_env_00=15,14,13,12,11,10/9,8,9,8
CH0: [EV 0] o4 L4 c d e f
| コマンド | 意味 |
|---|---|
[EV <n>] |
表 n をチャンネルに割り当てる。音符を鳴らすたびに、表の先頭から再生します |
[EV -] |
割り当てを解除する |
; psg_envelope_loop=<ch,...> を書いたチャンネルは、休符の間もエンベロープの再生を続けます。
PSG のノイズ [FC xx]¶
[FC xx] (xx は 16 進数) で、ノイズを制御します。
@N をノイズ周期の指定として使いたいチャンネルは、曲のヘッダに ; psg_noise_timed_channels=<ch,...> を書いて指定します。
関連する曲ヘッダ¶
; ssg_pitch_table=mako|opna|ay— SSG の音程テーブルの選択; psg_rest_hold_volume_channels=<ch,...>— 休符でも PSG の音量を保つ
詳しくは 曲ヘッダディレクティブ を参照してください。