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 毫秒。

注意 与采样率或时间相关的所有参数都相对于 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。
 

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 处的衰减时间调整高频率的衰减时间。 设置为零时,高频率会以与 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) 。 随着密度的降低,声音变得空心 (梳理过滤) 。 如果尝试为 silo 建模,这种效果会很有用。 允许的百分比范围为 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