WhisperX
WhisperX

WhisperX

WhisperX est une chaîne open source pour l’audio long qui ajoute à faster-whisper le batch, l’alignement forcé par langue et la diarisation optionnelle avec pyannote.

125

Views

0

Likes

Jan 2026

Added

github.com

Lien du projet

Tags

WhisperXspeech alignmentspeaker diarizationlong-form ASR

Product Preview

A quick visual look at WhisperX before you visit the official site.

Published 1/21/2026
WhisperX screenshot

Editorial Review

About WhisperX

WhisperX est une chaîne open source pour les enregistrements longs, maintenue par Max Bain et la communauté. Elle combine détection d’activité vocale, transcription par lots avec faster-whisper/CTranslate2, alignement forcé propre à la langue et diarisation optionnelle par pyannote. Le résultat n’est pas seulement « Whisper plus rapide » : il fournit des mots avec des temps plus fins et des étiquettes anonymes de locuteur. Chaque étape est un modèle distinct avec ses propres erreurs.

WhisperX ne remplace pas le reconnaisseur par un nouveau modèle ASR universel. Il change le découpage et l’inférence, réaligne le texte reconnu au moyen d’un modèle phonétique, puis peut réconcilier les mots avec des intervalles de locuteurs. Un texte faux ne devient pas vrai grâce à un timing précis. Si un chiffre, symbole ou alphabet manque au dictionnaire d’alignement, son temps peut être absent ou interpolé. En parole simultanée, un SPEAKER_00 propre peut rester erroné.

Pipeline WhisperX de la VAD et transcription batch à l’alignement forcé la diarisation et la revue qualité
Schéma vérifiable fondé sur README, papier et code actuels de WhisperX. Texte, temps des mots et attribution des locuteurs sont validés séparément.

Ce que WhisperX ajoute à Whisper

ÉtapeImplémentationValeurLimite
SegmentationVAD pyannote/Silero puis Cut & MergeChunks vocaux mis en lotVoix faible coupée ou tours fusionnés
Transcriptionfaster-whisper/CTranslate2Batch et quantificationDécodage différent de l’amont
Alignementwav2vec2/ASR phonétique par langueMots associés à des temps finsCaractères, nombres, symboles, langue peuvent échouer
Diarisationpyannote Community-1IDs anonymes de locuteursChevauchement, tours courts, voix proches ; pas de noms
SortieSRT/VTT/TSV/TXT/JSONSous-titres et traitementLecture, coupures et contenu exigent QA

Le papier original traite trois problèmes de l’audio long : Whisper fenêtré peut dériver, répéter ou halluciner ; le décodage séquentiel freine le batching ; les temps par énoncé sont trop grossiers. VAD Cut & Merge permet les lots et l’alignement phonétique ajoute des temps de mots après reconnaissance. Les résultats publiés appartiennent à des modèles, données, réglages et GPU précis. Nous n’en faisons pas une vitesse universelle ni un WER sans contexte pour les versions actuelles.

Maintenance et réalité des dépendances

WhisperX reste maintenu. Lors de la revue, v3.8.6 était le dernier release stable affiché et main déclarait 3.8.7rc1. Les versions récentes ont réparé les temps de caractères non alignables, ajouté des callbacks de progression et ajusté Torch/TorchCodec. C’est positif, mais confirme qu’une production doit épingler un release testé plutôt qu’installer main à chaque build.

FrontièreExigence actuelleConséquence
Python3.10 à moins de 3.14Environnement isolé
ASRfaster-whisper≥1.2, CTranslate2≥4.5Régression CUDA, modèle et décodage
PyTorchTorch/Torchaudio autour de 2.8Wheel, pilote et CUDA cohérents
Diarisationpyannote.audio≥4TorchCodec, modèle gated, second cycle
LicencesWhisperX BSD-2 ; modèles séparésNotices et conditions indépendantes

Installation et premier passage contrôlé

python -m venv .venv
source .venv/bin/activate
pip install whisperx
whisperx meeting.wav --model large-v2 --batch_size 4 --output_format json
whisperx meeting.wav --diarize --hf_token "$HF_TOKEN"

Le README recommande PyPI et prévient que la version de développement peut contenir expériences et bugs. La procédure GPU cite actuellement CUDA 12.8. Le CPU int8 est possible, mais vitesse et qualité doivent être mesurées. En manque de mémoire, réduire d’abord batch, puis comparer un ASR plus petit ou int8, car ces choix changent la reconnaissance. Le token Hugging Face sert au téléchargement gated et ne doit rester ni dans l’historique, ni le code, ni les métadonnées.

Flux de production pour audio long

  1. Obtenir le consentement.Documenter but, source, rétention et personnes autorisées.
  2. Préserver l’original.Décoder une copie stable et conserver les canaux avant mono.
  3. Créer un test privé.Inclure silence, bruit, musique, chevauchement, interruptions, noms, nombres, alternance de langues et durée max.
  4. Épingler toute la pile.Noter WhisperX, faster-whisper, ASR, aligner, VAD, pyannote, Torch/CUDA et compute type.
  5. Calibrer VAD et batch.Mesurer voix coupée, fausse voix, mémoire GPU et facteur temps réel ensemble.
  6. Conserver l’ASR brut.Garder les segments avant alignement pour ne pas masquer l’hypothèse.
  7. Marquer les exceptions.Distinguer aligné, interpolé, non aligné et tester la dérive sur tout le fichier.
  8. Diariser seulement si utile.Garder le token secret, borner le nombre connu et inspecter chevauchements/tours courts.
  9. Appliquer les gates.Vérifier noms, chiffres, négation, hallucination, temps, changements de voix et lisibilité.
  10. Exporter avec manifeste.Stocker JSON/SRT/VTT, versions, état de revue et date de suppression.

Langues d’alignement et échecs visibles

L’alignement forcé est propre à la langue. Le README cite des pipelines torchaudio par défaut pour anglais, français, allemand, espagnol et italien, plus les mappings de DEFAULT_ALIGN_MODELS_HF. Si la langue détectée manque, fournir un ASR phonétique avec --align_model et le valider sur la parole cible. La capacité de Whisper à transcrire une langue ne prouve pas que WhisperX aligne chaque mot.

Nombres, devises, symboles, alphabets mixtes, code-switching et graphies rares peuvent sortir du dictionnaire. Les releases récents améliorent les temps, mais nearest/linear reste une estimation, pas une preuve acoustique. ignore laisse le trou visible. Le système aval doit conserver aligned/interpolated plutôt que présenter chaque timing avec la même confiance.

CasRisqueContrôle
Nombres/devisesForme écrite hors dictionnaireAnnées, prix, dates, unités séparément
Changement de langueUn modèle ne couvre pas deux scriptsSéparer régions ou aligner validé
Noms propresOrthographe ASR vs lexiqueTexte/temps contre référence humaine
Musique/silenceVAD et ASR divergentÉtiqueter fausse voix/hallucination
ChevauchementTrois étapes se dégradentJeu riche et locuteur incertain
Tours courtsPeu de recouvrement mot-intervalleInspecter interruptions

pyannote : accès, licence et sens

La CLI actuelle utilise pyannote/speaker-diarization-community-1 par défaut. L’utilisateur accepte les conditions gated et crée un token Hugging Face. La model card indique CC-BY-4.0 et décrit l’usage local/offline après copie. Ces conditions sont séparées de WhisperX BSD-2 et des modèles Whisper/faster-whisper.

La diarisation indique quel cluster anonyme parle quand ; elle n’identifie pas une personne. SPEAKER_00 peut changer entre fichiers, diviser une voix ou fusionner des voix proches. min/max_speakers contraint sans garantir. Le chevauchement est une limite officielle. En droit, recherche, centre d’appel ou clinique, conserver l’audio et traiter l’attribution comme métadonnée révisable.

Comparaison avec les options voisines

OptionÀ choisir siCompromis
WhisperXLong audio, batch, mots et locuteurs locauxPlusieurs modèles et erreurs composées
OpenAI WhisperRéférence Python simpleTemps grossiers, pas de diarisation/batch long natif
faster-whisperSeul le débit CTranslate2 compteAjouter alignement/diarisation et QA
whisper.cppC/C++, CPU, Apple Silicon, edge/offlineAutre écosystème, pipeline absente
API managéeDéléguer inférence, échelle et modèles actuelsDonnées externes, coût, fonctions variables

Jugement indépendant :WhisperX est une chaîne post-ASR, pas un bouton de précision. Il vaut la peine lorsque temps de mots et locuteurs anonymes réduisent la correction. Si le texte suffit, si aucun aligner n’est validé, si le chevauchement domine ou si l’équipe ne maintient pas Python/Torch/CUDA/modèles, faster-whisper, Whisper, whisper.cpp ou une API peuvent être plus fiables.

Questions fréquentes

Est-ce un nouveau modèle ASR ?

Non. Il utilise Whisper via faster-whisper puis ajoute VAD, alignement et pyannote optionnel.

Les temps de mots sont-ils garantis ?

Non. Caractères, nombres, symboles, scripts mixtes ou langue incorrecte échouent ; interpolation reste estimation.

Identifie-t-il les personnes ?

Non. SPEAKER_00 est un cluster anonyme ; lier un nom exige une preuve séparée.

Le token HF est-il obligatoire ?

Pas pour le cœur ASR. Le chemin pyannote par défaut exige conditions et token de téléchargement.

Fonctionne-t-il offline ?

Oui après téléchargement de tous les modèles, mais il faut auditer egress, logs, caches et stockage.

Pourquoi manque-t-il de GPU ?

Batch, ASR, compute type, alignement et diarisation consomment. Réduire batch d’abord et mesurer.

Est-il fiable en chevauchement ?

Pas comme vérité. Le projet cite chevauchement et diarisation imparfaite comme limites.

Quelles langues s’alignent ?

Defaults torchaudio et mappings HF existent. Sinon valider un modèle phonétique ou ignorer clairement.

Sources vérifiées

Revue technique indépendante : 2026-08-20. Versions, dépendances, accès et langues changent. Épinglez les sources et évaluez sur vos audios.

Vérifier WhisperX à la source officielle

Ouvre le dépôt, la documentation ou les ressources du modèle.

Ouvrir la source officielle

Quick Info

Lien du projet
github.com
Added
1/21/2026
Published
1/21/2026
Updated
9/8/2026

Share This Tool

Have an AI tool to share?

Submit it to AI Dreamhub

Get your product in front of people actively exploring AI tools.

Submit Your Tool
Whisper

Whisper

Whisper est la famille de reconnaissance vocale et l’implémentation Python MIT d’OpenAI pour transcription locale multilingue, sous-titres et traduction vers l’anglais.

Whisperreconnaissance vocaletranscription locale
980
Whisper.cpp

Whisper.cpp

Whisper.cpp est une implémentation C/C++ légère en dépendances de OpenAI Whisper pour la transcription locale, la traduction, le streaming, les serveurs et les applications intégrées. Ce guide couvre les modèles, la quantification, les backends, la précision, la confidentialité et le déploiement.

speech-recognitionfree
1000
Buzz

Buzz

Buzz est une application de bureau gratuite sous licence MIT pour la transcription Whisper locale, les sous-titres, les sous-titres en direct, la traduction et l'étiquetage des locuteurs sur macOS, Windows et Linux. Ce guide compare les backends, le matériel, la confidentialité, les tests de précision, l'assurance qualité des sous-titres, l'automatisation CLI et les alternatives cloud.

BuzzBuzz Captionstranscription offline
1510
WhisperDesktop

WhisperDesktop

WhisperDesktop est une application de bureau Windows et une implémentation de DirectCompute pour exécuter OpenAI Whisper localement sur une entrée audio, vidéo et microphone. Ce guide couvre la configuration, les modèles, les GPU, les sous-titres, la confidentialité et les alternatives.

WhisperDesktopOpenAI Whisperspeech recognition
1080