DirectX ゲームでのオーディオの使用

Applies to Windows and Windows Phone

ミュージックやサウンドを開発し、DirectX ゲームに統合する方法、およびオーディオ信号を処理して、ダイナミック サウンドやポジショナル サウンドを作成する方法について説明します。

オーディオのプログラミングには、DirectX の XAudio2 ライブラリを使用することをお勧めします。ここでもこのライブラリを使用しています。XAudio2 は、ゲーム開発の信号処理とオーディオ ミキシングの基礎を提供する下位レベルのオーディオ ライブラリです。多様なフォーマットがサポートされています。

Microsoft メディア ファンデーションを使用してシンプルなサウンドやミュージックの再生を実装することもできます。Microsoft メディア ファンデーションは、オーディオとビデオの両方に対応したメディア ファイルやストリームの再生用として設計されていますが、ゲームに利用することもできます。特に、ゲーム中の映画的なシーンや非対話型のコンポーネントに利用できます。

このセクションの内容

トピック説明

DirectX オーディオ開発のロードマップ

このトピックでは、DirectX と C++ を使った Windows ランタイム アプリのオーディオ開発に関するリソースの一覧を示します。XAudio2、メディア ファンデーション、Windows ランタイム XAML オーディオのサポート形式について説明します。

 

概要

このセクションで使用するオーディオ プログラミングの概念について以下に説明します。

  • 信号は、サウンド プログラミングに使用する基本単位です。グラフィックスにおけるピクセルに相当します。 これらの信号を処理するデジタル シグナル プロセッサ (DSP) は、ゲーム オーディオのピクセル シェーダーのようなものです。信号の変換、組み合わせ、またはフィルターを行います。 DSP にプログラミングすることにより、ゲームのサウンド効果やミュージックをはるかに簡単な方法で加工することができます。
  • ボイスは、2 つ以上の信号をサブミックスしたコンポジットです。XAudio2 のボイス オブジェクトには、ソース、サブミックス、マスタリングという 3 種類のボイスがあります。ソース ボイスは、クライアントから提供されたオーディオ データに適用されます。ソース ボイスとサブミックス ボイスは、1 つ以上のサブミックス ボイスまたはマスタリング ボイスに向けて出力を送信します。サブミックス ボイスとマスタリング ボイスは、それぞれに送られるすべてのボイスからオーディオをミキシングし、その結果に対して作用します。マスタリング ボイスは、オーディオ デバイスにオーディオ データを書き込みます。
  • ミキシングは、シーンの背景で再生されるサウンド効果やバックグラウンド オーディオなど、個別のボイスをいくつか組み合わせて単一のストリームを形成するプロセスです。サブミキシングは、エンジン音などのコンポーネント サウンドを組み合わせて、1 つのボイスを作成するプロセスです。
  • オーディオ形式。ミュージックとサウンドの効果は、ゲームで使用する多様なデジタル形式で保存できます。WAV のような非圧縮型や MP3 や OGG などの圧縮型の形式があります。サンプルの圧縮率が高くなるほど、忠実度が低下します (通常、圧縮率はビット レートで表し、ビット レートが低いほど、圧縮の損失が大きくなります)。忠実度は、圧縮方式やビット レートによって変動するため、実験しながら実際のゲームに応じた最適のレベルを探る必要があります。
  • サンプル レートと品質。サウンドは、さまざまなレートでサンプリングできます。低いレートでサンプリングしたサウンドは忠実度が相当低くなります。CD 品質のサンプル レートは 44.1 Khz (44100 Hz) です。サウンドに Hi-Fi の音質が必要ない場合は、低いサンプル レートを選択できます。プロフェッショナル向けのオーディオ アプリケーションであればサンプル レートを高く設定する必要がありますが、ゲーム中でプロ レベルの音質が求められない限り、おそらくその必要ありません。
  • サウンド エミッター (ソース)。XAudio2 でいうサウンド エミッターとは、バックグラウンド ノズルのブリップ音であれ、ゲーム中のジュークボックスで再生する激しいロック トラックであれ、音を発する場所のことを指します。エミッターは、ワールド座標で指定します。
  • サウンド リスナー。サウンド リスナーはプレーヤーであったり、高度なゲームの場合は、リスナーから受け取ったサウンドを処理する AI エンティティであったりします。そのサウンドを、プレーヤーに対して再生するオーディオ ストリームにサブミックスしたり、特定のゲーム中アクション (たとえばリスナーとしてマークを付けた AI ガードを起動する) に適用したりできます。

設計時の考慮事項

オーディオは、ゲームの設計と開発の面できわめて重要な役割を果たします。凡庸なゲームであっても、記憶に残るサウンドトラックや優れたボイスワーク、サウンド ミキシング、全体に秀逸なオーディオ制作が取り入れられているという単純な理由から、こうしたゲームに伝説的な評価を与えるゲーム プレーヤーも少なくありません。ミュージックとサウンドはゲームの個性を決定することに加え、ゲーム全体の輪郭を定義したり、他の類似したゲームからの差別化を図ったりするための主な動機付けにもなります。ゲームのオーディオ プロファイルの設計と開発に向けて投入した努力は、必ずそれなりの価値があるものです。

3D ポジショナル オーディオは、3D グラフィックスがもたらす没入感に新たな次元を加えるものです。実世界のシミュレーションや映画的シーンの再現を目指した複雑なゲームを開発している場合は、3D ポジショナル オーディオを利用して、プレーヤーをゲームの世界に引き込む手法を検討することをお勧めします。

辞書/リファレンス

関連トピック

XAudio2 プログラミング ガイド

 

 

表示:
© 2014 Microsoft