Béranger THOMAS

ASR.lab

Plateforme d'évaluation comparative pour les systèmes de reconnaissance vocale automatique : dégradation, amélioration et normalisation contrôlées du signal audio, ainsi que comparaison entre plusieurs moteurs; avec des rapports interactifs.

Fiche technique
Statut Stable Date de sortie 2025-10-15 Catégorie Audio & speech processing Langage Python Stack Demucs · DeepFilterNet · Whisper · Wav2Vec2 · NeMo · Vosk · SeamlessM4T · Moonshine · SenseVoice · Gemma 4 Licence MIT

Contexte

L’évaluation et le déploiement de systèmes de reconnaissance automatique de la parole (ASR) en environnement de production se heurtent à la grande diversité et variabilité des conditions acoustiques réelles. Les signaux vocaux y sont fréquemment perturbés par le bruit ambiant, la réverbération des pièces, les codecs de compression ou des variations importantes de volume sonore. Choisir le modèle ASR le plus adapté nécessite donc une approche rigoureuse et factuelle afin de mesurer précisément le comportement de chaque moteur face à leurs propres contraintes acoustiques (ex: appels de centres de contacts, réunions, bruits de l’habitacle en automobile) pour trouver le meilleur équilibre entre précision, latence et coûts d’infrastructure.

Objectif

Ce projet avait pour objectif de concevoir et de réaliser une plateforme d’évaluation systématique et automatisée permettant de comparer différents moteurs ASR sous des conditions acoustiques reproductibles et paramétrables. Les livrables attendus comprenaient :

  1. Un pipeline de traitement audio capable d’appliquer des dégradations acoustiques réalistes, d’exécuter des filtres de débruitage avancés (speech enhancement) et de normaliser le niveau sonore.
  2. Une couche d’adaptation unifiée facilitant la communication avec différents moteurs ASR locaux et cloud.
  3. Un système de configuration déclaratif au format YAML permettant de lancer des analyses combinatoires automatiques (grid searches).
  4. Un tableau de bord interactif et autonome pour analyser, filtrer et exporter les métriques de qualité issues du benchmark.

Démarche

  1. Architecture déclarative et orchestration : Conception d’un orchestrateur en Python 3.12 qui parse une configuration déclarative YAML pour générer un produit cartésien de scénarios de test.
  2. Pipeline de traitement audio amont :
    • Dégradation audio contrôlée : intégration de plug-ins audio au format VST3 pour appliquer des filtres réalistes (réverbération, bruits additifs, distorsion, etc.) sur les fichiers audio de référence. Le pipeline permet de tester plusieurs scénarios de dégradations acoustiques pour mesurer le seuil de rupture et donc la résilience de chaque modèle.
    • Restauration optionnelle (Speech Enhancement) : branchement optionnel des modèles d’apprentissage profond de débruitage et de séparation de sources Demucs et DeepFilterNet sur les signaux dégradés, afin d’évaluer l’efficacité de ces pré-traitements sur la reconnaissance vocale.
    • Normalisation de l’intensité sonore : normalisation automatique à différents niveaux de volume exprimés en LUFS selon la norme de diffusion EBU R128, éliminant les biais de volume sonore lors de la phase de transcription.
  3. Moteurs de transcription ASR unifiés : développement d’un adaptateur universel unifiant l’accès à 7 frameworks de reconnaissance automatique de la parole :
    • Whisper (OpenAI / version optimisée Faster-Whisper), Wav2Vec2 (Meta via Hugging Face Transformers), NVIDIA Parakeet, Vosk (Kaldi offline), SeamlessM4T (Meta), Moonshine, et SenseVoice (Alibaba).
  4. Calcul de métriques sur deux formats textuels :
    • Calcul des métriques standards de l’industrie : taux d’erreur de mots (WER), de caractères (CER), taux d’erreur d’appariement (MER), information mot perdue (WIL) et préservée (WIP).
    • Ces métriques sont calculées sur le texte brut retranscrit, et après application d’un pipeline de normalisation textuelle standardisé (suppression de la ponctuation, normalisation des nombres, mise en minuscule) pour isoler les erreurs d’interprétation phonétique des simples divergences de formatage textuel.
  5. Génération de rapports autonomes : création d’un module de rendu générant un rapport HTML unique, portable et auto-suffisant. Les visualisations interactives (heatmaps de WER, diagrammes de dispersion, diffs de texte mot-à-mot colorés) sont générées côté client sans dépendance à Plotly ou Pandas, optimisant la rapidité d’affichage et l’usage hors ligne.

Caractéristiques

Impact

ASR.lab résout un problème industriel critique en transformant le choix d’un moteur de reconnaissance vocale en une décision purement factuelle et quantifiée :