Partager via


Conversions de taux d’échantillonnage XAudio2

Les voix XAudio2 peuvent effectuer des conversions automatiques de taux d’échantillonnage si leur taux d’échantillonnage d’entrée est différent du taux d’échantillonnage d’entrée de leurs voix de sortie.

Les conversions de taux d’échantillonnage suivent les règles suivantes :

  • Le taux d’échantillonnage d’entrée vocale est fixe.

    Les voix peuvent uniquement gérer le taux d’échantillonnage d’entrée spécifié lors de leur création. Pour le mastering des voix et des voix submix, le taux d’échantillonnage d’entrée est spécifié avec l’argument InputSampleRate pour les fonctions IXAudio2::CreateMasteringVoice et IXAudio2::CreateSubmixVoice . Pour les voix sources, la fréquence d’échantillonnage d’entrée de la voix est spécifiée par l’argument pSourceFormat de la fonction IXAudio2::CreateSourceVoice .

  • Toutes les voix de sortie d’une voix doivent avoir le même taux d’échantillonnage d’entrée.

    Les voix peuvent convertir leur taux d’échantillonnage d’entrée en taux d’échantillonnage de sortie, mais toutes les voix de sortie de la voix doivent avoir le même taux d’échantillonnage d’entrée. Par exemple, une voix peut générer un nombre quelconque de voix avec un taux d’échantillonnage d’entrée de 22 kHz. Toutefois, si cette même voix avait plusieurs voix de sortie, chacune ayant un taux d’échantillonnage d’entrée différent, le graphique audio ne serait pas valide.

  • Le traitement de la conversion du taux d’échantillonnage se produit uniquement lorsque cela est nécessaire.

    La conversion de données audio vers une fréquence d’échantillonnage différente entraîne une surcharge de traitement plus importante, qu’il est préférable d’éviter. Si le taux d’échantillonnage d’entrée d’une voix correspond au taux d’échantillonnage d’entrée de ses voix de sortie, cette conversion n’est pas effectuée et le temps de traitement est raccourci.

  • Le taux d’échantillonnage de sortie peut varier au cours de la durée de vie d’une voix.

    Le taux d’échantillonnage de sortie d’une voix n’est pas fixe. Tant que toutes ses voix de sortie ont le même taux d’échantillonnage d’entrée, le graphique audio est valide. Si une voix est remplacée par une sortie vers de nouvelles voix avec un taux d’échantillonnage d’entrée différent, la voix est convertie en taux d’échantillonnage d’entrée des nouvelles voix.

Il existe certains scénarios dans lesquels il est nécessaire d’ajouter une voix de sous-mix pour effectuer une conversion de taux d’échantillonnage entre les voix. Si une voix doit générer une sortie vers des voix avec différents taux d’échantillonnage d’entrée, une seule voix peut être une sortie directe de la voix d’origine. Étant donné que toutes les voix de sortie d’une voix doivent avoir le même taux d’échantillonnage d’entrée, les autres voix reçoivent la sortie indirectement. Il doit y avoir une voix de sous-mixage avec le taux d’échantillonnage d’entrée correct qui intervient entre la voix d’origine et la voix de sortie prévue.

Par exemple, prenons l’exemple d’une voix source avec un taux d’échantillonnage d’entrée de 22 kHz, qui doit générer une voix de sous-mixage avec un taux d’échantillonnage d’entrée de 11 kHz et une voix de mastering avec un taux d’échantillonnage d’entrée de 44,1 kHz. Étant donné que les deux voix de sortie ont des taux d’échantillonnage d’entrée différents, vous devez insérer davantage de voix de sous-mix entre la voix d’origine et les voix de sortie prévues. Pour maintenir la fidélité de la voix source et éviter les conversions coûteuses inutiles vers des taux d’échantillonnage plus élevés, vous devez insérer deux voix de sous-mélange avec des taux d’entrée d’échantillon de 22 khz dans le graphique. Une voix de sous-mixage sortirait à 11 khz à la voix de sous-mix avec l’effet de réverbération, et l’autre voix de sous-mixage sortirait vers la voix de mastering à 44,1 khz.

Exemples de conversion de taux d’échantillonnage dans les graphiques audio

Toutes les voix ont le même taux d’entrée d’échantillon ; aucune conversion de taux d’échantillonnage n’est effectuée dans le graphique audio. aucune conversion de taux d’échantillonnage n’est effectuée dans le graphique audio.

Toutes les voix ont le même taux d’entrée d’échantillon à l’exception de la voix de mastering ; la conversion de taux d’échantillonnage est effectuée uniquement sur les données qui vont à la voix de mastering. la conversion de taux d’échantillonnage est effectuée uniquement sur les données qui vont à la voix de mastering.

Les voix ont des taux d’entrée d’échantillon différents et nécessitent davantage de voix de sous-mélange pour effectuer des conversions de taux d’échantillonnage ; la conversion de taux d’échantillonnage est effectuée à plusieurs endroits dans le graphique audio. la conversion de taux d’échantillonnage est effectuée à plusieurs endroits dans le graphique audio.

Voix

Guide de programmation XAudio2