À propos du projet
audio-engine-core est une couche de traitement audio agnostique par rapport à l'application, conçue pour les lecteurs de musique haute qualité et les applications audio en temps réel. Elle implémente une chaîne de traitement composée de Decode → Resample → Loudness → DSP → Analyze → Stream, en séparant délibérément le traitement audio de l'interface utilisateur, de la sortie dispositif et de la gestion de la bibliothèque multimédia.
Les fonctionnalités techniques clés incluent :
- Sécurité en temps réel : utilise des instantanés atomiques de paramètres sans verrouillage basés sur les générations afin d'éviter l'allocation de tas, les verrous bloquants et les E/S dans le rappel audio.
- Qualité audio et mesure : comprend une validation objective pour la norme EBU R128 de loudness, la détection de vrai pic et les performances du rééchantillonneur (THD+N et atténuation d'aliasing).
- Capacités DSP : fournit un égaliseur IIR biquad à 10 bandes, un égaliseur FIR linéaire ou à phase minimale, une convolution FFT, le croisement Bauer, une saturation suréchantillonnée et une limitation de vrai pic.
- Rééchantillonnage : prend en charge à la fois un backend natif SoX VHQ (via libsoxr) et un backend pure-Rust (via rubato).
- Gestion du loudness : sépare l'analyse EBU R128 hors ligne de l'application atomique de gain en temps réel.
- Rendu hors ligne : prend en charge le rendu compensé de latence avec des politiques de queue d'effet configurables.
La bibliothèque repose sur Symphonia pour le décodage et fournit une API `PlaybackPipeline` permettant une intégration facile dans les rappels audio.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.