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

XAUDIO2_FILTER_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

IXAudio2Voice::SetFilterParameters

Strutture XAudio2