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
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