Partager via


Contrôle de volume et de tangage XAudio2

Cette rubrique décrit le contrôle de volume et de tangage XAudio2.

Contrôle de volume

Les niveaux de volume sont exprimés sous forme de multiplicateurs d’amplitude à virgule flottante entre -XAUDIO2_MAX_VOLUME_LEVEL et XAUDIO2_MAX_VOLUME_LEVEL (-224 à 224), avec un gain maximal de 144,5 dB. Un volume de 1,0 signifie qu’il n’y a pas d’atténuation ou de gain ; 0 signifie silence ; et les niveaux négatifs peuvent être utilisés pour inverser la phase de l’audio. Deux fonctions inline sont fournies dans XAudio2.h pour convertir entre les unités de volume : XAudio2DecibelsToAmplitudeRatio et XAudio2AmplitudeRatioToDecibels.

Vous pouvez appliquer un niveau de volume à l’audio à plusieurs points au fur et à mesure qu’il transite par le graphe XAudio2 :

  • Tous les types vocaux appliquent un niveau de volume global à leur entrée, qu’ils contrôlent à l’aide de la méthode IXAudio2Voice ::SetVolume. Dans les voix de sous-mixage et de mastering, le niveau de volume global est appliqué juste avant la chaîne intégrée de filtre et d’effet de la voix. Dans les voix sources, le niveau de volume global est appliqué après le filtre et la chaîne d’effet intégrés de la voix.
  • Les voix appliquent un niveau de volume par canal à leur sortie, qu’ils contrôlent à l’aide de la méthode IXAudio2Voice ::SetChannelVolumes. Le niveau de volume par canal est appliqué juste après la conversion finale du taux d’échantillonnage de la voix et avant d’être envoyé à d’autres voix.
  • Chaque connexion entre une voix et une autre a une table des niveaux utilisés pour envoyer l’audio de chaque canal source à chaque canal cible, qui est contrôlée à l’aide de la méthode IXAudio2Voice ::SetOutputMatrix.

Tous les volumes globaux et les volumes de canal par défaut sont 1.0 initialement. Toutes les matrices au niveau de l’envoi sont par défaut des valeurs appropriées qui conservent la puissance du signal et le positionnement du canal aussi précisément que possible. Pour plus d’informations, consultez la vue d’ensemble mappage de canal par défaut XAudio2.

Note

XAudio2 ajuste automatiquement les niveaux de volume en fonction des paramètres de l’orateur de l’utilisateur pour maintenir un niveau de volume cohérent entre les configurations. Si les paramètres de l’utilisateur ne correspondent pas à leur configuration physique, le volume sera trop fort ou trop doux par rapport à un système avec des paramètres précis. Par exemple, un système configuré pour les haut-parleurs audio 5.1 entoure qui n’a que deux haut-parleurs connectés sonneront trop doux. XAudio2 ne peut pas détecter si les paramètres de l’orateur utilisateur correspondent correctement à leur configuration physique.

 

Contrôle de l’emplacement

Les pitchs sont exprimés sous forme de taux d’entrée/taux de sortie compris entre 1/1 024 et 1 024/1, inclus. Un ratio de 1/1 024 baisse la hauteur par 10 octaves, tandis qu’un ratio de 1 024/1 lève de 10 octaves. Vous ne pouvez utiliser la méthode IXAudio2SourceVoice ::SetFrequencyRatio pour appliquer des ajustements de hauteur aux voix sources, et uniquement s’ils n’ont pas été créés avec l’indicateur XAUDIO2_VOICE_NOPITCH. Le ratio de fréquence par défaut est 1/1 : autrement dit, aucun changement de tangage. Deux fonctions inline sont fournies dans XAudio2.h pour convertir les ratios de fréquence et les semi-tones : XAudio2FrequencyRatioToSemitones et XAudio2SemitonesToFrequencyRatio.

de contrôle de volume et de tangage

Guide de programmation XAudio2

Comment : changer la hauteur vocale

Comment : modifier le volume vocal