Local voice dictation for macOS. Press a key, speak, and get clean text right where your cursor is — 100% on your Mac.
Murmure is a tiny menu-bar app. You hold a key, talk, and it transcribes your speech locally (no cloud, no account), runs it through a local AI to clean up filler words and punctuation, and pastes the result at your cursor — in any app, including the browser.
It's the privacy-respecting, free, open-source take on tools like Wispr Flow or Typeless.
- Truly private — speech recognition (whisper.cpp) and AI cleanup (LM Studio / Ollama) run entirely on your Mac. Nothing ever leaves the machine.
- Clean text, not a transcript — a local LLM removes "um", "uh", stutters and repetitions, fixes punctuation and casing, while keeping your words and style.
- Pastes anywhere — native fields, Electron apps, and web inputs (Chrome included).
- Live feedback — a Spotlight-style bar shows a real-time audio spectrum while you speak, then a thinking indicator while it processes.
- Live preview — your words appear in real time above the overlay as you talk (Apple's on-device speech), then vanish; the final pasted text still comes from whisper.
- Learns your vocabulary — correct a transcript and Murmure remembers the term, then reuses it to transcribe better next time.
- Editable shortcuts — rebind every command from the menu, with conflict warnings.
- Parallel dictations — fire several at once; they're delivered in the order you started them, so your text never gets scrambled.
- Mutes system audio while recording (like Typeless), and restores it after.
- English & French interface, switchable from the menu.
Installs the dependencies, downloads the speech model, builds and signs the app, and launches it. Everything works out of the box:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Hugo291/Murmure/main/install.sh)"The installer pulls in Homebrew, whisper-cpp, LM Studio and ollama if you don't already have them.
Grab the latest Murmure.dmg, open it, and drag Murmure into Applications.
Murmure is free and self-signed (not notarized by Apple), so the first launch needs one extra step:
- Double-click Murmure → macOS says it can't verify the developer. Click Done.
- Open System Settings › Privacy & Security, scroll down, and click Open Anyway next to the Murmure message — then confirm.
(Equivalent in Terminal:
xattr -dr com.apple.quarantine /Applications/Murmure.app.)
The DMG ships the app only — the speech and AI engines aren't bundled. Install them once with Homebrew:
brew install whisper-cpp ollama # speech-to-text + local AI cleanupThen, from Murmure's menu, download a transcription model and an AI model in one click each.
Requirements: macOS 14 (Sonoma) or later.
Murmure lives in the menu bar (the 🎙 mic, top-right). On first run, grant three permissions in System Settings › Privacy & Security:
| Permission | Why |
|---|---|
| Microphone | to hear you |
| Input Monitoring | to detect the Fn key globally |
| Speech Recognition | optional — for the real-time live preview (on-device) |
| Accessibility | to paste text at the cursor |
Tip: in System Settings › Keyboard, set "Press 🌐/Fn key to" → "Do Nothing" so Fn is free for dictation.
| Shortcut | Action |
|---|---|
| Fn | Start / stop dictation (tap to start, tap again to transcribe & paste) |
| Esc | Cancel the current recording or processing |
| ⌘L | Paste the last dictation again |
| ⌘R | Rewrite the selected text (strip filler & repetition, keep the meaning) |
All shortcuts are editable: menu › Settings › Commands › Edit shortcuts…
Press Fn, talk, press Fn again. The text lands at your cursor. That's it.
Fn ─► record (AVAudioEngine) ─► whisper.cpp (large-v3-turbo) ─► local LLM (Ollama) ─► paste at cursor
live spectrum overlay on-device transcription filler/punctuation cleanup
Everything runs locally. The speech model (large-v3-turbo, ~1.5 GB) lives in
~/Library/Application Support/Murmure/. AI cleanup prefers LM Studio (MLX models —
the best option on Apple Silicon) and falls back to Ollama automatically if LM Studio
isn't running, so cleanup always works.
Tune all of this from Settings:
- AI touch-up — raw text, light cleanup (default), or full rewrite.
- AI engine — pick any model already installed in Ollama or LM Studio (the menu lists them live). If you have none, Download a model… fetches Gemma in one click — for Ollama (
ollama pull) or LM Studio (MLX). Test current model benchmarks its response time. - Transcription model — choose among the whisper models you have, or Download a model… to grab another size (tiny → large-v3) from Hugging Face in one click, with a live progress bar.
- Dictation language — French, English, or auto.
- Language — interface language (English by default, French available).
Murmure makes zero network requests for its core function. Audio, transcripts and your learned vocabulary stay in ~/Library/Application Support/Murmure/ on your Mac. The real-time live preview uses Apple's speech recognition with requiresOnDeviceRecognition = true, so it stays on-device too. The only downloads are the one-time model files (from Hugging Face / Ollama) during install.
git clone https://github.com/Hugo291/Murmure.git
cd Murmure
./install.sh # full setup (deps + model + build + launch)
# or, if deps are already in place:
./build.sh # just build & sign Murmure.app into ~/Applications
swift build # plain debug buildPure Swift / AppKit, built with SwiftPM — no Xcode project required.
- Swift 6 · AppKit · SwiftUI (settings windows)
- whisper.cpp for on-device transcription
- Ollama / LM Studio for local LLM cleanup
- Accelerate / vDSP for the live spectrum and voice-activity gate
CGEventTapfor global shortcuts, the Accessibility API for cursor-position pasting
Issues and pull requests are welcome. Murmure is intentionally small and focused — please open an issue to discuss larger changes first.
MIT © 2026 Hugo. Use it, fork it, ship it.