共用方式為


XAUDIO2_FILTER_PARAMETERS 結構 (xaudio2.h)

定義來源語音的篩選參數。

語法

typedef struct XAUDIO2_FILTER_PARAMETERS {
  XAUDIO2_FILTER_TYPE Type;
  float               Frequency;
  float               OneOverQ;
} XAUDIO2_FILTER_PARAMETERS;

成員

Type

XAUDIO2_FILTER_TYPE

Frequency

篩選弧度頻率計算為 (2 * sin (pi * (所需的篩選截斷頻率) / sampleRate) ) 。 頻率必須大於或等於 0,且小於或等於 XAUDIO2_MAX_FILTER_FREQUENCY。 允許的最大頻率等於來源音效的取樣率除以六,對應至最大篩選弧度頻率 1。 例如,如果音效的取樣速率是 48000,而所需的截斷頻率是該取樣率允許的最大值 8000, 則 Frequency 的值會是 1。 如果定義XAUDIO2_HELPER_FUNCTIONS,XAudio2.h 會包含 XAudio2RadianToCutoffFrequencyXAudio2CutoffFrequencyToRadian 協助程式函式,以在 hertz 與弧度之間轉換。 定義XAUDIO2_HELPER_FUNCTIONS也會包含 XAudio2CutoffFrequencyToOnePoleCoefficient ,以在 hertz 與適合與 LowPassOnePoleFilter 和 HighPassOnePoleFilter 搭配使用的單極係數之間轉換。

OneOverQ

Q 因數的相互。 控制頻率超過頻率的速度會降低。 較大的值會導致更快速的降低,而較小的值會導致更逐漸降低。 必須大於 0 且小於或等於XAUDIO2_MAX_FILTER_ONEOVERQ。

備註

使用下列值設定XAUDIO2_FILTER_PARAMETERS,相當於完全略過的篩選準則。

XAUDIO2_FILTER_PARAMETERS FilterParams;
FilterParams.Frequency = 1.0f;    
FilterParams.OneOverQ = 1.0f;
FilterParams.Type = LowPassFilter;

下列公式顯示XAUDIO2_FILTER_PARAMETERS成員與個別語音篩選準則之間的關聯性。

Yl( n ) = F1 yb( n ) + yl( n - 1 )
Yb( n ) = F1 yh( n ) + yb( n - 1 )
Yh( n ) = x( n ) - yl( n ) - OneOverQ(yb( n - 1 )
Yn( n ) = Yl(n) + Yh(n)


其中:

Yl = lowpass output
Yb = bandpass output
Yh = highpass output
Yn = notch output
F1 = XAUDIO2_FILTER_PARAMETERS.Frequency
OneOverQ = XAUDIO2_FILTER_PARAMETERS.OneOverQ

平臺需求

Windows 10 (XAudio2.9) ;Windows 8,Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)

規格需求

   
標頭 xaudio2.h

另請參閱

IXAudio2Voice::GetFilterParameters

IXAudio2Voice::SetFilterParameters

XAudio2 結構