最終更新:2010-08-12 (木) 05:00:09 (5365d)
XAudio2
Top / XAudio2
http://msdn.microsoft.com/ja-jp/library/bb694503(VS.85).aspx
XAudio2 の概要
XAudio2 は、Microsoft Windows および Xbox 360 向けの低レベルのクロスプラットフォーム オーディオAPI です。この API は、DirectSound や XAudio? などのそれ以前の API と同様に、ゲーム用の信号処理機能およびミキシング?の基盤を提供します。Windows のゲーム開発者にとって、XAudio2 は、DirectSound に代わるものとして長い間待ち望まれていました。Xbox 360 開発者にとっては、いくつかの未解決の問題や機能に対する要求に対処した、以前の XAudio API? の拡張バージョンです。
XAudio2 は、各種プラットフォームに対応しているため、Windows および Xbox 360 の開発者は、"1 回のみの記述で、2 回コンパイル" というソリューションを実行することができ、これによって、プラットフォーム間の移植に必要な作業が大幅に軽減されます。
ゲーム開発での開発者のパフォーマンスを向上させることができる XAudio2 の機能および新機能は、次のとおりです。
- DSP エフェクトおよび 1 音声ごとのフィルタリング
- デジタル シグナル処理 (DSP) エフェクトは、オーディオのピクセル シェーダーです。これらは、サウンドの変換 (豚の悲鳴のような高音のサウンドから、低音の恐ろしい怪獣のサウンドへの変換など) や、リバーブ?および閉鎖フィルタ?、または障害物フィルタ?を使用したゲーム環境へのサウンドの配置など、あらゆる処理を実行できます。XAudio2 には、Windows プラットフォームと Xbox 360 プラットフォームに共通の、柔軟性のある強力な DSP フレームワークが用意されています。また、効率的なローパスフィルタ、ハイパスフィルタ、およびバンドパスフィルタ?のエフェクトに使用できる 1 音声ごとの組み込みフィルタもあります。
- DSP エフェクトおよび 1 音声ごとのフィルタリングの詳細については、「XAudio2 オーディオ エフェクト」および「IXAudio2Voice::SetFilterParameters?」を参照してください。
- サブミキシング?
- サブミキシングとは、いくつかのサウンドを単一のオーディオ ストリームに統合することです。たとえば、各種のサウンドをすべて同時に再生して、エンジン音を構成します。同様に、サブミキシングを使用して処理し、ゲームで類似する部分を統合することもできます。たとえば、ユーザーによるボリューム設定を適用すると同時に、別の設定で音楽のボリュームを制御できるように、すべてのゲーム サウンド エフェクトを統合することができます。サブミキシングで、DSP を使用して統合し、現在のゲームに必要な各種データをルーティングしたり、処理したりできます。XAudio2 では、任意のレベルでのサブミシングが可能で、複雑なサウンド作成や、ゲームのミキシングができます。
- サブミキシングの詳細については、「XAudio2 オーディオ グラフ」および「XAudio2 ボイス」を参照してください。
- 圧縮オーディオ?のサポート
- DirectSound サウンドに要求される主要な機能の 1 つは、圧縮オーディオのサポートでした。XAudio2 では、実行時に展開できるネイティブな圧縮形式 (ADPCM (Windows のみ)、XMA? (Xbox 360 のみ)、WMA) をサポートしています。
- 拡張マルチチャンネルおよびサラウンド サウンドのサポート
- マルチチャンネル、3D、およびサラウンド サウンドのサポートは、Windows および Xbox 360 の両方に拡張されています。Windows では、3D およびサラウンド サウンドは、柔軟性と透過性が向上しています。Xbox 360 では、XAudio アーキテクチャに引き継がれていたいくつかの制限が撤廃されました。XAudio2 は、マルチチャンネル サウンドにおける 6 チャンネルの制限を廃止し、マルチチャンネル対応オーディオ カードでマルチチャンネル オーディオをサポートしています。このカードではハードウェアで高速化する必要はありません。
- マルチレート処理
- CPU 使用率を最小限に抑えるため、XAudio2 には、複数の低いレートのオーディオ処理グラフを作成できるテクノロジが備わっています。この機能により、ソース マテリアルのレートが 48 kHz より低い場合に、ゲームがそのレートでオーディオを処理することによって、CPU 使用率を大幅に低く抑えることができます。
- 非ブロッキングAPIモデル?