Compartilhar via


XAudio2 Volume e Controle de Tom

Este tópico descreve o volume XAudio2 e o controle de tom.

Controle de volume

Os níveis de volume são expressos como multiplicadores de amplitude de ponto flutuante entre -XAUDIO2_MAX_VOLUME_LEVEL e XAUDIO2_MAX_VOLUME_LEVEL (-224 a 224), com um ganho máximo de 144,5 dB. Um volume de 1,0 significa que não há atenuação ou ganho; 0 significa silêncio; e níveis negativos podem ser usados para inverter a fase do áudio. Duas funções embutidas são fornecidas em XAudio2.h para converter entre unidades de volume: XAudio2DecibelsToAmplitudeRatio e XAudio2AmplitudeRatioToDecibels.

Você pode aplicar um nível de volume ao áudio em vários pontos à medida que ele flui pelo grafo XAudio2:

  • Todos os tipos de voz aplicam um nível de volume geral à entrada, que eles controlam usando o método IXAudio2Voice::SetVolume . Em vozes de submixagem e masterização, o nível de volume geral é aplicado pouco antes da cadeia interna de filtro e efeito da voz. Nas vozes de origem, o nível de volume geral é aplicado após a cadeia de filtros e efeitos internas da voz.
  • As vozes aplicam um nível de volume por canal à saída, que eles controlam usando o método IXAudio2Voice::SetChannelVolumes . O nível de volume por canal é aplicado logo após a conversão de taxa de exemplo final da voz e antes de ser enviado para outras vozes.
  • Cada conexão entre uma voz e outra tem uma tabela de níveis usada para enviar áudio de cada canal de origem para cada canal de destino, que é controlado usando o método IXAudio2Voice::SetOutputMatrix .

Todos os volumes gerais e volumes de canal são padrão para 1,0 inicialmente. Todas as matrizes de nível de envio são padrão para valores apropriados que preservam a potência do sinal e o posicionamento do canal da forma mais precisa possível. Confira a visão geral do Mapeamento de Canal Padrão XAudio2 para obter detalhes.

Observação

O XAudio2 ajusta automaticamente os níveis de volume com base nas configurações do alto-falante do usuário para manter um nível de volume consistente entre as configurações. Se as configurações do usuário não corresponderem à configuração física, o volume será muito alto ou muito flexível em comparação com um sistema com configurações precisas. Por exemplo, um sistema configurado para alto-falantes de som surround 5.1 que tem apenas dois alto-falantes conectados soará muito suave. O XAudio2 não consegue detectar se as configurações do alto-falante do usuário correspondem corretamente à configuração física.

 

Controle pitch

Os pitches são expressos como taxas de taxa de entrada/taxa de saída entre 1/1.024 e 1.024/1, inclusive. Uma proporção de 1/1.024 reduz o tom em 10 oitavas, enquanto uma proporção de 1.024/1 aumenta em 10 oitavas. Você só pode usar o método IXAudio2SourceVoice::SetFrequencyRatio para aplicar ajustes de tom às vozes de origem e somente se elas não foram criadas com o sinalizador XAUDIO2_VOICE_NOPITCH. A taxa de frequência padrão é 1/1: ou seja, nenhuma alteração de tom. Duas funções embutidas são fornecidas em XAudio2.h para converter entre taxas de frequência e semitones: XAudio2FrequencyRatioToSemitones e XAudio2SemitonesToFrequencyRatio.

Controle de volume e de tom

Guia de Programação em XAudio2

Como alterar o tom de voz

Como alterar o volume de voz