Florian's most newest Diary

ふろりあんの再最新日記

mbedを使ってMIDIを解釈するポリフォニック・シンセサイザーを作る

MIDIはシリアルな信号なのでシリアルパルスを数列にする必要があるけど、多分これくらいは付いてるだろう。USBデバイスとして認識するくらいなんだから。

問題は発声部分。96MHzの実行周波数でDMAを使わずに44.1kHzのサンプリング周波数の音を出すのにパフォーマンスが足りるかどうか。波形は凝った計算させるより潔く矩形波で。

44100Hzの割り込みを作るには0.227msecごとの割り込みが必要なんだけど、こんな細かい割り込みmbedのOSはサポートしてるのかな? かといって、sleepで1msec以下の休止はサポート外だろうしなぁ。マシン語で書いてクロック数えるしかないのかな。ARMでそれやるのはやだな。キャッシュのヒット率に依ってクロック数大幅に変わるだろうし。

まずは秋葉原でmbedのきっと買ってくるところから考えよう。LEDチカは簡単らしいし。mbed NXP LPC1768じゃないとアナログ出力がないのか。気をつけよう。

いざとなったらPWM出力だけの日寄ったシンセサイザーにしちゃってもいいな。音量をデューティー比に割り当ててPCMもどきの音にすることはできるし。モノフォニック・シンセサイザーになっちゃうけど。