KSDS3D_ITD_PARAMS 结构 (ksmedia.h)

KSDS3D_ITD_PARAMS 结构指定由 ITD) 算法在 3D 节点 (KSNODETYPE_3D_EFFECTS) 中向左或右通道应用 (ITD 时间 延迟的参数。

语法

typedef struct {
  LONG  Channel;
  FLOAT VolSmoothScale;
  FLOAT TotalDryAttenuation;
  FLOAT TotalWetAttenuation;
  LONG  SmoothFrequency;
  LONG  Delay;
} KSDS3D_ITD_PARAMS, *PKSDS3D_ITD_PARAMS;

成员

Channel

指定通道编号 (通道 0 为左通道;通道 1 是正确的通道) 。

VolSmoothScale

指定缩放卷级别的渐变因子。 有关更多信息,请参见下面的“备注”部分。

TotalDryAttenuation

指定“干”信号 (原始信号的衰减因子,然后应用低通滤波器以) 产生消音效果。 有关更多信息,请参见下面的“备注”部分。

TotalWetAttenuation

指定) 应用低通滤波器后,“湿”信号 (消音信号的衰减因子。 有关更多信息,请参见下面的“备注”部分。

SmoothFrequency

指定音频流的采样频率。 更改为新的 TotalDryAttenuationTotalWetAttenuation 值时,ITD 算法需要此值来确定要应用平滑的样本数,以便在某个固定时间间隔内完成转换。 例如, KMixer 系统驱动程序 实现的 ITD 算法使用大约 1/8 秒的转换时间间隔。

Delay

指定此通道的时间延迟。 延迟表示为样本的整数数。

注解

此结构由 KSDS3D_ITD_PARAMS_MSG 结构使用, KSPROPERTY_ITD3D_PARAMS 属性请求使用该结构为 3D 音频流的左右通道指定 ITD 参数。

Delay 成员指定当前声道延迟来自源的声音的量。 隔膜时间延迟是两个通道之间的延迟差异。

衰减的信号是衰减的干信号和衰减的湿信号之和:

TotalDryAttenuation + TotalWetAttenuation

相对于 TotalDryAttenuation 增加 TotalWetAttenuation 的大小会产生越来越混乱的声音。 两个衰减因子是从声源的位置、方向和音锥计算得出的。

当KSPROPERTY_ITD3D_PARAMS set-property 请求更改 TotalDryAttenuationTotalWetAttenuation 时,衰减级别的更改将平滑多个样本,以避免产生虚假的单击噪音。 VolSmoothScale 成员指定在平滑过程中每个步骤中缩放信号衰减的量。 如果衰减增加,则此参数为略小于 1 的值;如果衰减减小,则此参数为略大于 1 的值。 在平滑处理过程中的每个步骤中,上一步的衰减乘以此参数。 达到目标衰减时,该过程完成。

要求

要求
Header ksmedia.h (包括 Ksmedia.h)

另请参阅

KSDS3D_ITD_PARAMS_MSG

KSPROPERTY_ITD3D_PARAMS