Zaki Gouizi
Français

Personal application · macOS · October 2026

Murmur

Local French and English dictation, from a spoken thought to usable text.

Start with the machine

Murmur is a French and English dictation app built around local speech recognition. I started by measuring what an Intel Mac could run, then built a native menu-bar application around recording, transcription and optional text cleanup.

The benchmark machine had a six-core Intel Core i7 and 16 GB of memory. In recorded CPU tests, the transcription engine processed separate 20-second synthetic French and English clips in approximately 3.74 seconds each. These measurements included model startup and loading, but excluded recording and interface overhead. They were a useful starting point, not a measure of accuracy on everyday speech.

Separate recognition from editing

Whisper produces the raw transcript. An optional Qwen stage cleans up the text, while the original remains available. Speech detection helps handle silence, and empty recognition skips the cleanup stage.

The app integrates existing engines and models through whisper.cpp and llama.cpp. My work was building the application and coordinating those components.

Make the surrounding behavior dependable

Much of the work concerned what happens around inference: cancellation, errors, history and text insertion. Cancelling a task needs to stop its processes. A failed cleanup should leave the original text recoverable. If the user changes focus, the app needs to avoid inserting text into the wrong place.

The Swift application handles these states and provides insertion or clipboard paths. It also keeps the Python benchmarking setup separate from the app's runtime.

Current state

The project produced a locally installed app with recorded engine and lifecycle checks. Broader desktop testing—including physical shortcuts, microphone behavior and insertion across applications—remains incomplete. It is a personal application under development.

Murmur captures a part of engineering I enjoy: taking a capable model and doing the surrounding work that lets it fit into an ordinary task.