Bagikan melalui


struktur XAUDIO2_FILTER_PARAMETERS (xaudio2.h)

Menentukan parameter filter untuk suara sumber.

Sintaks

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

Anggota

Type

XAUDIO2_FILTER_TYPE.

Frequency

Frekuensi radian filter dihitung sebagai (2 * sin(pi * (frekuensi cutoff filter yang diinginkan) / sampleRate)). Frekuensi harus lebih besar dari atau sama dengan 0 dan kurang dari atau sama dengan XAUDIO2_MAX_FILTER_FREQUENCY. Frekuensi maksimum yang diizinkan sama dengan laju sampel suara sumber dibagi enam yang sesuai dengan frekuensi radian filter maksimum 1. Misalnya, jika laju sampel suara adalah 48000 dan frekuensi cutoff yang diinginkan adalah nilai maksimum yang diizinkan untuk laju sampel tersebut, 8000, nilai untuk Frekuensi akan menjadi 1. Jika XAUDIO2_HELPER_FUNCTIONS ditentukan, XAudio2.h akan menyertakan fungsi pembantu XAudio2RadiansToCutoffFrequency dan XAudio2CutoffFrequencyToRadians untuk mengonversi antara frekuensi hertz dan radian. Menentukan XAUDIO2_HELPER_FUNCTIONS juga akan mencakup XAudio2CutoffFrequencyToOnePoleCoefficient untuk mengonversi antara hertz dan koefisien satu kutub yang cocok untuk digunakan dengan LowPassOnePoleFilter dan HighPassOnePoleFilter.

OneOverQ

Timbal balik faktor Q. Mengontrol seberapa cepat frekuensi di luar Frekuensi diredaksi. Nilai yang lebih besar menghasilkan peredaman yang lebih cepat sementara nilai yang lebih kecil menyebabkan peredam terjadi lebih bertahap. Harus lebih besar dari 0 dan kurang dari atau sama dengan XAUDIO2_MAX_FILTER_ONEOVERQ.

Keterangan

Pengaturan XAUDIO2_FILTER_PARAMETERS dengan nilai berikut secara akustik setara dengan filter yang sepenuhnya dilewati.

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

Rumus berikut ini memperlihatkan hubungan antara anggota XAUDIO2_FILTER_PARAMETERS dan filter per suara.

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)


Di mana:

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

Persyaratan Platform

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

Persyaratan

   
Header xaudio2.h

Lihat juga

IXAudio2Voice::GetFilterParameters

IXAudio2Voice::SetFilterParameters

Struktur XAudio2