À 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.