KSDS3D_ITD_PARAMS 結構 (ksmedia.h)

KSDS3D_ITD_PARAMS 結構會指定在 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

增加 TotalWetAttenuation 相對於 TotalDryAttenuation 的大小,會產生愈來愈多的音效。 兩個衰減因數是從音效來源的位置、方向和音效圓錐計算而來。

當KSPROPERTY_ITD3D_PARAMS set-property 要求變更 TotalDryAttenuationTotalWetAttenuation 時,衰減層級的變更會經過數個樣本的平滑處理,以避免產生假性點擊雜訊。 VolSmoothScale 成員會指定在平滑處理過程中調整訊號衰減的數量。 如果衰減增加,這個參數的值會稍微小於 1,如果衰減降低,則稍微大於 1。 在平滑處理程式中的每個步驟中,上一個步驟的衰減會乘以此參數。 達到目標衰減時,程式就會完成。

規格需求

需求
標頭 ksmedia.h (包含 Ksmedia.h)

另請參閱

KSDS3D_ITD_PARAMS_MSG

KSPROPERTY_ITD3D_PARAMS