xaudio2fx.h) (XAUDIO2FX_REVERB_PARAMETERS 结构
描述在混响 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
频率 (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) 。 随着密度的降低,声音变得空心 (梳理过滤) 。 如果尝试为 silo 建模,这种效果会很有用。 允许的百分比范围为 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 |