ttempo
t_relative
テンポです。
INT(tempo × #timebase の値 ÷ 24)が、1~255になる範囲で設定できます。たとえば、
#timebaseが48の時において、1~127の範囲で設定できます。
#timebaseが24の時において、1~255の範囲で設定できます。
#timebaseが12の時において、2~511の範囲で設定できます。
1[フレーム]が1[tick]となる #timebase と テンポ は、以下の通りです。
#timebase 12, t300
#timebase 16, t225
#timebase 24, t150
#timebase 32, t113
#timebase 48, t75
(Default: tempo = 120 ※但し、#timebase 24の時。)
相対テンポです。-128~127の範囲で指定してください。
尚、演算結果におけるオーバーフローのチェックはしていません。
また、相対テンポコマンドは、#timebaseによる補正は行いません。
BGMのテンポを指定します。
指定値は、4分音符のB.P.M.で指定します。
相対テンポは、 `rit.' や `accel.' 等の表現にご利用ください。
効果音(SE)はテンポは150固定(1[tick]=VBlank割り込み周期)となり、本命令は無効です。
0を指定しないで下さい。
255を超える曲は、予め#timebaseコマンドにて四分音符の分割数を低く設定して下さい。
逆に、ゆっくりとした曲の場合は、#timebaseコマンドの値を大きくする事で、テンポの精度が良くなります。
本音源ドライバーでは、テンポはフレーム単位ではなく、BPM単位で制御しています。
具体的には、60Hz(1秒間に60回)で発生するVBlank割り込み時に、以下のプロセスを実行します。
(厳密には、実行コードを最適化しており若干異なりますが、考え方は同じです。)
t120 /* B.P.M. = 120 */