週末、ノートに書き出していたメモを元にFM音源の
プログラムを書き進めました。
だいぶいい感じになってきました。まぁ、まだ全部は
書き終わってないのですが、モジュレータとキャリア
のsin関数出力の計算式部分を書き終わりました。
この部分が一番大変なところ。つまり産みの苦しみは
殆ど終了。アセンブラでsin関数扱おうって言う方が
ちょっと無理があるんですけどね。
といっても、まだ「ド」の音1個分だけしか出来てません。
まぁ、ここまでできればあとの3つの音もコピペするだけ。
残りは簡単に片付くかと。
ちなみに、現在組み込済み/未済の機能は
・単音のみ(和音は不可…キャリアが1個しかない)
・モジュレータは1個だけ(変調のアルゴリズムが選択不可)
・周波数比はプロコンで変更可能
・モジュレータの変調度合いはプロコンで256段階で設定可能
・エンベロープパターンは未登載
・モジュレータのフィードバックは未登載
と、FM音源を謳っている割にはまだまだ未熟です。
でも、これだけでも単なる矩形波よりはずっと
豊かな音が出るはず。
音が出るまで、あとちょっとだけだな…。
そういえば昔、8ビットパソコンで音声出力
しちゃってた凄いゲームがあった記憶が…。
アレは凄かったなぁ。パラディンだったかな?
「ついにパソコンが喋った!」
と。もう20年以上前のお話ですが…。
AVRでもいつか音声合成でサンプリング
の音声を出力したいな。
|