Partager via


XAUDIO2_FILTER_PARAMETERS structure (xaudio2.h)

Définit les paramètres de filtre pour une voix source.

Syntaxe

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

Membres

Type

XAUDIO2_FILTER_TYPE.

Frequency

Filtrer la fréquence de radian calculée comme (2 * sin(pi * (fréquence de coupure de filtre souhaitée) / sampleRate)). La fréquence doit être supérieure ou égale à 0 et inférieure ou égale à XAUDIO2_MAX_FILTER_FREQUENCY. La fréquence maximale autorisée est égale à la fréquence d’échantillonnage du son source divisée par six, ce qui correspond à la fréquence de rayon de filtre maximale de 1. Par exemple, si la fréquence d’échantillonnage d’un son est de 48 000 et que la fréquence de coupure souhaitée est la valeur maximale autorisée pour ce taux d’échantillonnage, 8 000, la valeur de Fréquence est 1. Si XAUDIO2_HELPER_FUNCTIONS est défini, XAudio2.h inclut les fonctions d’assistance XAudio2RadiansToCutoffFrequency et XAudio2CutoffFrequencyToRadians pour la conversion entre les fréquences hertz et radian. La définition de XAUDIO2_HELPER_FUNCTIONS inclut également XAudio2CutoffFrequencyToOnePoleCoefficient pour la conversion entre hertz et un coefficient à un pôle adapté à une utilisation avec LowPassOnePoleFilter et HighPassOnePoleFilter.

OneOverQ

Réciproque du facteur Q. Contrôle la vitesse à laquelle les fréquences au-delà de la fréquence sont atténuées. Les valeurs plus grandes entraînent un amortissement plus rapide, tandis que les valeurs plus petites entraînent un amortissement plus progressif. Doit être supérieur à 0 et inférieur ou égal à XAUDIO2_MAX_FILTER_ONEOVERQ.

Remarques

Définir XAUDIO2_FILTER_PARAMETERS avec les valeurs suivantes est acoustiquement équivalent à ce que le filtre soit entièrement contourné.

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

Les formules suivantes montrent la relation entre les membres de XAUDIO2_FILTER_PARAMETERS et le filtre par voix.

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)


Où :

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

Configuration requise pour la plateforme

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8) ; Kit de développement logiciel (SDK) DirectX (XAudio 2.7)

Spécifications

   
En-tête xaudio2.h

Voir aussi

IXAudio2Voice::GetFilterParameters

IXAudio2Voice::SetFilterParameters

XAudio2 Structures