estrutura XAUDIO2_FILTER_PARAMETERS (xaudio2.h)
Define parâmetros de filtro para uma voz de origem.
Sintaxe
typedef struct XAUDIO2_FILTER_PARAMETERS {
XAUDIO2_FILTER_TYPE Type;
float Frequency;
float OneOverQ;
} XAUDIO2_FILTER_PARAMETERS;
Membros
Type
Frequency
Filtrar a frequência radiana calculada como (2 * sin(pi * (frequência de corte de filtro desejada) /sampleRate)). A frequência deve ser maior ou igual a 0 e menor ou igual a XAUDIO2_MAX_FILTER_FREQUENCY. A frequência máxima permitida é igual à taxa de amostragem do som de origem dividida por seis, que corresponde à frequência radial máxima do filtro de 1. Por exemplo, se a taxa de amostragem de um som for 48000 e a frequência de corte desejada for o valor máximo permitido para essa taxa de amostragem, 8000, o valor de Frequency será 1. Se XAUDIO2_HELPER_FUNCTIONS for definido, XAudio2.h incluirá as funções auxiliares XAudio2RadiansToCutoffFrequency e XAudio2CutoffFrequencyToRadians para conversão entre frequências hertz e radiana. Definir XAUDIO2_HELPER_FUNCTIONS também incluirá XAudio2CutoffFrequencyToOnePoleCoefficient para conversão entre hertz e um coeficiente de um pole adequado para uso com LowPassOnePoleFilter e HighPassOnePoleFilter.
OneOverQ
Recíproco do fator Q. Controla a rapidez com que as frequências além da Frequência são amortecidos. Valores maiores resultam em um amortecedor mais rápido, enquanto valores menores fazem com que o amortecimento ocorra mais gradualmente. Deve ser maior que 0 e menor ou igual a XAUDIO2_MAX_FILTER_ONEOVERQ.
Comentários
Definir XAUDIO2_FILTER_PARAMETERS com os valores a seguir é acústico equivalente ao filtro que está sendo totalmente ignorado.
XAUDIO2_FILTER_PARAMETERS FilterParams;
FilterParams.Frequency = 1.0f;
FilterParams.OneOverQ = 1.0f;
FilterParams.Type = LowPassFilter;
As fórmulas a seguir mostram a relação entre os membros do XAUDIO2_FILTER_PARAMETERS e o 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)
Em que:
Yl = lowpass output
Yb = bandpass output
Yh = highpass output
Yn = notch output
F1 = XAUDIO2_FILTER_PARAMETERS.Frequency
OneOverQ = XAUDIO2_FILTER_PARAMETERS.OneOverQ
Requisitos de plataforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); SDK do DirectX (XAudio 2.7)Requisitos
Cabeçalho | xaudio2.h |
Confira também
IXAudio2Voice::GetFilterParameters