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 之衰減時間的高頻率衰減時間。 當設定為零時,高頻率會以與 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。
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)規格需求
需求 | 值 |
---|---|
標頭 | xaudio2fx.h |