XAudio2 Voices
XAudio2 音声オブジェクトには、ソース、サブミックス、および マスタリング 音声の 3 種類があります。 ソース音声は、クライアントによって提供されるオーディオ データに対して動作します。 ソースボイスとサブミックスボイスは、その出力を1つ以上のサブミックスまたはマスタリングボイスに送信します。 サブミックスとマスタリング音声は、それらを供給するすべての音声からのオーディオをミックスし、結果に基づいて動作します。 音声をマスターすると、オーディオ デバイスにオーディオ データが書き込まれます。
すべての音声によって実行されるアクション
すべての音声は、移動する音声に対して次のアクションを順番に実行します。
- 全体的な音量調整。すべてのオーディオ チャンネルに影響します。 IXAudio2Voice::SetVolumeを参照してください。
- IXAPO インターフェイスによって定義された組み込みのリバーブやユーザー効果など、1 つ以上の DSP エフェクトのクライアント指定チェーン (省略可能)。 XAudio2 オーディオエフェクト を参照してください。
- チャンネルごとの出力ボリューム調整。 IXAudio2Voice::SetChannelVolumesを参照してください。
- 各宛先音声または音声をマスタリングするためのオーディオ出力デバイスにマトリックス ミックスを分離します。 このミックスにより、必要に応じてオーディオ内のチャンネル数が変更されます。
ソースボイス
ソース音声を使用して、オーディオ データを XAudio2 処理パイプラインに送信します。 これらは、XAudio2 Audio Graphへのエントリ ポイントです。 直接または中間サブミックス音声を介して、音声データをマスタリング音声に送信する必要があります。
ソースボイスは、すべての音声によって実行されるアクションに加えて、次のアクションを実行します。
- 必要に応じて、デコーダーが最初に実行され、エンコードされたソース データがパルス コード変調 (PCM) に変換されます。
- 可変レート サンプル レート変換 (SRC) は、音声のソース オーディオ データを、必要に応じて宛先音声で予想されるサンプル レートに変換し、動的ピッチの変更もサポートします。
- オプションの状態変数フィルターを使用して、さまざまな方法でサウンドに色を付けることができます。 IXAudio2Voice::SetFilterParametersを参照してください。
- オプションのフィルターを音声の出力に適用できます。 IXAudio2Voice::SetOutputFilterParametersを参照してください。
Submix Voices
サブミックス音声は、主にパフォーマンスの向上とエフェクト処理に使用されます。 データ バッファーをサブミックス音声に直接送信することはできません。 マスタリング音声に送信しない限り、音声は聞こえない。 サブミックス音声を使用して、特定の音声データセットを同じ形式に変換し、集合的な結果に対して特定のエフェクトチェーンを処理することができます。
すべての音声によって実行されるアクションに加えて、サブミックス音声は次のアクションを実行します。
- 固定レート SRC は、必要に応じて音声の出力で実行され、音声を宛先音声で予想されるサンプル レートに変換します。
- オプションの状態変数フィルターを使用して、さまざまな方法でサウンドに色を付けることができます。 IXAudio2Voice::SetFilterParametersを参照してください。
- オプションのフィルターを音声の出力に適用できます。 IXAudio2Voice::SetOutputFilterParametersを参照してください。
音声のマスタリング
マスタリング音声を使用して、オーディオ出力デバイスを表します。 データ バッファーをマスターボイスに直接送信することはできませんが、他の種類の音声に送信されたデータは、マスタリングボイスに送信して聞く必要があります。
すべての音声によって実行されるアクションに加えて、マスターボイスは次のアクションを実行します。
- オーディオ デバイスでサポートされていない明示的な InputSampleRate 値を使用してマスタリング 音声を作成する場合は、固定レート SRC を使用して、デバイスでサポートされている最も近いサンプル レートに変換します。
- 出力デバイスで必要な場合は、最終的な出力オーディオをクリップします。
関連トピック
-
IXAudio2SourceVoiceの