次の方法で共有


XAUDIO2FX_REVERB_PARAMETERS 構造体 (xaudio2fx.h)

リバーブ APO で使用するパラメーターについて説明します。

構文

typedef struct XAUDIO2FX_REVERB_PARAMETERS {
  float  WetDryMix;
  UINT32 ReflectionsDelay;
  BYTE   ReverbDelay;
  BYTE   RearDelay;
  BYTE   SideDelay;
  BYTE   PositionLeft;
  BYTE   PositionRight;
  BYTE   PositionMatrixLeft;
  BYTE   PositionMatrixRight;
  BYTE   EarlyDiffusion;
  BYTE   LateDiffusion;
  BYTE   LowEQGain;
  BYTE   LowEQCutoff;
  BYTE   HighEQGain;
  BYTE   HighEQCutoff;
  float  RoomFilterFreq;
  float  RoomFilterMain;
  float  RoomFilterHF;
  float  ReflectionsGain;
  float  ReverbGain;
  float  DecayTime;
  float  Density;
  float  RoomSize;
  BOOL   DisableLateField;
} XAUDIO2FX_REVERB_PARAMETERS;

メンバー

WetDryMix

リバーブになる出力の割合。 許容値は 0 ~ 100 です。

ReflectionsDelay

直接パスに対する最初の反射の遅延時間。 使用できる範囲は 0 ~ 300 ミリ秒です。

メモ サンプリング レートまたは時間に関連するすべてのパラメーターは、48kHz のサンプリング レートに対して相対的であり、他のサンプリング レートで使用するためにスケーリングする必要があります。 詳細については、以下の「解説」セクションを参照してください。
 

ReverbDelay

最初の反射に対するリバーブの遅延。 使用できる範囲は 0 ~ 85 ミリ秒です。

メモ サンプリング レートまたは時間に関連するすべてのパラメーターは、48kHz のサンプリング レートに対して相対的であり、他のサンプリング レートで使用するためにスケーリングする必要があります。 詳細については、以下の「解説」セクションを参照してください。
 

RearDelay

左背面出力と右背面出力の遅延。 使用できる範囲は 0 ~ 5 ミリ秒です。

メモ サンプリング レートまたは時間に関連するすべてのパラメーターは、48kHz のサンプリング レートに対して相対的であり、他のサンプリング レートで使用するためにスケーリングする必要があります。 詳細については、以下の「解説」セクションを参照してください。
 

SideDelay

左側の出力と右側の出力の遅延。 使用できる範囲は 0 ~ 5 ミリ秒です。

メモこの値は、Windows 10 以降でサポートされています。
 
メモ サンプリング レートまたは時間に関連するすべてのパラメーターは、48kHz のサンプリング レートに対して相対的であり、他のサンプリング レートで使用するためにスケーリングする必要があります。 詳細については、以下の「解説」セクションを参照してください。
 

PositionLeft

リスナーに対するシミュレートされた空間内の左側の入力の位置。 PositionLeft を最小値に設定すると、左側の入力がリスナーの近くに配置されます。 この位置では、初期反射が優先され、リバーブの減衰がサウンドフィールドに戻り、振幅が減少します。 PositionLeft を最大値に設定すると、左側の入力はシミュレートされた部屋内のリスナーからの最大距離に配置されます。 PositionLeft はリバーブの減衰時間 (部屋のライブネス) には影響せず、リスナーに対するソースの見かけ上の位置にのみ影響します。 使用できる範囲は 0 ~ 30 (単位なし) です。

PositionRight

PositionLeft と同じですが、適切な入力にのみ影響します。 使用できる範囲は 0 ~ 30 (単位なし) です。

メモ Mono-in/mono-out モードでは PositionRight は無視されます。
 

PositionMatrixLeft

ソースからリスナーまでの距離の印象を大きくまたは小さくします。 使用できる範囲は 0 ~ 30 (単位なし) です。

PositionMatrixRight

ソースからリスナーまでの距離の印象を大きくまたは小さくします。 使用できる範囲は 0 ~ 30 (単位なし) です。

メモ モノイン/モノアウト モードでは、PositionMatrixRight は無視されます。
 

EarlyDiffusion

個々の壁反射の文字を制御します。 ハードフラットサーフェスをシミュレートするには最小値に設定し、拡散サーフェスをシミュレートするには最大値に設定します。 使用できる範囲は 0 ~ 15 (単位なし) です。

LateDiffusion

個々の壁の残響の文字を制御します。 ハードフラットサーフェスをシミュレートするには最小値に設定し、拡散サーフェスをシミュレートするには最大値に設定します。 使用できる範囲は 0 ~ 15 (単位なし) です。

LowEQGain

1 kHz の減衰時間に対する低周波数の減衰時間を調整します。 値は、次のようにゲインの dB に対応します。

0 1 2 3 4 5 6 7 8 9 10 11 12
ゲイン (dB) -8 -7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4
 
メモLowEQGain 値が 8 の場合、低周波数の減衰時間は 1 kHz の減衰時間と等しくなります。
 
使用できる範囲は 0 ~ 12 (単位なし) です。

LowEQCutoff

LowEQGain パラメーターによって制御されるローパス フィルターのコーナー周波数を設定します。 値は、次のように Hz の周波数に対応します。

0 1 2 3 4 5 6 7 8 9
周波数 (Hz) 50 100 150 200 250 300 350 400 450 500
 

使用できる範囲は 0 ~ 9 (単位なし) です。

HighEQGain

1 kHz の減衰時間に対する高周波の減衰時間を調整します。 0 に設定すると、高周波数は 1 kHz と同じ速度で減衰します。 最大値に設定すると、高周波数は1 kHzよりもはるかに高速な速度で減衰します。

0 1 2 3 4 5 6 7 8
ゲイン (dB) -8 -7 -6 -5 -4 -3 -2 -1 0
 

使用できる範囲は 0 ~ 8 (単位なし) です。

HighEQCutoff

HighEQGain パラメーターによって制御されるハイ パス フィルターのコーナー周波数を設定します。 この値は、次のように kHz の周波数に対応します。

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
周波数 (kHz) 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8
 

使用できる範囲は 0 ~ 14 (単位なし) です。

RoomFilterFreq

ルーム効果のローパス フィルタのコーナー周波数を設定します。 使用できる範囲は 20 ~ 20,000 Hz です。

メモ サンプリング レートまたは時間に関連するすべてのパラメーターは、48kHz のサンプリング レートに対して相対的であり、他のサンプリング レートで使用するためにスケーリングする必要があります。 詳細については、以下の「解説」セクションを参照してください。
 

RoomFilterMain

初期反射と遅延フィールド残響の両方に対して、ローパス フィルタのパス バンド強度レベルを設定します。 使用できる範囲は -100 ~ 0 dB です。

RoomFilterHF

コーナー周波数での初期反射と遅延フィールド残響の両方のローパス フィルタの強度を設定します (RoomFilterFreq)。 使用できる範囲は -100 ~ 0 dB です。

ReflectionsGain

初期反射の強度を調整します。 使用できる範囲は -100 ~ 20 dB です。

ReverbGain

残響の強度を調整します。 使用できる範囲は -100 ~ 20 dB です。

DecayTime

1 kHz の残響減衰時間。 これは、フル スケールの入力信号が 60 dB 減衰する時間です。 使用できる範囲は 0.1 ~ 無限大秒です。

Density

遅延フィールドの残響のモーダル密度を制御します。 無色のスペースの場合は、 密度 を最大値 (100) に設定する必要があります。 密度が低下すると、音は中空になります (コームフィルター処理)。 これは、サイロをモデル化しようとしている場合に役立つ可能性がある効果です。 パーセンテージとして使用できる範囲は 0 から 100 です。

RoomSize

音響空間の見かけのサイズ。 使用できる範囲は1~100フィートです。

DisableLateField

TRUE に設定すると、遅延フィールドリフレクション計算が無効になります。 遅延フィールド リフレクション計算を無効にすると、CPU 時間が大幅に節約されます。

メモ XAUDIO2の DirectX SDK バージョンでは、このメンバーはサポートされていません。
 

注釈

サンプリング レートまたは時間に関連するすべてのパラメーターは、48kHz の音声に対して相対的であり、他のサンプリング レートで使用するためにスケーリングする必要があります。 たとえば、 ReflectionsDelay を 300 ミリ秒に設定すると、リバーブが 48kHz の音声でホストされている場合は 300 ミリ秒の遅延が発生しますが、24kHz 音声でホストされている場合は 150 ミリ秒の遅延になります。

プラットフォームの要件

Windows 10 (XAudio2.9);Windows 8、Windows Phone 8 (XAudio 2.8);DirectX SDK (XAudio 2.7)

要件

要件
Header xaudio2fx.h

こちらもご覧ください

方法: エフェクト チェーンの作成

IXAudio2Voice::SetEffectParameters

XAPO 概要

XAudio 構造体

XAudio2CreateReverb