Résiliez votre abonnement de dictée IA : un setup push-to-talk 100 % local sur Mac
Maintenez fn, parlez, relâchez, et obtenez un texte propre et formaté dans n'importe quelle app. MacWhisper Pro et un modèle de nettoyage local offrent l'expérience Wispr Flow avec collage instantané, confidentialité totale et sans frais mensuels. Le setup en 10 minutes, le prompt système, et pourquoi le modèle intégré d'Apple bat Ollama au quotidien.
Sur cette page
Je parle plus vite que je ne tape. C’est le cas de la plupart des gens : nous parlons environ trois fois plus vite que nous ne tapons, et l’écart se creuse avec la fatigue. C’est pour cela que les outils de dictée IA comme Wispr Flow ont décollé. Vous maintenez la touche fn, vous parlez, vous relâchez, et quelques centaines de millisecondes plus tard, un texte propre et ponctué apparaît dans l’app active. Pas de “euh”, pas de “hum”, pas de phrase à moitié corrigée en cours de route. La première fois, on dirait de la magie.
Mais il y a deux contreparties. D’abord, un abonnement mensuel qui ne s’arrête jamais. Ensuite, chaque mot prononcé part dans le cloud de quelqu’un d’autre : vos messages Slack, vos e-mails au conseil d’administration, vos notes sur un candidat, vos réflexions sur une acquisition. Pour une grande partie de mon travail, ce second point suffit à tout disqualifier.
J’ai donc reconstruit exactement le même workflow sur mon Mac, entièrement hors ligne. Le même push-to-talk sur fn, le même nettoyage IA instantané, la même sensation de moins d’une seconde. La différence : tout tourne à 100 % en local, fonctionne à 8 000 pieds sans Wi-Fi, et coûte une licence unique au lieu d’une facture à vie.
Cet article décrit le setup complet. Comptez environ 10 minutes.
Pour qui ? Toute personne sur un Mac Apple Silicon qui dicte (ou aimerait le faire) et qui n’aime pas les abonnements, manipule des informations confidentielles, ou les deux.
Mise à jour après usage quotidien : j’ai commencé avec Ollama et un petit modèle open-weight pour le nettoyage IA. Après quelques semaines, j’ai basculé ma dictée de tous les jours sur le modèle on-device intégré d’Apple dans MacWhisper, et c’est le meilleur choix pour la plupart des gens. Le test de réalité plus bas explique pourquoi. Ollama reste dans le guide, comme outil avancé pour les reformatages plus lourds.
L’idée en une phrase
Associez MacWhisper Pro (reconnaissance vocale locale, licence unique) à un modèle de langage local qui nettoie la transcription brute chaque fois que vous relâchez la touche : le modèle on-device intégré d’Apple au quotidien, ou un modèle dans Ollama quand vous voulez plus de contrôle.
Deux étapes, toutes deux sur votre machine :
- De la parole au texte : MacWhisper transforme votre voix en transcription brute, mots de remplissage compris.
- Du texte au texte propre : un LLM local réécrit cette transcription telle que vous vouliez vraiment la dire, puis MacWhisper la colle à l’emplacement du curseur.
Les outils cloud font exactement la même chose. Simplement sur leurs serveurs.
La stack
| Couche | Ce que j’utilise | Pourquoi |
|---|---|---|
| Matériel | N’importe quel Mac Apple Silicon | Grâce à la mémoire unifiée, un modèle de plusieurs gigaoctets se charge depuis le SSD en moins d’une seconde |
| Reconnaissance vocale | MacWhisper Pro | Modèles locaux rapides (Whisper Large-v3 Turbo, NVIDIA Parakeet), dictée dans tout le système, push-to-talk |
| Nettoyage IA (par défaut) | Modèle on-device d’Apple (Apple Intelligence) | Intégré à macOS, instantané, pas de RAM supplémentaire, rien à installer |
| Nettoyage IA (outil avancé) | Ollama sur localhost:11434 avec un modèle sans raisonnement (gemma4:12b, qwen2.5:7b) | Contrôle total du modèle pour les reformatages lourds : longues notes vocales en listes structurées, e-mails formels |
L’enseignement intéressant : le nettoyage est une petite tâche. Vous ne demandez pas au modèle de réfléchir au monde. Vous lui demandez de supprimer les mots de remplissage, de garder la dernière version d’une phrase autocorrigée et de formater des nombres. Un petit modèle on-device le fait très bien. Pas besoin d’un modèle frontier pour cela, et encore moins d’y envoyer vos paroles.
(Pour une vue d’ensemble sur l’exécution de modèles en local, j’ai écrit Exécuter des LLMs locaux sur Apple Silicon et Faire tourner Gemma 4 en local.)
Étape 1 : libérer la touche fn
Par défaut, macOS réserve la touche fn (globe) au sélecteur d’emoji ou à sa propre dictée. Nous la voulons pour nous.
- Ouvrez Réglages Système → Clavier.
- Réglez Appuyer sur la touche 🌐 pour → Ne rien faire.
C’est tout. Plus aucune fenêtre système ne disputera la touche à MacWhisper.
Étape 2 (facultative) : installer Ollama et un modèle local
Si vous utilisez le modèle intégré d’Apple (ma recommandation pour la dictée quotidienne, voir le test de réalité plus bas), vous pouvez sauter cette étape. Il faut simplement qu’Apple Intelligence soit activé dans Réglages Système → Apple Intelligence et Siri. Installez Ollama si vous voulez un contrôle total du modèle ou des reformatages plus lourds.
Téléchargez Ollama pour Mac, installez-le et récupérez le modèle :
ollama pull qwen2.5:7b
Petit test pour vérifier qu’il tourne et qu’il est rapide :
ollama run qwen2.5:7b "Clean this up: euh alors je pense qu'on devrait, hum, se voir mardi, non attends, mercredi vers trois heures"
Quel modèle ? J’ai commencé avec qwen3.5:4b, parce qu’il est minuscule et malin. En pratique, un modèle classique sans raisonnement (non-thinking) convient mieux à la dictée (voir le test de réalité) : gemma4:12b si vous avez 16 à 24 Go de RAM ou plus, ou qwen2.5:7b en option plus légère. Tout modèle plus gros est du gaspillage pour ce nettoyage : vous payez en latence sans presque rien gagner.
Le point mémoire : gardez le délai par défaut de 5 minutes
Par défaut, Ollama décharge un modèle après 5 minutes d’inactivité. Mon premier réflexe a été de le garder en mémoire en permanence. Sur Apple Silicon, c’est inutile.
Grâce à la mémoire unifiée et aux SSD rapides, un modèle de 4 à 8 Go se recharge en une seconde environ dès que vous en avez besoin. Le comportement par défaut est donc idéal : tant que vous dictez, le modèle reste chaud ; quand vous arrêtez, il libère cette RAM pour votre navigateur, votre IDE ou vos conteneurs Docker. Le démarrage à froid se remarque à peine.
Option avancée : si vous dictez en permanence et ne voulez aucun démarrage à froid, gardez le modèle chargé pendant une heure :
launchctl setenv OLLAMA_KEEP_ALIVE "1h"
Quittez puis relancez Ollama pour qu’il prenne la variable en compte. (launchctl setenv ne survit pas à un redémarrage ; relancez la commande ou ajoutez-la à un script de connexion si vous voulez la rendre permanente.)
Étape 3 : assigner le push-to-talk à fn dans MacWhisper
- Ouvrez MacWhisper → Settings → Dictation.
- Réglez le raccourci Push-to-Talk sur la touche
fn. - Choisissez un modèle de transcription local rapide. Whisper Large-v3 Turbo est un excellent polyvalent, surtout si vous passez d’une langue à l’autre ; Parakeet est extrêmement rapide pour l’anglais.
Essayez : maintenez fn, dites une phrase, relâchez. Une transcription brute devrait apparaître au curseur. Pas encore nettoyée. C’est l’étape suivante.
Étape 4 : créer un Dictation Prompt (pas un Transcription Prompt)
C’est l’étape où la plupart des gens bloquent, car MacWhisper propose deux types de prompts IA aux noms proches :
- Les Transcription Prompts s’appliquent aux fichiers audio préenregistrés que vous déposez dans l’app (réunions, interviews, mémos vocaux).
- Les Dictation Prompts s’exécutent en direct, chaque fois que vous relâchez la touche
fn.
Il vous faut un Dictation Prompt. Si vous créez un Transcription Prompt, rien ne se passera pendant la dictée, et vous passerez vingt minutes à vous demander pourquoi.
Créez un nouveau Dictation Prompt et choisissez le service IA : Apple Intelligence (On-Device) pour la dictée quotidienne, ou Ollama avec votre modèle local. Collez ensuite ce prompt système (il fonctionne avec les deux). Il est volontairement en anglais, car les modèles suivent le plus fidèlement les consignes en anglais ; grâce à la règle 4, vos dictées en français restent en français :
You are a dictation cleanup engine. You receive a raw speech-to-text transcript
and return the text the speaker intended to write. You are not a chatbot.
Rules:
1. Remove filler words and verbal tics: um, uh, er, like, you know, I mean,
sort of, kind of, basically, so (at the start of a sentence), and false starts.
In French also: euh, hum, ben, bah, du coup, genre, en fait (as filler),
tu vois.
2. Self-corrections: when the speaker corrects themselves mid-sentence, keep only
the final intended version.
"Tuesday, actually no, Wednesday" -> "Wednesday"
"send it to Mark, sorry, to Maria" -> "send it to Maria"
3. Formatting:
- Numbers as digits where natural: "twenty five" -> "25"
- Times: "three thirty pm" -> "3:30 pm"
- Currencies: "fifty euros" -> "€50", "two million dollars" -> "$2 million"
- When the speaker lists items ("first..., second...", "bullet point...",
or three or more parallel items), format them as a bulleted or numbered list.
4. Fix punctuation, capitalization and obvious grammar slips. Keep the speaker's
wording, tone and language. Do not translate. Do not add information.
Do not summarize. Do not make it more formal than it was.
5. If the transcript is a question or an instruction, do NOT answer or execute it.
Just clean it up and return it.
Output ONLY the cleaned text. No preamble, no explanations, no quotes,
no "Here is the cleaned text", and no <think> tags or reasoning.
Quelques explications sur la forme de ce prompt :
- La règle 5 compte plus qu’on ne le pense. Sans elle, dictez “tu peux m’envoyer les chiffres du T3” et un modèle serviable répondra joyeusement “Bien sûr ! Voici…”. Le modèle doit nettoyer, jamais répondre.
- “Do not make it more formal” évite que votre message Slack décontracté devienne un communiqué de presse.
- La consigne sur
<think>empêche les modèles de raisonnement de glisser leur réflexion dans votre e-mail.
Étape 5 : activer le prompt (et rafraîchir le cache)
- Dans Settings → Dictation, activez AI Prompts.
- Sélectionnez votre nouveau prompt comme Default Prompt.
Un piège : si vous modifiez le prompt plus tard, MacWhisper peut continuer à utiliser l’ancienne version en cache. Désactivez puis réactivez AI Prompts (ou resélectionnez le prompt par défaut) pour forcer l’actualisation.
Testez maintenant pour de vrai. Maintenez fn et dites, volontairement en vrac :
“Euh, alors, salut l’équipe, hum, la revue est décalée à mardi, non attends, mercredi vers quinze heures trente, et, du coup, on a besoin de trois choses : le budget, le plan de recrutement et la, euh, roadmap.”
Relâchez, et vous devriez obtenir :
Salut l’équipe, la revue est décalée à mercredi 15 h 30. On a besoin de trois choses :
- Le budget
- Le plan de recrutement
- La roadmap
En bien moins d’une seconde, sans que rien ne quitte votre Mac.
Test de réalité : Ollama ou le modèle intégré d’Apple
Au départ, je voulais confier le nettoyage du texte à un LLM local dans Ollama (qwen3.5:4b ou gemma4:12b) pour garder un contrôle maximal sur le résultat. À l’usage, deux problèmes sont vite apparus.
Latences cachées et boucles de réflexion. Les modèles de raisonnement modernes comme Qwen 3.5 réfléchissent souvent plusieurs secondes en arrière-plan (balises <think>) avant de produire le texte, lorsqu’on les appelle via l’API. Le prompt peut leur interdire d’afficher ce raisonnement, mais il ne le rend pas gratuit. Cela freine nettement le flux rapide de la dictée, et bloque parfois même le collage automatique.
Consommation de RAM. Un modèle externe de 4B à 12B occupe 4 à 8 Go de mémoire unifiée tant qu’il est chargé, ou doit être rechargé après le déchargement automatique.
La meilleure solution dans 95 % des cas : le modèle d’Apple
Après être revenu dans MacWhisper au modèle système d’Apple (Apple Intelligence, on-device), il était évident que c’est le choix nettement supérieur au quotidien :
- Aucune latence perceptible (collage instantané). Le modèle tourne directement sur le matériel d’Apple : la suppression des mots de remplissage (“euh”, “du coup”, “genre”), la grammaire et la ponctuation sont corrigées pratiquement sans délai après avoir relâché
fn. - Pas de RAM supplémentaire, pas de setup encombrant. Aucun serveur Ollama séparé ne tourne en arrière-plan, et aucune mémoire n’est retirée à vos autres apps.
- Parfaitement stable. Pas de timeouts d’API, pas de files d’attente bloquées, et aucune sortie de raisonnement indésirable dans le texte.
Ma recommandation : utilisez le modèle Apple intégré dans MacWhisper pour la dictée quotidienne. Il offre exactement la sensation Wispr Flow sans délai, sans maintenance. Ne passez à Ollama, idéalement avec un modèle classique sans raisonnement comme gemma4:12b ou qwen2.5:7b, que pour des reformatages complexes, comme transformer de longues notes vocales en listes à puces structurées ou en e-mails formels. Avec un App Specific Prompt ou un second Dictation Prompt, le changement se fait en un clic.
Astuce avancée : hold-to-talk avec un bouton de pouce de la souris
Une fois la dictée par fn en place, une autre habitude de Wispr Flow vaut la peine d’être copiée : dicter avec un bouton de souris. Quand une main est déjà sur la souris (relecture d’un document, navigation dans un design, rotation d’un modèle CAO), aller chercher fn casse le flux. Un bouton de pouce que vous maintenez en parlant, non.
Pourquoi il faut un petit pont
MacWhisper n’accepte que des raccourcis clavier. Et les pilotes de souris propriétaires, comme 3DxWare de 3Dconnexion pour la CadMouse Pro ou Logitech Options+, interceptent généralement les boutons avant que macOS ne les voie, et ne savent pas les associer à la touche fn seule.
La solution est un pont en deux étapes : le logiciel de la souris envoie une touche de fonction inutilisée (F19), et Karabiner-Elements (gratuit, open source) transforme F19 en fn. Résultat : un vrai hold-to-talk à la souris et au clavier en même temps.
Bouton de pouce -> F19 (logiciel souris) -> fn (Karabiner-Elements) -> push-to-talk MacWhisper
Mise en place
1. Associer le bouton de pouce à F19 dans le logiciel de la souris
Ouvrez l’utilitaire de votre souris (par exemple Réglages Système → 3Dconnexion / 3DxWare, ou Logitech Options+). Vérifiez que Any Application / All Applications est sélectionné pour que l’association s’applique à tout le système, choisissez votre bouton de pouce et assignez-lui la touche F19. Presque aucun clavier n’a de touche F19, donc aucun conflit possible.
2. Relier F19 à fn dans Karabiner-Elements
- Ouvrez les Karabiner-Elements Settings et cliquez sur Simple Modifications (premier élément de la barre latérale gauche).
- Laissez For all devices sélectionné dans la colonne du milieu, puis cliquez sur + Add item dans le panneau de droite.
- Cliquez sur la liste déroulante de gauche (
---), faites défiler la longue liste jusqu’à la section Function keys et choisissezf19. - Cliquez sur la liste déroulante de droite (
---), faites défiler jusqu’à la section Modifier keys et choisissezfn.
3. Tester le hold-to-talk à une main
Cliquez dans n’importe quel champ de texte, maintenez le bouton de pouce, parlez, puis relâchez. Karabiner traduit l’appui en un maintien continu de fn, ce qui déclenche MacWhisper et votre prompt de nettoyage local sans toucher au clavier. Votre touche fn fonctionne toujours exactement comme avant.
Bonus : les App Specific Prompts
La seule chose que les outils cloud font et que ce setup ne fait pas d’emblée : la prise en compte du contexte à l’écran. Ils détectent l’app dans laquelle vous êtes et adaptent le ton.
La réponse de MacWhisper, ce sont les App Specific Prompts, et franchement je les préfère, parce que c’est explicite. Dupliquez votre Dictation Prompt et associez des variantes à certaines apps :
- Slack / Messages : ton décontracté, phrases courtes, pas de formule d’appel ni de politesse.
- Mail : vrais paragraphes, phrases complètes, un peu plus formel.
- Votre IDE / Claude Code / terminal : termes techniques, noms de fichiers et identifiants de code exactement comme prononcés, pas de listes, pas d’emoji.
Dix minutes de configuration, et vous obtenez un contrôle du ton déterministe plutôt que deviné.
Ce que vous gagnez, ce que vous concédez
Ce que vous gagnez
- Pas d’abonnement mensuel. Une licence MacWhisper Pro unique et le modèle déjà intégré à votre Mac (ou des modèles open-weight gratuits). C’est toute la facture.
- Confidentialité 100 % hors ligne. Rien n’est envoyé. Idéal pour les documents confidentiels du conseil, les entretiens RH, les notes médicales ou juridiques, et tout ce qui est sous NDA.
- Fonctionne partout. En avion, en train, à l’hôtel avec un Wi-Fi désastreux. Pas de réseau, pas de problème.
- Vitesse et précision quasi identiques. Pour la dictée quotidienne, je ne vois honnêtement aucune différence.
- Contrôle total. Le prompt vous appartient. Si le nettoyage fait quelque chose qui vous déplaît, vous changez une ligne au lieu de soumettre une demande de fonctionnalité.
Ce que vous concédez
- Environ 10 minutes de configuration au lieu d’un onboarding plug-and-play.
- Pas de prise en compte automatique du contexte à l’écran. Les App Specific Prompts couvrent 90 % du besoin, mais c’est à vous de les configurer.
- Votre Mac fait le travail. Avec le modèle d’Apple, c’est pratiquement gratuit. Si vous choisissez Ollama, prévoyez 4 à 8 Go de RAM tant que le modèle est chargé.
Pourquoi cela dépasse la dictée
La dictée est un exemple parfait d’un schéma que je rencontre sans cesse : beaucoup de “fonctionnalités IA” sont de petites transformations bien définies qu’un modèle local gère aussi bien qu’un modèle frontier. Nettoyer une transcription, extraire des champs, reformater du texte, classer un message. Pas besoin d’un datacenter pour cela. Il faut un petit modèle, un prompt strict et une machine rapide, et Apple Silicon (qui embarque désormais ce petit modèle) rend cette combinaison presque gratuite.
Chaque fois que vous trouvez un cas comme celui-ci, vous vous débarrassez d’un coup d’un abonnement, d’un risque pour la confidentialité et d’une dépendance au réseau. Un échange qui en vaut la peine.
Maintenez fn. Parlez. Relâchez. Et gardez vos mots sur votre propre machine.
Articles liés
Exécuter des LLMs locaux - Qwen3-Coder, DeepSeek, MLX et Apple Silicon
Un guide pratique pour exécuter des modèles de langage puissants localement sur Apple Silicon - sélection de modèles, MLX vs Ollama, compromis de quantification et quand le local bat le cloud.
Brancher Gemma 4 sur Claude Code - un setup local-plus-cloud qui fonctionne
Guide pas-à-pas pour faire tourner Gemma 4 en local via LM Studio et l'appeler depuis une session Claude Code - pour le raisonnement hors ligne, le traitement par lots, les données sensibles, et des brouillons gratuits qui passent ensuite la main à Claude quand il faut sortir l'artillerie lourde.
Gemma 4 en local : classe frontière, coût zéro
Le modèle Gemma 4 26B de Google tourne localement sur Apple Silicon et se situe à quelques points de GPT-5.2 et Claude Opus 4.5 sur les benchmarks de raisonnement - redéfinissant le workflow hybride local-cloud pour le codage assisté par IA.