Page informative, sans valeur de conseil. Vérifiez la licence du logiciel et des modèles, et gardez en tête qu'une transcription automatique contient des erreurs : relisez avant d'exploiter le résultat.
À quoi ça sert
faster-whisper fait le même travail que whisper.cpp — convertir la parole en texte — mais s'intègre comme une bibliothèque Python. On lui passe un fichier audio, il renvoie des segments horodatés qu'on manipule directement dans son code. C'est le choix naturel quand la transcription n'est qu'une étape d'un programme plus large : indexation, sous-titrage automatisé, analyse de réunions, alimentation d'un RAG.
Ce qui fait sa force
- Le moteur CTranslate2. Développé par OpenNMT, il optimise l'inférence des modèles Transformer (quantification int8/float16, fusion d'opérations, gestion fine du batch). C'est lui qui apporte le gain de vitesse et la baisse de consommation mémoire face au Whisper PyTorch d'origine.
-
CPU comme GPU. En
int8sur processeur ou enfloat16sur GPU NVIDIA (CUDA), le même code s'adapte au matériel. On choisit le compromis vitesse/qualité via le type de calcul. - Segments structurés et horodatés. La sortie est une liste de segments avec début, fin et texte, et l'horodatage au mot est disponible — parfait pour générer des sous-titres ou aligner du texte sur de l'audio par programme.
- Détection d'activité vocale intégrée. Un filtre VAD (Silero) saute les silences, ce qui accélère le traitement des longs enregistrements et réduit les transcriptions parasites.
- Modèles prêts à l'emploi. Les poids Whisper convertis sont récupérés automatiquement depuis Hugging Face au premier appel, par taille (tiny à large-v3) et en variantes distil pour plus de rapidité.
Pour qui
Pour les développeurs Python qui veulent intégrer la transcription dans une application ou un script. Si vous cherchez plutôt un binaire autonome à lancer en ligne de commande, sans environnement Python à gérer, whisper.cpp sera plus direct.
Installation
Prérequis
Python 3.9+ et pip. Pour l'accélération GPU : une carte NVIDIA avec les bibliothèques
CUDA et cuDNN installées. Sur CPU, aucun prérequis matériel particulier.
Installer via pip
pip install faster-whisper
Transcrire un fichier
from faster_whisper import WhisperModel
# « small » en int8 sur CPU ; passez device="cuda", compute_type="float16" sur GPU
model = WhisperModel("small", device="cpu", compute_type="int8")
segments, info = model.transcribe("mon_audio.mp3", language="fr")
print(f"Langue detectee : {info.language} (p={info.language_probability:.2f})")
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
Activer le filtre de silences (VAD)
segments, info = model.transcribe(
"longue_reunion.wav",
language="fr",
vad_filter=True, # ignore les silences
word_timestamps=True, # horodatage au mot
)
Choisir le bon type de calcul
# CPU, le plus sobre
model = WhisperModel("small", device="cpu", compute_type="int8")
# GPU NVIDIA, rapide
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
# Compromis GPU avec moindre empreinte mémoire
model = WhisperModel("medium", device="cuda", compute_type="int8_float16")
Bien choisir son modèle
Mêmes tailles que Whisper : de tiny à large-v3. Le paramètre
compute_type arbitre vitesse et précision : int8 est le plus léger
(idéal CPU), float16 tire parti du GPU, int8_float16 combine les deux.
Les variantes distil-large-v3 offrent une vitesse accrue avec une qualité proche du
modèle complet, surtout sur l'anglais.
Points de vigilance
Comme whisper.cpp, le traitement reste local et l'outil se contente de produire du texte. Les points réels concernent l'usage et l'environnement, pas l'outil lui-même.
| Point d'attention | Niveau | Ce qu'il faut savoir |
|---|---|---|
| Enregistrer une personne sans son accord | 🔴 selon le contexte | Une voix est une donnée personnelle. Transcrire un échange privé sans information ni consentement des intéressés peut contrevenir au RGPD, même si le calcul est 100 % local. |
| Dépendances GPU (CUDA / cuDNN) | 🟡 selon l'installation | L'accélération GPU exige les bonnes versions de CUDA et cuDNN ; une incompatibilité est la cause d'erreur la plus fréquente. La mise en place de la pile CUDA peut être délicate (versions CUDA, cuDNN et CTranslate2 à aligner). Le mode CPU en int8 fonctionne sans aucun de ces prérequis, mais la vitesse est sensiblement plus basse : pour de longs enregistrements, un GPU fait une vraie différence. |
| Licence du logiciel et des modèles | 🟢 permissive | faster-whisper est sous MIT, son moteur CTranslate2 (OpenNMT) aussi, et les poids Whisper d'OpenAI sont sous MIT — usage commercial possible. |
Sécurité
- Installez depuis PyPI officiel et épinglez les versions dans votre projet pour des résultats reproductibles.
- Les poids sont téléchargés au premier appel depuis Hugging Face : assurez-vous d'une source fiable lors de ce premier chargement, puis ils sont mis en cache localement.
- Traitez les enregistrements comme des données sensibles ; chiffrez le stockage si l'audio contient des informations confidentielles.
Aller plus loin
- whisper.cpp — la même famille Whisper en binaire C/C++ autonome.
- FFmpeg — préparer, découper et convertir l'audio en amont.
- Piper — synthèse vocale locale, le chemin inverse.
- OSIALab — tous les outils voix et transcription.
Sources
- Code source & licence (MIT) : github.com/SYSTRAN/faster-whisper
- Moteur CTranslate2 (MIT) : github.com/OpenNMT/CTranslate2
- Modèle Whisper d'origine (MIT) : github.com/openai/whisper