今までは、効果音は「鳴れば良い」レベルだったので、昔のDirectX SDKのサンプルに付随していたdsutil.cppを流用してお手軽にメモリ展開したWAVを鳴らしていましたが、OS非依存のサウンドシステムを新たに作る感じにすることで、Android化する作業を楽にした方が生産性が高い・・・という目論見があります。更に、先述の日記でいっていた独自のPSG音源エミュレータをVG-Engineに実装するときの作業も、大分楽になるんじゃないかと思われます。
ちなみに、VG-Engineのサウンドシステムとしては、SE用、BGM用それぞれにスロット(0~255)があり、初期化時にSEデータ、BGMデータをそれぞれスロットに展開しておき、メイン処理で任意のスロットを指定して再生するAPIを準備するような仕様にするつもり。
SE用スロットの仕様は、
- データ形式は、22050Hz×16bit×1ch(モノラル)のPCMデータ
- 再生は2ch(ステレオ) ※任意のパンを指定して鳴らせるイメージ
- 異なるスロットのSEは合成再生可能
DirectSoundだとそういう仕様で作り易い。
ですが、OpenSLだとよく分からないから、とりあえず合成はソフトウェア演算で実装。
そんな感じのサウンドシステムを実装しようとしたら、とてもじゃないけど、日曜日中にWindows版だけでも完成させるのが、無謀そうな感じがしてきました・・・今月一杯ぐらい掛かるかも。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。