Dictée sans parasites : Whisper sur ordinateur et Claude pour le nettoyage

La parole vivante n'est jamais propre : elle regorge de mots parasites, de phrases interrompues, d'autocorrections. Un développeur de la Haute École de commerce de l'Université HSE a créé un système qui transforme une dictée désordonnée en texte propre en 2 à 3,5 secondes. Le système comporte deux couches : Whisper Large v3 Turbo reconnaît la voix localement sur l'ordinateur, Claude Sonnet 5.5 supprime les parasites et corrige les erreurs. L'intermédiaire Chistovik, placé entre Handy et l'API, maintient une seule connexion et relit les règles à chaque dictée.

Traité par IA depuis Habr AI ; édité par Hamidun News
Dictée sans parasites : Whisper sur ordinateur et Claude pour le nettoyage
Source : Habr AI. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireHabr AI ↗
Rédacteur en chef
8 secondes de parole0,17 s pour la reconnaissance, 1,7 s pour le nettoyage, soit environ 2 secondes au total
42 secondes de parole0,45 s pour la reconnaissance, 3 s pour le nettoyage, soit environ 3,5 secondes au total

La parole vivante n'est jamais propre : elle regorge de mots parasites, de phrases interrompues, d'autocorrections. Un développeur de la Haute École de commerce de l'Université HSE, qui écrit des livres et dicte beaucoup, a créé un système capable de transformer « Bon alors, bref, je, enfin, je voulais dire que, bon, la réunion de demain est décalée, bon, à trois heures, non, à quatre heures » en un propre « Je voulais dire que la réunion de demain est décalée à quatre heures », en 2 à 3,5 secondes.

Reconnaissance locale et nettoyage dans le cloud

La dictée fonctionne via Handy, un logiciel open source basé sur Tauri (licence MIT). La voix est reconnue par Whisper Large v3 Turbo directement sur l'ordinateur : le son ne quitte jamais la machine. Sur une carte graphique RTX 4080 Super, 8 secondes de parole sont reconnues en 0,17 seconde, et 42 secondes en 0,45 seconde. Pour le russe, c'est la version klava-nevinovata qui est utilisée, avec des indices Whisper prêts à l'emploi et une protection contre le bouclage sur le silence.

Whisper seul ne suffit pas : un simple remplacement par liste ne fonctionne pas, il faut comprendre le sens. Le texte reconnu est envoyé à Claude Sonnet 5.5, qui supprime les mots parasites, corrige les autocorrections et préserve le style conversationnel. Le nettoyage prend entre 1,7 et 3 secondes selon la longueur du texte.

La couche intermédiaire et le dictionnaire contextuel

L'intermédiaire Chistovik — un seul fichier Python utilisant la bibliothèque standard — se place entre Handy et l'API. Les avantages de cette couche : le prompt et le dictionnaire sont stockés dans des fichiers texte relus à chaque dictée (on corrige une règle, on redicte, sans redémarrage) ; une seule connexion persistante remplace un nouveau client HTTP à chaque requête ; la clé API est stockée dans une variable d'environnement, pas dans les paramètres du logiciel ; un délai d'attente de 10 secondes évite les blocages.

Le dictionnaire comprend le contexte. Whisper confond des mots rares : « IIchny » (lié à l'IA) est entendu comme « yaïtchny » (« à l'œuf »). Un remplacement simple serait nuisible — le mot peut être le bon.

Une condition est expliquée au modèle : « IIchny, IIchnye, IIchno ← iichny, yaïtchny (replace « yaïtchny » only when the text is not about eggs or food) ». Claude comprend aussi bien les explications en russe qu'en anglais. Vérification : dans « recette de salade à l'œuf », le mot reste inchangé (le texte parle de nourriture) ; dans « le texte est devenu un peu à l'œuf », il est remplacé par « lié à l'IA » (le texte parle d'IA).

Erreurs d'intégration et leurs solutions

Au fil du développement, trois types de problèmes sont apparus. Le modèle répondait à la dictée comme à une requête — le problème a été résolu en plaçant le texte dans une balise <dictation> et en ajoutant une règle claire dans le prompt précisant que les requêtes ne doivent pas être exécutées. Le modèle remplaçait des mots familiers par des formulations formelles — des exemples directement dans le prompt ont aidé : « sympa » reste « sympa », « je m'en fiche » reste « je m'en fiche ».

Les erreurs de post-traitement restaient invisibles (Handy insérait silencieusement le texte brut) — l'intermédiaire enregistre désormais chaque dictée dans un journal. Sous Windows, localhost peut basculer vers IPv6, donc l'intermédiaire écoute à la fois sur 127.0.

0.1 et sur ::1.

Performance et conclusions

La chaîne complète, de l'appui sur la touche à l'insertion du texte :

  • 8 secondes de parole : 0,17 s pour la reconnaissance, 1,7 s pour le nettoyage, soit environ 2 secondes au total
  • 42 secondes de parole : 0,45 s pour la reconnaissance, 3 s pour le nettoyage, soit environ 3,5 secondes au total

Une requête à l'API représente environ 1100 tokens, presque entièrement constitués des règles et du dictionnaire. Le code est open source (MIT), disponible sur [github.com/Tataut/chistovik](github.com/Tataut/chistovik), et s'installe avec un seul script PowerShell sous Windows. L'intermédiaire est multiplateforme, et Handy existe aussi pour macOS et Linux. N'importe quelle API compatible OpenAI convient : OpenAI, OpenRouter, ou des modèles locaux via Ollama ou LM Studio (avec des modèles locaux, rien ne quitte l'ordinateur). Le système a été testé avec Claude Sonnet 5.5. Il est particulièrement utile pour les messageries et Telegram.

Dossier

Questions clés sur cet article

Que sait-on sur Reconnaissance locale et nettoyage dans le cloud ?

La dictée fonctionne via Handy, un logiciel open source basé sur Tauri (licence MIT). La voix est reconnue par Whisper Large v3 Turbo directement sur l'ordinateur : le son ne quitte jamais la machine. Sur une carte graphique RTX 4080 Super, 8 secondes de parole sont reconnues en 0,17 seconde, et 42 secondes en 0,45 seconde. Pour le russe, c'est la version klava-nevinovata qui est utilisée, avec des indices Whisper prêts à l'emploi et une protection contre le bouclage sur le silence. Whisper seul ne suffit pas : un simple remplacement par liste ne fonctionne pas, il faut com

Que sait-on sur La couche intermédiaire et le dictionnaire contextuel ?

L'intermédiaire Chistovik — un seul fichier Python utilisant la bibliothèque standard — se place entre Handy et l'API. Les avantages de cette couche : le prompt et le dictionnaire sont stockés dans des fichiers texte relus à chaque dictée (on corrige une règle, on redicte, sans redémarrage) ; une seule connexion persistante remplace un nouveau client HTTP à chaque requête ; la clé API est stockée dans une variable d'environnement, pas dans les paramètres du logiciel ; un délai d'attente de 10 secondes évite les blocages. Le dictionnaire comprend le contexte. Whisper confond

Que sait-on sur Erreurs d'intégration et leurs solutions ?

Au fil du développement, trois types de problèmes sont apparus. Le modèle répondait à la dictée comme à une requête — le problème a été résolu en plaçant le texte dans une balise <dictation> et en ajoutant une règle claire dans le prompt précisant que les requêtes ne doivent pas être exécutées. Le modèle remplaçait des mots familiers par des formulations formelles — des exemples directement dans le prompt ont aidé : « sympa » reste « sympa », « je m'en fiche » reste « je m'en fiche ». Les erreurs de post-traitement restaient invisibles (Handy insérait silencieusement le tex

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
Qu'en pensez-vous ?
Chargement des commentaires…