Unityと数学と音楽の学習帳

Unityと数学、音楽の同時学習を目的としたブログ(個人的メモ帳:勉強中なので正確性はない)

FM音源_忘備録

FM音源の仕組み

VOPM

x68kFM音源の特性を調べた。VSTiのVOPMより利用できる。

docs.google.com

docs.google.com

docs.google.com

VOPM

VOPMなどのFM音源は以下の仕組みを持つ
f:id:cqbosinko:20200619100945p:plain

insideX68kより抜粋。これは各パラメータの動作を分かりやすく図で示したもので何を対象に値が働くか非常にわかりやすい。
ここで重要なのはFM音源の回路内部にSIN波形テーブルがありフェーズジェネレーター(PG)と呼ばれる0から2πまでの数字を出力する
回路があるという部分。このフェイズジェネレーターというのは数学的に式で表すと以下のようになる

f:id:cqbosinko:20200619103153p:plain

ここでのxは時間を表している。いきなりAEG((アンプ)エンベロープジェネレーター)とDT1,DT2(デチューン)を考えると仕組みが分かりづらくなるので
シンプルにそれらの値は1に固定して考えるとキャリアとモジュレーターのふたつのオペレータを合わせて出力した場合の式とグラフは以下のようになる

f:id:cqbosinko:20200619111055p:plain
(以下PocketCasの式)

//inside x68k p263
//FMシンセのあたらしいトリセツ p133参照
AEGalpha:=1
AEGbeta:=1
mul1:=1
mul2:=1
omegaT:=2π*(mul1*x-floor(mul1*x))
phyT:=2π*(mul2*x-floor(mul2*x))
//キャリアとモジュレーターを合わせたFM音源出力波形は以下になる。波形が密集するとピッチは高くなる
Asin:=sin(omegaT+sin(phyT))
//アンプエンベロープジェネレーターまで考えた時の出力
out:=AEGbeta*sin(omegaT+AEGalpha*sin(phyT))

メモ

参考資料
examing VOPM - to understand and emulate the OPM sound

  • TLが80から30辺りまでは倍音成分が連続して増加、TL=25以降は基音がより減衰して第2、第3倍音の音量が大きくなったり整数倍以外の倍音成分が現れ始め発振した様な状態になるらしい。