Béranger THOMAS

StellaScript

Pipeline Python de transcription audio local, avec diarisation des locuteurs, utilisable en temps réel (micro) ou sur fichier. Fonctionne sans accès internet après téléchargement des modèles.

Fiche technique
Statut Stable Date de sortie 2025-09-27 Catégorie Audio & speech processing Langage Python Stack WhisperX · DeepFilterNet · Demucs · Silero-VAD · pyannote · SpeechBrain Licence MIT
StellaScript - view 1

Contexte

Développé initialement dans le cadre de projets d’IA souveraine à la Métropole de Lyon, j’ai ensuite poursuivi le développement de StellaScript indépendamment. Il s’agit d’un pipeline de transcription audio de bout en bout, conçu pour garantir la confidentialité et la souveraineté des données.

Démarche

Le pipeline enchaîne plusieurs modules spécialisés :

  1. Enhancement audio (optionnel) : réduction de bruit via DeepFilterNet ou séparation de sources vocales via Demucs, pour améliorer la clarté de l’audio en entrée
  2. Détection d’activité vocale (VAD) avec Silero-VAD, pour isoler les segments de parole et éviter les hallucinations du modèle de transcription
  3. Diarisation des locuteurs – deux méthodes au choix :
    • pyannote (défaut) : pipeline end-to-end pyannote/speaker-diarization-3.1, robuste sur les chevauchements de parole
    • cluster : embeddings vocaux extraits par SpeechBrain (ECAPA-TDNN), puis regroupement par clustering agglomératif sur similarité cosine
  4. Transcription via WhisperX (implémentation optimisée de Whisper d’OpenAI), avec horodatage au niveau du bloc, du segment ou du mot selon le mode choisi

Le pipeline fonctionne en mode temps réel (entrée microphone) ou en mode fichier (.wav), avec un système de découpage intelligent des chunks pour équilibrer qualité et latence.

Caractéristiques

Impact

Ce projet démontre qu’il est possible de produire des transcriptions de qualité professionnelle sans recourir à des services cloud, en répondant aux exigences de confidentialité de tout secteur sensible.