Voix XAudio2

Il existe trois types d’objets vocaux XAudio2 : voix source, sous-mix et mastering . Les voix source opèrent sur les données audio fournies par le client. Les voix source et sous-mixées envoient leur sortie vers une ou plusieurs voix sous-mixées ou de matriçage. Les voix sous-mixées et de matriçage mixent les signaux provenant de toutes les voix qui les alimentent et opèrent sur le résultat. Les voix de matriçage écrivent des données audio sur un périphérique audio.

Actions effectuées par toutes les voix

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

  1. Réglage du volume global, affectant tous les canaux audio. Consultez 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 . Consultez Effets audio XAudio2.
  3. Réglage du volume de sortie par canal. Consultez IXAudio2Voice::SetChannelVolumes.
  4. Séparez la combinaison de matrices à chacune des voix de destination ou au périphérique de sortie audio pour le mastering des voix. Cette combinaison modifie le nombre de canaux dans l’audio, si nécessaire.

Voix sources

Utilisez des voix sources pour envoyer des données audio dans le pipeline de traitement XAudio2. Il s’agit des points d’entrée dans le graphique audio XAudio2. Vous devez envoyer des données vocales à une voix de mastering pour qu’elles soient entendues, soit directement, soit par le biais de voix intermédiaires de sous-mixage.

En plus des 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 modulation de code d’impulsion (PCM).
  • Une conversion de taux d’échantillonnage à débit variable (SRC) convertit les données audio sources de la voix en taux d’échantillonnage attendu par ses voix de destination, si nécessaire, et prend également en charge les changements de tonalité dynamique.
  • Un filtre facultatif de variable d’état peut être utilisé pour colorer le son de différentes façons. Consultez IXAudio2Voice::SetFilterParameters.
  • Un filtre facultatif peut être appliqué aux sorties de la voix. Consultez IXAudio2Voice::SetOutputFilterParameters.

Voix submix

Une voix de sous-mixage 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 aux voix de sous-mixage. Il ne sera pas audible, sauf si vous le soumettez à une voix de mastering. Vous pouvez utiliser une voix de sous-mixage pour vous assurer qu’un ensemble particulier de données vocales est converti au même format et pour 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 de sous-mixage effectuent les actions suivantes.

  • Un SRC à débit fixe s’exécute sur la sortie de la voix, si nécessaire, pour convertir l’audio au taux d’échantillonnage attendu par ses voix de destination.
  • Un filtre facultatif de variable d’état peut être utilisé pour colorer le son de différentes façons. Consultez 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 le périphérique de sortie audio. Vous ne pouvez pas envoyer de mémoires tampons de données directement aux voix de mastering, mais les données soumises à d’autres types de voix doivent être transmises à une voix de mastering pour être entendues.

En plus des actions effectuées par toutes les voix, le mastering 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 le périphérique audio, un SRC à débit fixe est utilisé pour effectuer la conversion vers le taux d’échantillonnage le plus proche pris en charge par l’appareil.
  • Découpez l’audio de sortie finale, si le périphérique de sortie l’exige.

Voix

Guide de programmation XAudio2

IXAudio2SourceVoice

IXAudio2SubmixVoice

IXAudio2MasteringVoice