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, (沒有單位) 。

注意 PositionRight 在 mono-in/mono-out 模式中會被忽略。
 

PositionMatrixLeft

提供與來源到接聽程序距離的更大或更少印象。 允許的範圍是從 0 到 30, (沒有單位) 。

PositionMatrixRight

提供與來源到接聽程序距離的更大或更少印象。 允許的範圍是從 0 到 30, (沒有單位) 。

注意在mono-in/mono-out模式中會忽略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 之衰減時間的高頻率衰減時間。 當設定為零時,高頻率會以與 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
frequency (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)

規格需求

需求
標頭 xaudio2fx.h

另請參閱

使用方法:建立效果鏈

IXAudio2Voice::SetEffectParameters

XAPO 概觀

XAudio 結構

XAudio2CreateReverb