2012年2月12日日曜日

サウンド系統

VG-Engine(Windows側)のサウンド系統の実装は、過去に作ったWindows用ゲームの実装を流用してお手軽に・・・と、考えていましたが、Android版作成時(OpenSL対応)を考慮して、ちょっと大幅に作り直すことにしました。

今までは、効果音は「鳴れば良い」レベルだったので、昔の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 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...