estrutura XAUDIO2FX_REVERB_PARAMETERS (xaudio2fx.h)
Descreve os parâmetros para uso no APO reverb.
Sintaxe
typedef struct XAUDIO2FX_REVERB_PARAMETERS {
float WetDryMix;
UINT32 ReflectionsDelay;
BYTE ReverbDelay;
BYTE RearDelay;
BYTE SideDelay;
BYTE PositionLeft;
BYTE PositionRight;
BYTE PositionMatrixLeft;
BYTE PositionMatrixRight;
BYTE EarlyDiffusion;
BYTE LateDiffusion;
BYTE LowEQGain;
BYTE LowEQCutoff;
BYTE HighEQGain;
BYTE HighEQCutoff;
float RoomFilterFreq;
float RoomFilterMain;
float RoomFilterHF;
float ReflectionsGain;
float ReverbGain;
float DecayTime;
float Density;
float RoomSize;
BOOL DisableLateField;
} XAUDIO2FX_REVERB_PARAMETERS;
Membros
WetDryMix
Porcentagem da saída que será reverb. Os valores permitidos são de 0 a 100.
ReflectionsDelay
O tempo de atraso da primeira reflexão em relação ao caminho direto. O intervalo permitido é de 0 a 300 milissegundos.
ReverbDelay
Atraso de reverb em relação à primeira reflexão. O intervalo permitido é de 0 a 85 milissegundos.
RearDelay
Atraso para a saída traseira esquerda e saída traseira direita. O intervalo permitido é de 0 a 5 milissegundos.
SideDelay
Atraso para a saída do lado esquerdo e a saída do lado direito. O intervalo permitido é de 0 a 5 milissegundos.
PositionLeft
Posição da entrada esquerda dentro do espaço simulado em relação ao ouvinte. Com PositionLeft definido como o valor mínimo, a entrada à esquerda é colocada perto do ouvinte. Nessa posição, as reflexões iniciais são dominantes, e a decadência de reverb é definida novamente no campo sonoro e reduzida em amplitude. Com PositionLeft definido como o valor máximo, a entrada esquerda é colocada a uma distância máxima do ouvinte dentro da sala simulada. PositionLeft não afeta o tempo de decadência de reverb (vida útil da sala), apenas a posição aparente da origem em relação ao ouvinte. O intervalo permitido é de 0 a 30 (sem unidades).
PositionRight
O mesmo que PositionLeft, mas afetando apenas a entrada certa. O intervalo permitido é de 0 a 30 (sem unidades).
PositionMatrixLeft
Dá uma impressão maior ou menor de distância da origem para o ouvinte. O intervalo permitido é de 0 a 30 (sem unidades).
PositionMatrixRight
Dá uma impressão maior ou menor de distância da origem para o ouvinte. O intervalo permitido é de 0 a 30 (sem unidades).
EarlyDiffusion
Controla o caractere das reflexões de parede individuais. Defina como valor mínimo para simular uma superfície plana dura e para o valor máximo para simular uma superfície difusa. O intervalo permitido é de 0 a 15 (sem unidades).
LateDiffusion
Controla o caractere das reverberações de parede individuais. Defina como valor mínimo para simular uma superfície plana dura e para o valor máximo para simular uma superfície difusa. O intervalo permitido é de 0 a 15 (sem unidades).
LowEQGain
Ajusta o tempo de decadência de frequências baixas em relação ao tempo de decadência em 1 kHz. Os valores correspondem ao banco de dados de ganho da seguinte maneira:
Valor | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ganho (dB) | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 | +1 | +2 | +3 | +4 |
LowEQCutoff
Define a frequência de canto do filtro de passagem baixa controlado pelo parâmetro LowEQGain . Os valores correspondem à frequência no Hz da seguinte maneira:
Valor | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
Frequência (Hz) | 50 | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500 |
O intervalo permitido é de 0 a 9 (sem unidades).
HighEQGain
Ajusta o tempo de decadência de altas frequências em relação ao tempo de decadência em 1 kHz. Quando definido como zero, as altas frequências se deterioram na mesma taxa que 1 kHz. Quando definido como valor máximo, as altas frequências se deterioram a uma taxa muito mais rápida do que 1 kHz.
Valor | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
Ganho (dB) | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 |
O intervalo permitido é de 0 a 8 (sem unidades).
HighEQCutoff
Define a frequência de canto do filtro de passagem alta controlado pelo parâmetro HighEQGain . Os valores correspondem à frequência em kHz da seguinte maneira:
Valor | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Frequência (kHz) | 1 | 1.5 | 2 | 2.5 | 3 | 3,5 | 4 | 4.5 | 5 | 5.5 | 6 | 6.5 | 7 | 7.5 | 8 |
O intervalo permitido é de 0 a 14 (sem unidades).
RoomFilterFreq
Define a frequência de canto do filtro de passagem baixa para o efeito room. O intervalo permitido é de 20 a 20.000 Hz.
RoomFilterMain
Define o nível de intensidade da banda de passagem do filtro de passagem baixa para as reflexões iniciais e a reverberação do campo tardio. O intervalo permitido é de -100 a 0 dB.
RoomFilterHF
Define a intensidade do filtro de passagem baixa para as reflexões iniciais e a reverberação de campo tardia na frequência do canto (RoomFilterFreq). O intervalo permitido é de -100 a 0 dB.
ReflectionsGain
Ajusta a intensidade das reflexões iniciais. O intervalo permitido é de -100 a 20 dB.
ReverbGain
Ajusta a intensidade das reverberações. O intervalo permitido é de -100 a 20 dB.
DecayTime
Tempo de decadência de reverberação a 1 kHz. Esse é o momento em que um sinal de entrada em grande escala decai em 60 dB. O intervalo permitido é de 0,1 a segundos infinitos.
Density
Controla a densidade modal na reverberação de campo tardio. Para espaços in colorless, a densidade deve ser definida como o valor máximo (100). À medida que a densidade é reduzida, o som se torna oco (pente filtrado). Esse é um efeito que pode ser útil se você estiver tentando modelar um silo. O intervalo permitido como porcentagem é de 0 a 100.
RoomSize
O tamanho aparente do espaço acústico. O intervalo permitido é de 1 a 100 pés.
DisableLateField
Se definido como TRUE, desabilita os cálculos de reflexão de campo tardio. Desabilitar cálculos de reflexão de campo tardio resulta em uma economia significativa de tempo de CPU.
Comentários
Todos os parâmetros relacionados à taxa de amostragem ou tempo são relativos a uma voz de 48kHz e devem ser dimensionados para uso com outras taxas de amostragem. Por exemplo, definir ReflectionsDelay como 300ms dá um verdadeiro atraso de 300ms quando o reverb é hospedado em uma voz de 48kHz, mas se torna um atraso de 150ms quando hospedado em uma voz de 24kHz.
Requisitos da plataforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); SDK do DirectX (XAudio 2.7)Requisitos
Requisito | Valor |
---|---|
Cabeçalho | xaudio2fx.h |
Confira também
Como: Criar uma cadeia de efeitos