2007年12月27日

NDSでのTTA再生

去年の今頃も同じようなことをやっていて挫折していたと思うのですが、なんとかプチノイズが目立たなくなるとことまでこぎつけました。
TTATest 2007.Dec.27(Zip形式/1.18MB)
以下説明。
[操作]
A ... TTA再生
XY ... 某効果音サンプル
再生するTTAのデータは、32768Hz(約32kHz)/8ビット/モノラルです。
時間が取れれば、ソースも公開して(おこがましいのを覚悟で)解説をしたいのですが、取り急ぎ実行バイナリと要点をまとめておきます。
- ダブルバッファリングは必須なのだけれど、再生するチャンネル(L/R)ひとつに対して、NDSのハードウェア上のチャンネルふたつを割り当てる必要がある。
- このふたつのチャンネルをリピートモードではなくワンショットモードで使いまわす。
- チャンネルのスワップやバッファの更新は、タイマで周期的に行うことが理想。
- デコードにはlibttaを手を加えずにビルド。バッファサイズを4KBに設定。組んでる時に早送り状態になったので、CPU(ARM9)にはまだ余裕がありそう。
そんな感じでとりあえず寝ます。

0 件のコメント: