スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 一見、地味なソフトだが | トップページ | サンプルリソースは付けない »

音声出力処理を改良する

今は、Mirror-DTC/AmuseGraphics用の追加提供ソフトとして、Mouseクリック エフェクターを作っているのだが、とりあえずは完成させたので、動作確認中だ。作者的には、Wavファイルを指定して音を出すと面白いのだが、現状の音声出力処理は宜しくないので改良する。

作者製ソフトには、Nostalgic UFO Battlerというゲームがあるのだが、現在開発中のMouseクリックエフェクターで使用している音声出力処理では、このゲーム用に開発した処理ルーチンを使っている。

これは何故なのか、というと、Nostalgic UFO Battlerというのはシューティングゲームなのだが、BGMで音楽を鳴らしたりしているので、この音声出力処理ルーチンでは様々機能が使えるからだ。

つまり、Nostalgic UFO Battlerに内蔵させている音声出力ルーチンでは、MMLから音を発生させる事が出来る処理ルーチン等が含まれるのだが、出す音の種類についても、単調なBeep音だけでは興ざめなので、色々とエフェクトなんかも使える様にしてある訳だ。

と、いう事で、今回開発しているMouseクリック エフェクターでも、作者的には、色々な効果音をユーザー指定で出せる様にしようかなあ、と、思っていたので、この処理ルーチンを持ってきて使ったのだが、結局、出力音声については、Wavファイルを指定出来る格好にしたので、そういった複雑な機能は使わない格好になった。

しかし、ビープ音の生成用には使っているし、この処理ルーチンには、複数の音源の出力音を合成してOSが提供している音声出力APIに渡すミキサー機能もある訳だ。

なので、殆どの機能は使わない事になる筈なのだが、リリース版でも、基本的には、この処理ルーチンは搭載し続ける事になる筈だ。

ただし、Nostalgic UFO Battlerというのは、元々は、Android用に開発する事を目指したソフトだったので、出力音声はモノラルにしてあった訳だ。

まあ、ステレオ効果機能があるので、出力音声はステレオにする事も可能ではあるのだが、内部データ的には、モノラルである事を前提にしている。

で、昨日書いた様に、作者的には、BombClickに同梱されていたWavファイルを音声出力用のソースファイルとして使ってみたりしたのだが、それらのファイルは44100Hzサンプリングの16Bitステレオ形式になっていた訳だ。

上記は至って普通の形式になるのだが、前述の様に、今現在の音声出力ルーチンはモノラルデータしか受け取れないので、ファイルデータは内部的には、ステレオデータをモノラルデータに変換した上で使用している格好になっている。

データサイズ的には、ステレオよりもモノラルの方が小さいし、用途を鑑みれば、何もステレオ音声ファイルを用意する必要性は低い筈ではあるのだが、ステレオ音声が使えない、となると、それはそれで問題でもある訳だ。

と、いう事で、音声出力処理は改良してステレオ音声入力にも対応させようかなあ、と、思っているのだが、Nostalgic UFO Battlerの音声出力処理では、その最下層部も古いので、動作中に規定の再生デバイスが変更されると音声出力が出来なくなる。

なので、この辺の処理についても、作者製の他ソフトから最新のコードを持ってきて改良する事にする。

ちなみに、既にリリース済みのTiKeyboardViewerでもビープ音は鳴らせるのだが、これについては、Nostalgic UFO Battlerの音声出力ルーチンは使っていない。

このため、単純な音しか鳴らせないのだが、動作中に規定の再生デバイスが変更されても音声出力は継続できる状況だ。

もっとも、Mouseクリック エフェクターでWavファイルを指定できて、TiKeyboardViewerでは指定できない、というのは、少し寂しい感じがしないでもないので、次バージョンの開発時には、こちらについても、音声出力処理は変更する事にするかもしれない。

« 一見、地味なソフトだが | トップページ | サンプルリソースは付けない »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/67173978

この記事へのトラックバック一覧です: 音声出力処理を改良する:

« 一見、地味なソフトだが | トップページ | サンプルリソースは付けない »

2018年9月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google