Compartilhar via


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

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

IXAudio2Voice::SetFilterParameters

Estruturas XAudio2