V3MMLmanual

2.14.8 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

KEY00start_key + 0半音のステップレート
KEY01start_key + 1半音のステップレート
KEY02start_key + 2半音のステップレート
KEY03start_key + 3半音のステップレート
KEY04start_key + 4半音のステップレート
KEY05start_key + 5半音のステップレート
KEY06start_key + 6半音のステップレート
KEY07start_key + 7半音のステップレート
KEY08start_key + 8半音のステップレート
KEY09start_key + 9半音のステップレート
KEY10start_key + 10半音のステップレート
KEY11start_key + 11半音のステップレート

【備考】周波数計算は次の要領で行われます。

Freq = mRATE * wsgVAL / (2^regWIDTH)