Elementary Cellular Automatonを利用したFMシンセサイザ。Qt5.5を使用。
Randomボタンを押して音を探すことができる。気に入った音はSaveボタンで保存できる。 wavファイルとして、ECAFMと同じディレクトリに作られるrenderディレクトリに保存される。
Duration、MaxStepの値で音の長さ、Pitchの値で音の高さ、Ratio、Harmonicsで音の質感を変更できる。 がさがさした音になったら、HarmoTypeをSoftにすると少し落ち着いた音になる。 Rule、Seedで時間に伴う音の変化を決めることができる。
2オペレータFMで、FMインデックス(変調の度合い)は3.0で固定。
Pitchから基音を設定、倍音をHarmonicsの数だけ用意。 各倍音はElementary CAのセルに相当、あるステップで0ならその倍音をミュート、1なら発音する。 時間がDuration進むごとに1ステップ増加。1ステップ増加ごとにElementary CAが1世代進む。
下図はオペレータの概略。
1ステップあたりの時間。単位はミリ秒。
レンダリングするステップ数。
キャリアの基音の音程。
キャリアの周波数を1としたときの、モジュレータとの周波数比。
倍音の数。1世代あたりのElementary CAのセルの数。
倍音の足し合わせ方。n番目の倍音の音量について、
- Hard: 1.0
- Soft: 0.5^n
ステップ間のスムーシング。値を増やすと、音の変化がより緩やかになる。
Elementary CAのルール。
Elementary CAの初期状態を決める乱数のシード値。
HarmoType以外の値についてランダマイズを行う。
レンダリングを行う。
レンダリングされた音を再生する。
レンダリングされた音を保存する。保存先はECAFMの実行ファイルと同じディレクトリに作られるrenderディレクトリ。