マイコン工作実験日記

Microcontroller を用いての工作、実験記録

AACの再生

2009-12-18 01:20:20 | MP3プレーヤ
ようやくとAACを再生できるところまで漕ぎ着けました。どうやらMPEG4のデコードルーチンで正しくAAC曲データの先頭を正しく見つけられていたようです。今のところAACのデコーダとMPEG4の簡易デコーダをどうにか載せたところですので、まだコマンド操作でしか再生できませんが、音はちゃんと鳴りました。以下、再生実験の様子です。

最初に矢印に続いて192と表示されている行がありますが、これはMPEG4内の情報で曲データの長さが192秒であることを示しています。切り捨て表示していますので、より正確には 8502272/44100=192.795 秒です。実際には、これを190.62秒で再生を終えています。つまり、ちょっと早めのテンポで再生していることを示しています。この数字の違いは、CODECで使用しているクロックが12MHzであり、正確な44.1KHzのサンプリングクロックを生成できないのが原因だろうと考えたのですが、計算してみると短くなりすぎです。試しに別の曲を再生してみると、そちらはほぼ同じ時間で再生終了。どうして、この例では2秒も違うのか? いまのところ、原因不明。



続いて、aplay dummyとすることで、PCMデータをCODECに送らないように指示。こうすることで、今度はデコードに要する時間を調べてみようというわけです。106秒でデコードできていますから、MP3の場合とさほど変わりませんね。もっと、CPU喰うのかと想像していましたが、それほどでもないようです。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。