ゆうべの、「ミ」の音のシミュレーションが上手く
行かなかった理由、判りました。
掛け算の筆算ロジックに間違え発見! 小学生に
笑われちゃいます…ハハハ。
ドの音の場合は、数値的にたまたま上手く通るだけ
だったのね…
というわけで小学生にばれないうちにロジックを修正。
シミュレーションを掛けたらちゃんと動きました。
続けて「ソ」と1オクターブ上の「ド」もコピペ
で作成。4音ともシミュレーション上手く行きました。
一通りソース全体を見直して、特に問題なさそう
なことを確認し、PLAYERに流し込んでみます…
PLAYERじゃなくてもいいんですが、音声出力
用の回路が既に組み込まれているPLAYERなら
単に便利なので。
まぁ、抵抗2個とRCAジャック、コンデンサの4つ
だけで組めるので、ブレッドボードでも良いんですけど。
で、音声出力をテレビに繋いでみました。
うん。出た!
思ったとおりの音があっけなく再生できました!
こんな風にちゃんと動いてくれるとやっぱり嬉しいな。
周波数比を1、2、3、4、5、6、7…と
上げていっても、やっぱり昔ながらのFM音源
といった感じの音が出てくれました。
あと、変調の度合い(モジュレータの出力レベル)
も弄ってみましたが、これも想定どおり。
ちなみに1サンプル分のデータを出力する計算処理
に56クロックを要しています。ハードウェア乗算
命令、やっぱ速いね!
単純に和音をたくさん出すことを考えると、
ギッチリ詰め込めば8和音くらいは出そうです。
(割り込み1回に500クロックと仮定
→発振器が20Mhzの時40000回/秒
の出力…ほぼCDレベルの20000Hz
まで再生可能)
でも和音をべらぼうに出すよりも、もっと複雑な
アルゴリズムに対応するとか、エンベロープを
組み込むとかして、4和音程度出るといいなぁ
という気がします。
ひとまず、目下の成果物についてサイト上に
ページを作ってまとめておきたいと思います。
サンプリング音声やソースリストもそこに
載せておこうと思います。
(追伸)
サイトに纏め始めました。
http://picavr.uunyan.com/experiment_fm_sound.html
マイコンから出力された音声をmp3形式で録音
したものを貼り付けてあります。
ご興味のある方は是非一度お聴きください。
(録音機材がイマイチなので音質がちょっと低く
感じますが、直接アンプ-スピーカーに繋いで
聴いてみると、結構ちゃんとした音が出ています)
![](/images/clear.gif)
![](/images/clear.gif)
![](/images/clear.gif)
|
![](/images/clear.gif) |
|
|
|
|