À propos du projet

chalkwalk-dsp est une bibliothèque C++ de traitement du signal audio divisée en deux cibles. La cible des primitives, chalkwalk::dsp, est entièrement contenue dans des fichiers d'en-tête et sans dépendance ; la cible de mesure, chalkwalk::dsp::measure, est séparée car elle nécessite libebur128, une dépendance utile uniquement pour le calcul de la sonie. Primitives (chalkwalk::dsp) : - Svf.h : Filtre à variables d'état Cytomic offrant des modes passe-bas, passe-haut, passe-bande et coupe-bande. - PolyBlep.h : Correction de saut à bande limitée pour oscillateurs en dents de scie et impulsionnels. - SoftClip.h : Écrêtage à genou souple, linéaire en dessous du seuil. - Interpolation.h : Interpolation d'Hermite à 4 points pour la lecture fractionnaire de tampons. - Denormal.h : Gestion du dénormal pour éviter les ralentissements des filtres récursifs inactifs. Instruments : - Measure.h : Mesures de crête, RMS, facteur de crête, dB, brillance et hauteur tonale ; dépend uniquement de chalkwalk::dsp. - Loudness.h : Sonie intégrée en LUFS ; dépend de chalkwalk::dsp::measure et libebur128. L'utilisation est simple : ajoutez le répertoire include ou utilisez CMake. Le projet est conçu pour être autonome. La motivation principale est de corriger les incohérences trouvées dans d'anciennes implémentations, telles que des erreurs de signe dans le polyBLEP, des limites de largeur d'impulsion incorrectes, ou des problèmes de dénormalisation. Les mesures ont été consolidées pour garantir la précision, avec une validation contre des signaux synthétiques et une comparaison avec ffmpeg pour la norme ebur128 (écart inférieur à 0,05 LU). Licence : MIT. libebur128 est inclus en tant que sous-module pour la cible de mesure. Le projet fait partie de l'écosystème de plugins chalkwalk.