Compartir a través de


estructura XAUDIO2_FILTER_PARAMETERS (xaudio2.h)

Define parámetros de filtro para una voz de origen.

Sintaxis

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

Miembros

Type

El XAUDIO2_FILTER_TYPE.

Frequency

Filtrar frecuencia radian calculada como (2 * sin(pi * (frecuencia de corte de filtro deseada) / sampleRate)). La frecuencia debe ser mayor o igual que 0 y menor o igual que XAUDIO2_MAX_FILTER_FREQUENCY. La frecuencia máxima permitida es igual a la frecuencia de muestreo del sonido de origen dividida por seis, que corresponde a la frecuencia máxima de radianes de filtro de 1. Por ejemplo, si la frecuencia de muestreo de un sonido es 48000 y la frecuencia límite deseada es el valor máximo permitido para esa frecuencia de muestreo, 8000, el valor de Frequency será 1. Si se define XAUDIO2_HELPER_FUNCTIONS, XAudio2.h incluirá las funciones auxiliares XAudio2RadiansToCutoffFrequency y XAudio2CutoffFrequencyToRadians para convertir entre frecuencias hercios y radianes. La definición de XAUDIO2_HELPER_FUNCTIONS también incluirá XAudio2CutoffFrequencyToOnePoleCoefficient para la conversión entre hercios y un coeficiente de un polo adecuado para su uso con lowPassOnePoleFilter y HighPassOnePoleFilter.

OneOverQ

Recíproca del factor Q. Controla la rapidez con que se amortiguan las frecuencias más allá de Frequency. Los valores más grandes dan lugar a una amortiguación más rápida, mientras que los valores más pequeños hacen que la amortiguación se produzca más gradualmente. Debe ser mayor que 0 y menor o igual que XAUDIO2_MAX_FILTER_ONEOVERQ.

Observaciones

Establecer XAUDIO2_FILTER_PARAMETERS con los valores siguientes es acústicamente equivalente al filtro que se omite por completo.

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

Las fórmulas siguientes muestran la relación entre los miembros de XAUDIO2_FILTER_PARAMETERS y el filtro por voz.

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)


Donde:

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

Requisitos de la plataforma

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

Requisitos

   
Encabezado xaudio2.h

Consulte también

IXAudio2Voice::GetFilterParameters

IXAudio2Voice::SetFilterParameters

Estructuras XAudio2