3DViewerDS用音楽データの作り方
前回のブログに続いて、音楽データの作り方を説明します。音楽データは音波形の生データですので、作り方は簡単です。
前回用いたサンプル(3dtest.mp4)から音データを生成する方法を書きたいと思います。
私の使用ツール
やり方の解説
音データの作り方を順に説明します。前回と同様に下記のニコニコ動画にfeifei22さんが投稿された動画をサンプルに使わせていただきました。
上の動画をmp4ファイルとして保存します。このやり方の説明は省きます。「ニコニコ動画 保存」などでググレばわかると思います。
wavファイルの生成
先ずはmp4ファイルからffmpegを用いて、wavデータを抽出します。モノラル(ac 1)サンプリング周波数44.1kHz(ar 44100)、データビット8ビット(acodec pcm_u8)の3dtest.wavというデータを生成します。
ffmpeg -i "3dtest.mp4" -ac 1 -ar 44100 -acodec pcm_u8 "3dtest.wav"
生波形データの生成
ダウンロードしたsoxファイルを解凍します。そして、sox.exeと3つのdll(libgomp-1.dll, pthreadgc2.dll, zlib1.dll)を、3dtest.wavのフォルダにコピーします。そして、soxを起動して生波形データを生成します。
サンプリングレートは20000Hzにしました。こんなに速くなくてもいいと思います。チャネルは1つ、rawデータを生成して、8ビットデータとしています。
sox "3dtest.wav" --rate 20000 --channel 1 --type raw -s --bits 8 "3dtest.oto"
3DViewerDSのINIファイル設定
これで、3dtest.otoデータが生成されています。このデータをマイクロSDメモリにコピーして、前回と同様に3DViewerDSのINIファイルに登録すれば終了です。前回の登録で、otoname = noneとたところのotoデータのファイル名を書き換えます。sHzは20000にしたので20000と書きます。
音データは、実行時にメモリに読み込むため、大きなサイズだとオーバーフローしてハングアップします。サンプリングレートを適度に変更して、3MBを超えないようにしてください。DSのメインメモリは4MBです。
[Read File Suu] kosuu = 1 [Read File Data1] leftFilename = FAT:/3dViewer/test/left.bin rightFilename = FAT:/3dViewer/test/right.bin title = Do-Dai otoname = FAT:/3dViewer/test/3dtest.oto komaCnt = 1280 sHz = 20000 repeatCnt = 1
以上が3DViewerDSの音データの生成方法です。