Vue d'ensemble du système DSP audio
Par Brad Diamond
2024-06-05
Traitement audio numérique
La compréhension du chemin audio numérique et du concept des rappels audio dans les processeurs de signaux numériques (DSP) constitue l'épine dorsale du traitement audio numérique en temps réel. Bien qu'il ne soit pas exhaustif, cet article tente de donner une idée du fonctionnement du traitement audio numérique et de certaines considérations clés.
Vous trouverez ci-dessous un exemple de schéma de principe d'un système audio qui capture et traite l'audio de deux microphones et l'émet via USB.

Composants d'un système de capture audio
Dans un système de capture audio typique, les principaux composants sont le(s) microphone(s), un codec audio, un SoC/DSP et une horloge de référence. Les microphones fournissent une mesure du son externe tandis que le codec audio convertit la sortie du microphone en un format numérique plus facilement lisible et transférable par les processeurs informatiques habituels. Le système sur puce (SoC) gère de nombreuses fonctions, notamment le transfert de l'audio vers un processeur de signal numérique (DSP) pour le traitement et la réception de sa sortie pour l'envoyer vers le monde extérieur. Enfin, une horloge de référence est utilisée pour s'assurer que les données transférées entre ces différents systèmes et composants sont synchronisées.
Les principaux paramètres d'un flux audio numérique sont la fréquence d'échantillonnage, la profondeur de bits et la taille du bloc audio, qui déterminent la fidélité et l'efficacité des systèmes audio numériques.
La fréquence d'échantillonnage et la profondeur de bits garantissent que la sortie du microphone est convertie dans un format adapté à l'ordinateur. La fréquence d'échantillonnage détermine la fréquence à laquelle des "instantanés" de l'onde sonore sont pris, tandis que la profondeur de bits indique le détail de chaque instantané. Des taux d'échantillonnage et des profondeurs de bits plus élevés permettent d'obtenir une plus grande précision, mais exigent davantage de puissance de l'unité centrale.
Interfaces audio numériques
Dans les systèmes DSP, les instantanés sonores sont regroupés en blocs audio au lieu d'être traités individuellement. La taille du bloc audio correspond au nombre d'échantillons traités simultanément. Le SoC recueille les échantillons audio dans une mémoire tampon à accès direct (DMA). Une fois que le bloc audio est rempli d'échantillons, il déclenche une interruption de rappel audio. Cette interruption déclenche le rappel audio, une fonction qui se déclenche lorsque de nouvelles données audio sont disponibles et qui exécute le traitement souhaité sur le bloc audio collecté. Les blocs audio de grande taille entraînent moins d'interruptions mais prennent plus de temps à traiter, tandis que les blocs plus petits offrent une latence plus faible mais peuvent augmenter les frais généraux de traitement en raison d'une fréquence de rappel plus élevée.
Les interfaces audio numériques telles que I2S, USB et PDM facilitent le transfert des données audio entre les DSP et les ports de sortie/d'entrée. La gestion de plusieurs interfaces audio pose des problèmes en raison des différences de matériel, de protocole ou d'horloge. Par exemple, les entrées PDM capturant des données provenant de microphones peuvent fonctionner sur leur propre cycle d'horloge, tandis qu'une sortie USB pour les périphériques externes utilise un mécanisme de synchronisation différent. La synchronisation de ces flux de données distincts devient cruciale pour éviter des problèmes tels que des débordements ou des sous-écoulements de la mémoire tampon, entraînant une distorsion ou une perte audio. En l'absence de synchronisation, des erreurs de synchronisation ou d'alignement des données peuvent entraîner des dysfonctionnements.
Une solution de synchronisation incorpore des composants matériels dédiés tels que des synchroniseurs d'horloge. Le synchroniseur matériel accepte une source unique comme horloge de référence et génère des horloges synchrones pour chaque interface audio séparée (par exemple, I2S, USB).
Temps de latence
Lorsque les données audio sont capturées, elles sont stockées dans une mémoire tampon jusqu'à ce que suffisamment d'échantillons aient été collectés pour déclencher le traitement. La mise en mémoire tampon des données audio peut introduire un temps de latence. La formule pour calculer la latence introduite par la mise en mémoire tampon est la suivante :
Latence (secondes) = Taille de la mémoire tampon (échantillons) / Taux d'échantillonnage (échantillons/seconde)
La taille de la mémoire tampon est déterminée par la taille du bloc audio, puisque le bloc fonctionne essentiellement comme une mémoire tampon. Par conséquent, la taille du bloc, mesurée en échantillons, peut être considérée comme la taille de la mémoire tampon dans cet exemple. Des tailles de bloc plus importantes impliquent généralement un plus grand nombre d'échantillons stockés avant le traitement, ce qui se traduit par une latence accrue. En augmentant le taux d'échantillonnage, la mémoire tampon peut être remplie plus rapidement, ce qui réduit la latence globale. Dans certains cas, la mémoire tampon peut stocker plus d'un bloc audio.
La latence totale d'un système audio, de l'entrée à la sortie, dépend de la latence de la mémoire tampon, en plus de la latence de l'algorithme. La réduction de la latence totale implique l'optimisation de la taille des blocs et l'amélioration de l'efficacité du traitement par l'unité centrale. Il est essentiel d'équilibrer ces facteurs pour minimiser la latence tout en garantissant un traitement audio efficace.
Synchronisation
La solution de synchronisation idéale implique une combinaison d'approches logicielles et matérielles adaptées aux exigences spécifiques du système. L'utilisation de la synchronisation matérielle lorsqu'elle est disponible et sa complémentation par des méthodes de mise en mémoire tampon et de rééchantillonnage au niveau logiciel garantissent un fonctionnement synchronisé entre les différentes interfaces audio.
Considérons un réseau de microphones mettant en œuvre un algorithme de formation de faisceau dans le chemin audio numérique. Chaque microphone envoie des données via PDM au DSP. Dans le cadre du rappel audio, le DSP reçoit plusieurs flux de données, ce qui permet aux algorithmes de formation de faisceau de créer un son directionnel en ajustant les phases et les amplitudes tout en minimisant les interférences. Après synchronisation, indiquant que les données sont prêtes (probablement par le biais d'une interruption), le bloc audio traité est envoyé en sortie au pilote audio USB.
Cet exemple montre comment le rappel audio s'intègre aux techniques de traitement, améliorant ainsi l'audio directionnel.
En savoir plus sur notre logiciel SimplyClear!