struttura XAUDIO2_FILTER_PARAMETERS (xaudio2.h)
Definisce i parametri di filtro per una voce di origine.
Sintassi
typedef struct XAUDIO2_FILTER_PARAMETERS {
XAUDIO2_FILTER_TYPE Type;
float Frequency;
float OneOverQ;
} XAUDIO2_FILTER_PARAMETERS;
Members
Type
Frequency
Frequenza radiante del filtro calcolata come (2 * sin(pi * (frequenza limite di filtro desiderato) / sampleRate)). La frequenza deve essere maggiore o uguale a 0 e minore o uguale a XAUDIO2_MAX_FILTER_FREQUENCY. La frequenza massima consentita è uguale alla frequenza di campionamento del suono di origine diviso per sei, che corrisponde alla frequenza massima del filtro radiante pari a 1. Ad esempio, se la frequenza di campionamento di un suono è 48000 e la frequenza di taglio desiderata è il valore massimo consentito per tale frequenza di campionamento, 8000, il valore per Frequency sarà 1. Se XAUDIO2_HELPER_FUNCTIONS è definito, XAudio2.h includerà le funzioni helper XAudio2RadiansToCutoffFrequency e XAudio2CutoffFrequencyToRadians per la conversione tra frequenze dihz e radianti. La definizione di XAUDIO2_HELPER_FUNCTIONS includerà anche XAudio2CutoffFrequencyToOnePoleCoefficient per la conversione tra ilhz e un coefficiente a un polo adatto per l'uso con LowPassOnePoleFilter e HighPassOnePoleFilter.
OneOverQ
Reciproco del fattore Q. Controlla la velocità di attenuazione delle frequenze oltre la frequenza. I valori più grandi comportano un smorzamento più rapido, mentre i valori più piccoli causano un'attenuazione più graduale. Deve essere maggiore di 0 e minore o uguale a XAUDIO2_MAX_FILTER_ONEOVERQ.
Commenti
L'impostazione di XAUDIO2_FILTER_PARAMETERS con i valori seguenti equivale acusticamente al filtro completamente ignorato.
XAUDIO2_FILTER_PARAMETERS FilterParams;
FilterParams.Frequency = 1.0f;
FilterParams.OneOverQ = 1.0f;
FilterParams.Type = LowPassFilter;
Le formule seguenti mostrano la relazione tra i membri di XAUDIO2_FILTER_PARAMETERS e il filtro per voce.
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)
Dove:
Yl = lowpass output
Yb = bandpass output
Yh = highpass output
Yn = notch output
F1 = XAUDIO2_FILTER_PARAMETERS.Frequency
OneOverQ = XAUDIO2_FILTER_PARAMETERS.OneOverQ
Requisiti della piattaforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Requisiti
Intestazione | xaudio2.h |
Vedi anche
IXAudio2Voice::GetFilterParameters