Partager via


Voix XAudio2

Il existe trois types d’objets vocaux XAudio2 : source, sous-mélangeet mastering voix. Les voix sources fonctionnent sur les données audio fournies par le client. Les voix sources et de sous-mélange envoient leur sortie à une ou plusieurs voix de sous-mélange ou de mastering. Les voix de sous-mixage et de mastering mélangent l’audio de toutes les voix qui les alimentent, et fonctionnent sur le résultat. La maîtrise des voix écrit des données audio sur un appareil audio.

Actions effectuées par toutes les voix

Toutes les voix effectuent les actions suivantes dans l’ordre sur l’audio qui les voyage.

  1. Ajustement global du volume, affectant tous les canaux audio. Voir IXAudio2Voice ::SetVolume.
  2. Chaîne facultative spécifiée par le client d’un ou plusieurs effets DSP, tels que la réverbération intégrée ou un effet utilisateur défini par l’interface IXAPO. Voir effets audio XAudio2.
  3. Ajustement du volume de sortie par canal. Voir IXAudio2Voice ::SetChannelVolumes.
  4. Mélange de matrice distincte à chacune des voix de destination ou au périphérique de sortie audio pour la maîtrise des voix. Cette combinaison modifie le nombre de canaux dans l’audio, si nécessaire.

Voix sources

Utilisez les voix sources pour envoyer des données audio dans le pipeline de traitement XAudio2. Il s’agit des points d’entrée dans le XAudio2 Audio Graph . Vous devez envoyer des données vocales à une voix de mastering pour être entendu, directement ou via des voix intermédiaires de sous-mixage.

Outre les actions effectuées par toutes les voix, les voix sources effectuent les actions suivantes.

  • Si nécessaire, un décodeur s’exécute d’abord pour convertir les données sources encodées en Pulse Code Modulation (PCM).
  • Une conversion de taux d’échantillonnage à taux variable (SRC) convertit les données audio sources de la voix en taux d’échantillonnage attendu par ses voix de destination, le cas échéant, et prend également en charge les changements dynamiques de tangage.
  • Un filtre de variable d’état facultatif peut être utilisé pour colorer le son de différentes façons. Voir IXAudio2Voice ::SetFilterParameters.
  • Un filtre facultatif peut être appliqué aux sorties de la voix. Consultez IXAudio2Voice ::SetOutputFilterParameters.

Sous-mélange de voix

Une voix submixée est principalement utilisée pour améliorer les performances et le traitement des effets. Vous ne pouvez pas envoyer de mémoires tampons de données directement à des voix de sous-mélange. Il ne sera pas audible, sauf si vous le soumettez à une voix de maîtrise. Vous pouvez utiliser une voix submixée pour vous assurer qu’un ensemble particulier de données vocales est converti au même format et qu’une chaîne d’effets particulière soit traitée sur le résultat collectif.

En plus des actions effectuées par toutes les voix, les voix submixées effectuent les actions suivantes.

  • Un SRC à taux fixe s’exécute sur la sortie de la voix, si nécessaire, pour convertir l’audio en taux d’échantillonnage attendu par ses voix de destination.
  • Un filtre de variable d’état facultatif peut être utilisé pour colorer le son de différentes façons. Voir IXAudio2Voice ::SetFilterParameters.
  • Un filtre facultatif peut être appliqué aux sorties de la voix. Consultez IXAudio2Voice ::SetOutputFilterParameters.

Mastering Voices

Utilisez une voix de mastering pour représenter l’appareil de sortie audio. Vous ne pouvez pas envoyer de mémoires tampons de données directement à la maîtrise des voix, mais les données soumises à d’autres types de voix doivent accéder à une voix de maîtrise à entendre.

En plus des actions effectuées par toutes les voix, la maîtrise des voix effectue les actions suivantes.

  • Si vous créez la voix de mastering avec une valeur InputSampleRate explicite qui n’est pas prise en charge par l’appareil audio, un SRC à débit fixe est utilisé pour convertir le taux d’échantillonnage le plus proche pris en charge par l’appareil.
  • Clipez l’audio de sortie finale, s’il est requis par l’appareil de sortie.

Voix

Guide de programmation XAudio2

IXAudio2SourceVoice

IXAudio2SubmixVoice

IXAudio2MasteringVoice