libmadを使ったMP3再生サンプル

土曜日にNTTさんの立会いの下で光工事がようやくおこなわれます(多分)

宅内工事やISPの切り替えとかもあってすぐ復帰できるか謎なので
その前にGPLであるlibmadを使っての
基本的なMP3再生部分のサンプルコードを上げておきます。
開発環境を持っている方は試してみてください。
ちなみにコンパイル環境はee-gccです。
補助開発環境であるpspsdkとかは使っていません。

MP3をデコードできるオープンソースなコードは他にclipmp3やmpeg123等がありますが、
libmadはデコードが早くて精度も高く、かつ移植性が良いのでかなり優秀です。
(浮動小数点演算ではなく27bit固定小数点演算であり、テーブルを多めに持っているため)

デコードの精度を上げるなら -DFPM_DEFAULTを-DFPM_MIPSにすれば精度が上がります。
(ただしデコード時間は増えます)
といっても、最終的なスケーリング(符号付16ビットWAVE音源)のことを考えると
-DFPM_DEFAULTでも問題ないと思います。

コンパイルオプション-DPSPが今回libmadから処理を省いたところになります。
pspsdkに組み込むことを前提にするのであれば省く必要はないと思います。

メモリ関連のmalloc calloc freeはごく簡単なカプセル関数を用意しました。

最後に念押しですが、libmadはps2devのsvnでも公開されています。
JVIEWはそれとは関係なく独自で手を入れてます。
そのため、ps2devのsvnの方が素性がはっきりしてますし、
デバッグもきちんと行なわれていると思うので、可能であればそっちを利用してください。
[PR]
by maman_jv | 2005-07-22 22:30 | PSP全般
<< 顧客サービス業としてその対応は... 売られた喧嘩? >>