Faster-Whisper : transcrire vite, même sans GPU
Faster-Whisper (SYSTRAN/faster-whisper, licence MIT) est une réimplémentation de Whisper sur le moteur CTranslate2. Le projet annonce jusqu'à 4 fois plus rapide qu'openai/whisper, à précision égale, avec moins de mémoire. Sur son propre banc d'essai CPU (Intel i7-12700K, modèle small), il transcrit 13 minutes d'audio en 1 min 42 en int8 contre 6 min 58 pour openai/whisper — près de 4 fois plus vite sur processeur, sans carte graphique.
Faster-Whisper est une réimplémentation de Whisper qui transcrit nettement plus vite et consomme sensiblement moins de mémoire, pour une qualité de texte équivalente. Ce n'est pas un nouveau modèle : ce sont les mêmes poids, exécutés par CTranslate2, un moteur d'inférence différent publié par SYSTRAN sous licence MIT. C'est l'implémentation à choisir par défaut pour transcrire en local, et son propre banc d'essai chiffre précisément ce que « rend enfin raisonnable la transcription sur processeur » veut dire en pratique.
#Ce que c'est, et ce que ce n'est pas
Whisper désigne à la fois une famille de modèles et l'implémentation de référence d'OpenAI qui les exécute. Faster-Whisper garde les premiers et remplace la seconde par CTranslate2, un moteur d'inférence optimisé pour les modèles de type transformeur, développé à l'origine pour la traduction automatique chez OpenNMT. Le texte produit est le même à qualité équivalente ; ce qui change, c'est le temps et la mémoire nécessaires pour l'obtenir, pas le contenu du résultat final.
Conséquence pratique : tout ce que vous savez déjà du choix de taille de modèle Whisper reste parfaitement valable, et la plupart des outils de transcription locale que vous croisez au quotidien l'utilisent déjà sous le capot, souvent sans forcément le dire ni le documenter. Autre détail utile : contrairement à openai-whisper, FFmpeg n'a pas besoin d'être installé séparément sur le système — l'audio est décodé par la bibliothèque PyAV, qui embarque ses propres bibliothèques FFmpeg.
#D'où vient le gain
Ton ChatGPT privé et gratuit sur ta machine en 1 heure — LM Studio, Ollama, Open WebUI, tes documents, sans cloud.
- Espace en ligne à vie
- PDF + fichiers
- Mises à jour à vie
- Un moteur d'inférence spécialisé
- CTranslate2, écrit pour exécuter des transformeurs efficacement, plutôt qu'un cadriciel généraliste comme PyTorch utilisé directement.
- La quantification
- Exécuter le modèle en 8 bits divise l'empreinte mémoire et accélère, avec une perte de qualité de transcription en général imperceptible.
- Le traitement par lots
- Les longs fichiers peuvent être découpés et traités en parallèle (batch_size) plutôt que strictement l'un après l'autre, au prix d'une mémoire plus élevée.
- La détection d'activité vocale
- Sauter les silences évite de faire travailler le modèle sur du vide — sur des enregistrements de réunion, c'est loin d'être négligeable.
#Le gain, chiffré par l'éditeur
SYSTRAN publie son propre banc d'essai plutôt que de laisser le lecteur deviner : transcription de 13 minutes d'audio, comparée entre plusieurs implémentations sur le même matériel, avec les temps et la mémoire consommée pour chacune. Deux jeux de mesures comptent particulièrement pour un usage sans carte graphique dédiée, celui qui concerne la majorité des postes de travail en entreprise.
| Implémentation | Précision | Temps | Mémoire RAM |
|---|---|---|---|
| openai/whisper | fp32 | 6 min 58 s | 2 335 Mo |
| faster-whisper | fp32 | 2 min 37 s | 2 257 Mo |
| faster-whisper | int8 | 1 min 42 s | 1 477 Mo |
| faster-whisper (lots de 8) | int8 | 51 s | 3 608 Mo |
Sur processeur, la version int8 de Faster-Whisper transcrit donc 4,1 fois plus vite qu'openai/whisper, pour moins de mémoire utilisée (1 477 Mo contre 2 335 Mo) — un résultat cohérent avec l'annonce générale du projet, « jusqu'à 4 fois plus rapide … en utilisant moins de mémoire ». Sur GPU, le même banc d'essai avec le modèle large-v2 (RTX 3070 Ti) donne 1 min 03 en fp16 et 59 secondes en int8, contre 2 min 23 pour openai/whisper — la quantification apporte là un gain plus modeste que sur CPU, mais la mémoire vidéo utilisée chute de 4 708 Mo à 2 926 Mo.
Le dépôt publie aussi un comparatif avec la variante distil-whisper-large-v3, un modèle allégé par distillation plutôt que par quantification. Sur GPU, avec la bibliothèque transformers en fp16 et un traitement par lots de 16, ce modèle met 46 minutes 12 secondes à transcrire le corpus de test avec un taux d'erreur mot de 14,801 ; la même configuration sous Faster-Whisper met 25 minutes 50 secondes pour un taux d'erreur mot de 13,527 — plus rapide ET plus précis sur ce test précis, ce qui montre que le gain de CTranslate2 ne se limite pas à la quantification : le moteur d'exécution lui-même compte, indépendamment du modèle exact qu'on lui fait tourner.
Le banc d'essai compare aussi Faster-Whisper à whisper.cpp, une autre réimplémentation très utilisée, notamment sur Mac et sur matériel embarqué. Sur le modèle large-v2 en fp16, whisper.cpp avec Flash Attention met 1 minute 05 pour 4 127 Mo de mémoire vidéo, quasiment à égalité avec Faster-Whisper (1 minute 03, 4 525 Mo) — un rappel utile que Faster-Whisper n'est pas la seule option rapide, seulement celle que ce guide documente le plus en détail parce que son écosystème Python s'intègre le plus facilement dans une chaîne RAG ou un compte rendu automatisé.
#L'installer et transcrire un premier fichier
L'installation tient en une ligne, sans dépendance système à gérer pour le décodage audio grâce à PyAV, embarquée directement dans le paquet Python. Le code minimal reprend trois paramètres qui font toute la différence par rapport à un usage naïf du modèle : le choix explicite du device (cpu ou cuda), le type de calcul (compute_type, où int8 est le point de départ raisonnable sur CPU) et l'activation du filtre de détection d'activité vocale.
Trois lignes de code suffisent à appliquer les deux réglages qui expliquent l'essentiel de l'écart mesuré dans le banc d'essai officiel : compute_type="int8" pour la quantification, et vad_filter=True pour la détection d'activité vocale. Le paramètre language="fr" retire, lui, la détection automatique de langue, qui se trompe le plus souvent dans les toutes premières secondes d'un enregistrement.
#Quel modèle, quelle précision
| Taille | Mémoire indicative en 8 bits | Pour quoi |
|---|---|---|
| Petit (small) | Environ 1,5 Go en int8 sur CPU, mesuré sur le banc d'essai officiel | Prise de notes rapide, audio propre, une seule langue |
| Moyen | Autour de 1 à 2 Go | Le compromis courant sur de longs enregistrements |
| Grand (large-v2) | Environ 2,9 Go en int8 sur GPU, mesuré sur le banc d'essai officiel | Français soigné, vocabulaire spécialisé, audio difficile |
Pour du français, la différence entre un modèle intermédiaire et un grand modèle se voit surtout sur les noms propres, les sigles et les passages où plusieurs personnes parlent en même temps. Si la transcription alimente ensuite un modèle de langage qui rédige un compte rendu structuré, une erreur isolée sur un mot rare compte moins qu'on ne le croit intuitivement ; si elle doit être lue telle quelle par un humain, le grand modèle se justifie, au prix du temps et de la mémoire indiqués plus haut dans ce guide.
#Les réglages qui comptent vraiment
- 01Forcer la langueLa détection automatique se trompe sur les premières secondes, surtout si l'enregistrement commence par un silence ou une salutation courte. Indiquer la langue supprime une classe entière d'erreurs.
- 02Activer la détection d'activité vocaleElle évite de transcrire les silences et réduit les hallucinations de fin de fichier, où le modèle invente du texte sur du vide.
- 03Choisir la quantification int8C'est le réglage qui explique l'essentiel de l'écart mesuré sur le banc d'essai officiel : sur CPU, il fait passer le temps de 2 min 37 à 1 min 42 sur le modèle small, pour moins de mémoire.
- 04Activer le traitement par lots si la mémoire le permetbatch_size=8 divise encore le temps par deux dans le banc d'essai officiel, au prix d'une mémoire plus élevée : à réserver aux machines qui ont de la marge.
#Trois usages concrets sur une machine ordinaire
Les chiffres du banc d'essai officiel prennent tout leur sens rapportés à des cas réels, sur un poste de travail sans carte graphique dédiée — la situation la plus courante en entreprise.
- Compte rendu de réunion
- Une réunion d'une heure transcrite en int8 sur un processeur de bureau prend, à l'échelle des chiffres mesurés sur 13 minutes, de l'ordre de sept à huit minutes — largement compatible avec une transcription lancée pendant la pause café qui suit la réunion elle-même.
- Archivage de podcasts ou de webinaires
- Un traitement par lots lancé la nuit sur une pile de fichiers longs profite directement du gain mesuré avec batch_size=8, sans qu'il soit nécessaire de surveiller l'exécution jusqu'au matin.
- Sous-titrage a posteriori d'une vidéo
- Faster-Whisper produit le texte brut de la vidéo ; un alignement mot à mot avec WhisperX ajoute ensuite les horodatages précis nécessaires à un fichier de sous-titres réellement exploitable en montage.
Dans les trois cas, le point commun est l'absence de carte graphique dans l'équation : les mesures CPU du banc d'essai officiel montrent qu'un processeur de bureau récent suffit largement pour un usage courant, ce qui déplace la vraie question vers la taille du modèle et la quantification plutôt que vers l'achat de matériel supplémentaire pour un simple besoin de transcription.
#Faster-Whisper ou autre chose
| Besoin | Choix |
|---|---|
| Du texte, vite, en local, y compris sans GPU | Faster-Whisper |
| Un horodatage mot à mot pour du sous-titrage | Une chaîne avec alignement forcé (WhisperX) |
| Savoir qui a parlé | Une chaîne avec séparation des locuteurs |
| De la transcription en direct, flux continu | Un moteur orienté flux, comme Vosk |
| Une machine très modeste, sans GPU | Faster-Whisper en int8, modèle small ou medium |
- WhisperX : horodatage mot à mot et locuteurs
- Whisper en local : les bases
- Du fichier audio au compte rendu
- Vosk : transcrire en flux continu plutôt qu'en fichier
- Source : dépôt officiel Faster-Whisper et son banc d'essai
- Source : moteur d'inférence CTranslate2
- Source : dépôt officiel openai/whisper (référence du comparatif)
#FAQ
Faster-Whisper est-il moins précis que Whisper ?+
Faut-il un GPU ?+
Pourquoi le modèle invente-t-il des phrases sur les silences ?+
Quelle taille de modèle pour du français ?+
Peut-il faire du direct ?+
Quel gain apporte vraiment la quantification int8 ?+
Faster-Whisper est-il toujours plus rapide que les autres implémentations ?+
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.