MARKETIA

whisper.cpp 1.9.5 testé pour de vrai : protocole, mesures et limites (2026-10-18)

Test exécuté le 18 octobre 2026 (page rédigée le 18 octobre 2026).

Test d'usage réel mais limité : une machine, un jeu de test synthétique, aucune note ni classement. Les résultats ne se généralisent pas à d'autres données. Notre méthode.

Demander l'installation de whisper.cpp sur devisRéponse sous 5 jours ouvrés, sans engagement. Aucun paiement à cette étape.

En résumé

Le 2026-10-18, nous avons téléchargé whisper.cpp 1.9.5 et le plus petit modèle (ggml-tiny.bin), vérifié leurs empreintes, puis transcrit un seul extrait audio en français de 25,95 s, produit par une voix de synthèse. Ce test porte sur une machine, une version, un modèle et 62 mots : il décrit ce que nous avons observé, il ne dit rien de la qualité générale de whisper.cpp et ne se généralise ni aux autres modèles ni aux voix humaines. L'avis MagicMate sur whisper.cpp donne le contexte de l'outil.

Ce que nous avons observé, dans l'ordre :

  • Temps de traitement : 2 509, 2 227, 2 280 et 2 300 ms sur 4 exécutions (moyenne 2 329 ms), chargement du modèle inclus, soit un facteur temps réel d'environ 0,09.
  • Taux d'erreur de mots : 41,9 % en brut (26 erreurs sur 62 mots de référence) et 25,8 % après mise en forme (16 erreurs sur 62). Sur un seul extrait synthétique, ces valeurs n'ont aucune valeur statistique.
  • Erreurs relevées : une vraie erreur de valeur (« 2016 » au lieu de « deux mille vingt-six »), un nom propre déformé, plusieurs mots courants mal reconnus. Les accents sont restitués quand le mot est reconnu.
  • Les quatre formats de sortie demandés (JSON, SRT, VTT, texte) ont été produits. Un écart de 0,25 s sur l'horodatage final reste non expliqué.

Protocole et commandes

Machine : Windows 11, Intel Core i5-10400F (6 cœurs, 12 threads), processeur seul, sans carte graphique utilisée. Commandes en PowerShell. Aucun déplacement dans les dossiers téléchargés : chaque commande reçoit ses chemins en argument. Dans les commandes, $b désigne le dossier de travail (sous-dossiers dl, bin, audio, out).

  1. Version et binaire. whisper.cpp 1.9.5 est publiée le 2026-10-06 (API GitHub, release la plus récente). Le tag v1.9.5 ne porte aucun fichier : les binaires se trouvent sur la release compagnon b5454, publiée le même jour, que le texte de la release v1.9.5 cite comme « Nightly build ». Nous avons utilisé whisper-bin-x64.zip (8 928 640 octets, Windows x64, processeur seul, sans CUDA). Son SHA-256, calculé par nous (début 6BA69E34, fin D816CCB), est identique au condensat affiché par l'API GitHub (champ digest). L'éditeur ne publie pas de fichier de sommes de contrôle séparé : ce condensat est celui que GitHub calcule à l'envoi.
  2. Modèle. ggml-tiny.bin, 77 691 713 octets (77,7 Mo), tiré du dépôt officiel huggingface.co/ggerganov/whisper.cpp. SHA-256 calculé : BE07E048E1E599AD46341C8D2A135645097A538221678B7ACDD1B1919C6E1B21, identique à l'identifiant LFS publié par Hugging Face.
  3. Téléchargement et vérification : Invoke-WebRequest https://github.com/ggml-org/whisper.cpp/releases/download/b5454/whisper-bin-x64.zip -OutFile $b\dl\whisper-bin-x64.zip, puis Invoke-WebRequest https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin -OutFile $b\dl\ggml-tiny.bin, puis Get-FileHash <fichier> -Algorithm SHA256.
  4. Extraction : Expand-Archive $b\dl\whisper-bin-x64.zip -DestinationPath $b\bin (les exécutables sont dans bin\Release). L'archive contient aussi des binaires inutiles pour ce test (serveur, mesures de performance, tests) ; whisper-cli.exe pèse 480 Ko et whisper-cli.exe --version affiche « whisper.cpp version: 1.9.5 ».
  5. Audio de référence : synthèse vocale Windows (System.Speech, voix « Microsoft Hortense Desktop », fr-FR), écrite avec SetOutputToWaveFile en 16 kHz, 16 bits, mono. Durée 25,95 s (830 286 octets). Texte de référence, sans donnée personnelle et avec un nom propre fictif : « Aujourd'hui, le ciel est nuageux sur la région de Lyon. La température maximale atteindra vingt-trois degrés cet après-midi. Madame Odette Brancourt a présenté le bulletin météo le douze mars deux mille vingt-six. Demain, il pleuvra sur le nord du pays, avec des vents de soixante kilomètres par heure. Le week-end sera plus ensoleillé, et les températures remonteront progressivement. »
  6. Options notables de whisper-cli.exe --help : -l, -oj, -ojf, -osrt, -ovtt, -otxt, -olrc, -ocsv, -tdrz, --vad, -ng.
  7. Transcription : whisper-cli.exe -m ggml-tiny.bin -f test-fr.wav -l fr -of <out>\runN (4 threads et recherche en faisceau de largeur 5, valeurs par défaut). Pour les formats : même commande avec -oj -osrt -ovtt -otxt.
  8. Mesures. Le temps est mesuré avec un Stopwatch autour du processus entier, chargement du modèle inclus. La mémoire est le pic de PeakWorkingSet64, relevé toutes les 50 ms.
  9. Taux d'erreur de mots : script Python (lancé avec python -I) calculant la distance de Levenshtein sur les mots, en minuscules, ponctuation retirée, tirets et apostrophes traités comme des séparateurs. Ce script n'est pas fourni dans le dossier de test.

Résultats mesurés

MesureValeur
Durée de l'audio25,95 s
Temps total, 4 exécutions2 509 / 2 227 / 2 280 / 2 300 ms (moyenne 2 329 ms)
Facteur temps réelenviron 0,09 (environ 11 fois plus rapide que le temps réel)
Détail interne (exécution 1)chargement 117 ms, encodage 507 ms, décodage (par lot) 986 ms, total 2 150 ms
Mémoire, picenviron 200 Mo (mesure approximative)
Taille du modèle sur disque77,7 Mo
Taux d'erreur de mots, brut41,9 % (26 erreurs sur 62 mots de référence)
Taux d'erreur de mots, après mise en forme25,8 % (16 erreurs sur 62)

La mise en forme consiste à épeler les chiffres, développer « km/h » et remplacer « weekend » par « week-end » avant le calcul. Le taux brut dépend donc de ce choix de normalisation (chiffres contre mots) : nous donnons les deux valeurs.

Transcription obtenue, identique sur les 4 exécutions (le fichier de sortie standard fait 528 octets à chaque fois) :

  1. « Aujourd'hui, le ciel est nu à jeu sur la région de Lyon. »
  2. « La température maximale atteindre à 23 degrés cet après-midi. »
  3. « Madame Audette Brancourt a présenté le but le tain météo le 12 mars 2016. »
  4. « Demain, il plovera sur le nord du pays, avec des ventes de 60 km/h. »
  5. « Le weekend sera plus en soleil et les températures remontront progressivement. »

Le code de sortie n'a pas été lu : l'objet Process de PowerShell l'a renvoyé vide avec notre méthode de lancement. Les fichiers de sortie ont néanmoins été produits et sont complets.

Erreurs relevées :

  • Nombres : « 23 », « 12 » et « 60 » sont écrits en chiffres au lieu de mots, ce qui est un choix de format et pas forcément une erreur. « 2016 » au lieu de « deux mille vingt-six » est en revanche une erreur de valeur (2016 n'est pas 2026). « atteindre » pour « atteindra » est une erreur de conjugaison.
  • Nom propre : « Audette » pour « Odette ». « Brancourt » et « Lyon » sont correctement restitués.
  • Mots courants mal reconnus : « nuageux » devient « nu à jeu », « bulletin météo » devient « but le tain météo », « pleuvra » devient « plovera », « vents » devient « ventes », « ensoleillé » devient « en soleil », « remonteront » devient « remontront » (forme inexistante).
  • Accents : ils sont restitués correctement quand le mot est reconnu (température, après-midi, présenté, météo). Les erreurs observées sont des erreurs de mots, pas de diacritiques.
  • Ponctuation et majuscules : présentes et plausibles, une phrase par segment.

Formats de sortie (-oj, -osrt, -ovtt, -otxt) :

  • Les quatre fichiers sont créés (JSON 1 935 octets, SRT 541, VTT 536, texte 356). Le JSON contient le modèle (type tiny, multilingue), la langue et, pour chaque segment, timestamps (texte) et offsets (millisecondes). L'option -ojf, plus détaillée, n'a pas été essayée.
  • Horodatages : 5 segments contigus, 0,00-4,08 / 4,08-8,84 / 8,84-14,64 / 14,64-20,52 / 20,52-26,20 s. Le dernier se termine à 26,20 s pour un audio de 25,95 s, soit un écart de 0,25 s. L'arrondi de la fenêtre de 30 s est une hypothèse, mais la cause n'est pas vérifiée. Les bornes sont plausibles (une phrase par segment, durées cohérentes avec une lecture à rythme constant), mais nous n'avons pas mesuré leur précision, faute de référence de chronométrage indépendante.
  • SRT et VTT : format conforme (numéros, -->, virgule en SRT, point en VTT, en-tête WEBVTT). Chaque ligne de texte commence par une espace.

Un point non établi

L'écart de 0,25 s entre la fin du dernier segment (26,20 s) et la durée de l'audio (25,95 s) : la cause n'est pas établie. Nous ne l'avons pas investiguée au-delà de la mesure.

Limites du test

  • Une seule machine, une seule version (1.9.5, build b5454), configuration par défaut (processeur, 4 threads).
  • Un seul modèle, le plus petit (tiny, multilingue). Les erreurs observées ne disent rien des modèles base, small, medium ou large.
  • Un seul échantillon de 25,95 s et 62 mots, synthétique : une voix de synthèse n'est pas une voix humaine (articulation régulière, sans bruit, sans hésitation). Le taux d'erreur de mots n'a aucune valeur statistique et ne se généralise pas.
  • Le taux brut dépend de choix de normalisation (chiffres contre mots).
  • Mémoire mesurée par sondage toutes les 50 ms, donc approximative. Temps mesuré sur 4 exécutions, avec fichiers en cache disque.
  • Aucune conclusion de qualité générale ne peut être tirée de ce test.

Ce que nous n'avons pas testé

  • Des modèles plus grands (base, small, medium, large) et des modèles quantifiés (ggml-tiny-q5_1.bin, 32 Mo, repéré mais non essayé).
  • Des voix humaines, des accents, du bruit de fond, plusieurs locuteurs, de la musique, de l'audio long (plusieurs heures), les formats mp3, flac et ogg.
  • Une carte graphique (CUDA, OpenCL, Vulkan), les builds BLAS, d'autres processeurs ou systèmes.
  • La diarisation (-di ; -tdrz demande un modèle spécifique), la détection automatique de la langue, la traduction, le filtre de voix (--vad, modèle séparé), l'horodatage par mot, l'option -ojf.
  • whisper-server, whisper-stream, les bibliothèques et les liaisons de programmation.
  • Une comparaison avec d'autres moteurs (Whisper d'OpenAI, faster-whisper, Vosk, etc.).

Sources

Aller plus loin

Recevoir la newsletter Marketia