type=steprate_mode0 のとき(WSGステップレート)#MB:PITCH_SCALE ps=20 {
type = steprate_mode0,
master_rate = 24000.0,
reg_bit_width = 20,
reg_bit_mask = 0x0FFFFF,
detune_width = 8,
start_key = 96,
| //steprate key00...key11
0x02C578,
0x02EFCB,
0x031C82,
0x034BC8,
0x037DF6,
0x03B335,
0x03EB87,
0x042717,
0x046669,
0x04A950,
0x04F050,
0x053B68
}
フォーマットは次の通りです。
#MB:PITCH_SCALE ps=定義番号 {
type=steprate_mode0,
master_rate=[],
reg_bit_width=[],
reg_bit_mask=[],
detune_width=[],
start_key=[],
|
KEY00,KEY01,KEY02,KEY03,KEY04,KEY05,
KEY06,KEY07,KEY08,KEY09,KEY10,KEY11,
}
(KEY01〜KEY11群の直前で、| 記号で区切ること)
master_rate:WSGステップレート周波数計算のもとになる再生周波数を指定します。小数以下の指定も受け付けます。例えば、24000.0 などになります。
reg_bit_width:WSGステップレート周波数計算のもとになるビット幅を整数で指定します。例えば 20 などになります。
reg_bit_mask:WSGステップレート周波数計算を行う場合に有効なビット幅を決定する、AND演算に使用するマスク値を整数で指定します。10進数でも指定できますが、接頭辞「0x」をつけて16進数で記述することもできます。WSGでは通常 20ビットですので、0x0FFFFF のように指定します。
detune_width:WSGステップレートにおけるデチューン計算は、音程ごとのステップレート値の 1/n 倍の値を演算に使用しますが、このn値を 2の何乗にするかを指定します。通常 8 を指定します。
start_key:KEY00〜KEY11にて指定する WSGステップレート について、KEY00 の WSGステップレートが、どの音程番号に相当するかを、0〜108 で指定します。
96 の時、オクターブ8の c のステップレートが定義されていると解釈します。
1増えるごとに半音上がります。通常、96 を利用します。
KEY00〜KEY11:KEY00: start_key + 0半音のステップレート
KEY01: start_key + 1半音のステップレート
KEY02: start_key + 2半音のステップレート
KEY03: start_key + 3半音のステップレート
KEY04: start_key + 4半音のステップレート
KEY05: start_key + 5半音のステップレート
KEY06: start_key + 6半音のステップレート
KEY07: start_key + 7半音のステップレート
KEY08: start_key + 8半音のステップレート
KEY09: start_key + 9半音のステップレート
KEY10: start_key + 10半音のステップレート
KEY11: start_key + 11半音のステップレート
Freq = mRATE * wsgVAL / (2^regWIDTH)