Zaki Gouizi
English

Application personnelle · macOS · octobre 2026

Murmur

Murmur est une application de dictée pour macOS qui utilise une reconnaissance vocale locale. Elle permet de passer d’une parole en français ou en anglais à du texte, avec une étape de reformulation facultative, tout en exécutant le traitement sur l’ordinateur. Le projet a commencé par mesurer les capacités de la machine avant de devenir une application native dans la barre de menus.

Partir de la machine

Murmur est une application de dictée en français et en anglais fondée sur la reconnaissance vocale locale. J'ai commencé par mesurer ce qu'un Mac Intel pouvait faire tourner, puis construit une application native dans la barre de menus autour de l'enregistrement, de la transcription et d'une correction de texte facultative.

La machine de test disposait d'un Intel Core i7 à six cœurs et de 16 Go de mémoire. Lors des tests CPU enregistrés, le moteur de transcription a traité deux extraits synthétiques de 20 secondes, l'un en français et l'autre en anglais, en environ 3,74 secondes chacun. Ces mesures incluaient le démarrage et le chargement du modèle, mais pas l'enregistrement ni l'interface. Elles constituaient un point de départ, pas une mesure de précision sur la parole quotidienne.

Séparer la reconnaissance de la correction

Whisper produit la transcription brute. Une étape Qwen facultative permet de corriger le texte tout en conservant l'original. La détection de parole aide à gérer les silences, et une transcription vide ne déclenche pas de correction.

L'application intègre des moteurs et modèles existants avec whisper.cpp et llama.cpp. Mon travail portait sur l'application et la coordination de ces composants.

Soigner ce qui entoure le traitement

Une grande partie du travail concernait l'annulation, les erreurs, l'historique et l'insertion du texte. Annuler une tâche doit arrêter ses processus. Une correction qui échoue doit laisser le texte original récupérable. Si l'utilisateur change de fenêtre, l'application doit éviter d'insérer du texte au mauvais endroit.

L'application Swift gère ces états et propose l'insertion ou le passage par le presse-papiers. Le dispositif de benchmark Python reste séparé de son fonctionnement.

État actuel

Le projet a abouti à une application installée localement, avec des vérifications documentées des moteurs et de leur exécution. Les essais plus larges sur le bureau restent incomplets, notamment pour les raccourcis physiques, le microphone et l'insertion dans différentes applications. C'est une application personnelle en développement.

Murmur représente une partie de l'ingénierie que j'apprécie : prendre un modèle capable et construire ce qui lui permet de trouver sa place dans une tâche courante.