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 ミリ秒です。
ReverbDelay
最初の反射に対するリバーブの遅延。 使用できる範囲は 0 ~ 85 ミリ秒です。
RearDelay
左背面出力と右背面出力の遅延。 使用できる範囲は 0 ~ 5 ミリ秒です。
SideDelay
左側の出力と右側の出力の遅延。 使用できる範囲は 0 ~ 5 ミリ秒です。
PositionLeft
リスナーに対するシミュレートされた空間内の左側の入力の位置。 PositionLeft を最小値に設定すると、左側の入力がリスナーの近くに配置されます。 この位置では、初期反射が優先され、リバーブの減衰がサウンドフィールドに戻り、振幅が減少します。 PositionLeft を最大値に設定すると、左側の入力はシミュレートされた部屋内のリスナーからの最大距離に配置されます。 PositionLeft はリバーブの減衰時間 (部屋のライブネス) には影響せず、リスナーに対するソースの見かけ上の位置にのみ影響します。 使用できる範囲は 0 ~ 30 (単位なし) です。
PositionRight
PositionLeft と同じですが、適切な入力にのみ影響します。 使用できる範囲は 0 ~ 30 (単位なし) です。
PositionMatrixLeft
ソースからリスナーまでの距離の印象を大きくまたは小さくします。 使用できる範囲は 0 ~ 30 (単位なし) です。
PositionMatrixRight
ソースからリスナーまでの距離の印象を大きくまたは小さくします。 使用できる範囲は 0 ~ 30 (単位なし) です。
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 |
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 です。
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 時間が大幅に節約されます。
注釈
サンプリング レートまたは時間に関連するすべてのパラメーターは、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 |