PSG音色定義書式
音色の作成には 「PSG音色エディタ」 を使用すると便利です。
[書式] @P<inst>:<str>
上記のような書式で定義します。定義位置は任意ですが、曲全体でその音色が有効となります。
<inst>には音色番号、もしくは音色名のいずれかが入ります。音色名を使う場合はダブルクォーテーションで括ってください。音色名には大文字と小文字の区別はありません。
<str>のところにエンベロープの形状を文字列で入力してください。音量データは16進数相当で、「F」が最大音量、「0」が最小音量です。
音量データ1文字が1カウント分となり、このカウントはテンポの影響を受けます。つまり、分解能(#COUNTヘッダ)が初期値の192なら、48文字ぶんの音量データで4分音符の長さを持つエンベロープとなります。
これらはvコマンドやVコマンドの影響を受ける相対値となっており、v15のときに<str>の音量がそのまま反映されます。v14のときは<str>のエンベロープより1小さい音量、v10のときは5小さい音量で再生されます。
[例] @P123:FFEEDDCCBBAA9988776655443322110 ;音量F(15)から音量0まで2カウントずつ減衰する音色を@123に登録
また、「.」(ピリオド)で1カウント前の音量を維持します。
[例] @P1:F..D..B...A....9.....8 ; FFFDDDBBBBAAAAA9999998 と等価
エンベロープ終端に到達すると、ループポイントが指定されていない場合は終端の音量を維持します。
定義文字列に「L」を含めるとループポイントと見なしますので、最後まで鳴らした後にその位置まで戻り、無限ループします。
[例] @P10:12345678L9...8...7...8... ;音量1から8まで1カウントずつ移行する柔らかいアタックの後、 ;音量9→8→7→8を4カウントずつ無限に繰り返してトレモロを表現
NコマンドとPコマンドによるノイズ制御も有効です。これらのコマンドは0カウントで処理しますので、音量データと併用してください。
[例] @P10:P1FP3N30DCBAP2N1:9.8.7.6.5.4.3.2.1 ;ノイズ無効/トーン有効で音量Fを1カウント鳴らした後、 ;ノイズ有効/トーン有効/ノイズ周波数30で音量DからAまで1カウントずつ、 ;ノイズ有効/トーン無効/ノイズ周波数1で音量9から1まで2カウントずつ鳴らす
ノイズの値と音量データが繋がってしまうときはコロン、タブ、半角空白などの区切り記号を使用してください。
なお、冒頭の「@P」以外には大文字と小文字の区別はありません。