Tools + Simulatorsnanase.cc / tools

FM音源

アルゴリズム

アルゴリズム
帰還量
音量の調整
OUTFB 0OP1OP2OP3OP4

音

dB

波形

CH1 OUT /divH /divf0
表示する周期
表示範囲

オペレータ

波形・周波数比・変調指数
OP1モジュレータ
×1
I 1.5
OP2キャリア
×1
-3 dB
OP3モジュレータ
×1
I 2
OP4キャリア
×2
-12 dB

動作原理と式

FM(周波数変調)音源は、正弦波の位相を別の正弦波でずらして倍音を作ります。変調する側をモジュレータ、変調される側をキャリアと呼びます。キャリアの周波数 fc の両側に、モジュレータの周波数 fm の間隔で側帯波が並び、その大きさは変調指数 I を引数とするベッセル関数 Jn で決まります。I が大きいほど、遠くの側帯波まで大きくなり、音が明るくなります。周波数比が整数なら、側帯波は基本周波数の整数倍に重なり、音程のはっきりした音になります。

このツールは 4 つのオペレータ(発振器)を持ちます。オペレータ k は波形 Wk で、基本周波数 f0(鍵盤で選ぶ平均律の音。A4 = 440 Hz)の rk 倍で発振し、アルゴリズムで決まったモジュレータの出力に変調指数を掛けて位相に足します。キャリアの出力に振幅 Ak(出力レベル Lk を dB から直したもの)を掛けて足したものが出力です。キャリアが 2 つ以上あると、足した分だけ出力が大きくなります。音量の調整を「する」にすると、振幅の合計が 1 を超えたときに出力を合計で割り、ピークをフルスケール(1)以内に収めます。キャリアどうしの大きさの比は変わりません。OP1 は自身の直近 2 標本の平均を、帰還量 β を掛けて自身の位相に戻せます。β を大きくすると、のこぎり波に近づき、さらに大きくすると雑音になります。波形は正弦波のほか、三角波(tri)・のこぎり波(saw)・矩形波(sq)・半波整流(hsin、正弦波の負の半分を 0 にしたもの)・全波整流(asin、正弦波の絶対値)・四分波(qsin、全波整流の各半周期の後ろ半分を 0 にしたもの)を選べ、どれも位相 0 で 0 から始まります。正弦波でない波形はもとから倍音を含むため、変調指数が小さくても音が明るくなります。時刻 0 ですべてのオペレータの位相を 0 にして計算し、波形とスペクトラムは 1 周期を 512 点に分けて、音は出力のサンプリング周波数で計算します。スペクトラムは 32 周期ぶんにブラックマン-ハリス窓を掛けて求め、振幅 1 の正弦波を 0 dBFS とします。

y(t)=Asin⁡(2πfct+Isin⁡2πfmt)=A∑n=−∞∞Jn(I)sin⁡2π(fc+nfm)tsk(t)=Wk(2πrkf0t+∑j→kIjsj(t)),y(t)=∑k∈キャリアAksk(t)Ak=10Lk/20,y調整(t)=y(t)max⁡(1,∑k∈キャリアAk)s1[n]=W1(2πr1f0nfs+βs1[n−1]+s1[n−2]2)

出典: J. M. Chowning, “The Synthesis of Complex Audio Spectra by Means of Frequency Modulation,” Journal of the Audio Engineering Society, vol. 21, no. 7, pp. 526–534, 1973(FM による音の合成と側帯波)。8 通りのアルゴリズムと帰還量 FB 0〜7(0・π/16〜4π)は、ヤマハの OPN 系 FM 音源 IC(YM2203・YM2608・YM2612)の仕様にならう。半波整流・全波整流・四分波は、ヤマハの OPL2(YM3812)の波形選択にならう。オペレータの出力の大きさの決め方と帰還の大きさは、このツールの実装による。

関連ツール

すべてのツール