100% on-device voice dictation. Your audio never leaves your machine.
Worry free speech to text. No cloud, no API keys, no data collection.
- Hold the hotkey (default:
Right Optionon macOS,Right Alton Windows/Linux) - Speak naturally
- Release β transcribed text is pasted at your cursor
Murmur runs OpenAI Whisper β a state-of-the-art speech recognition model β entirely on your machine via whisper.cpp.
- Accurate speech recognition β Whisper was trained on 680,000 hours of multilingual audio, delivering near-human accuracy
- 90+ languages β transcribe in your language or auto-detect it, with optional translate-to-English mode
- Smart vocabulary biasing β provide domain-specific terms and Murmur prioritizes them during transcription using intelligent prompt engineering that ranks novel multi-token terms higher
- Context-aware formatting β detects the active application and adjusts transcription formatting automatically
Raw Whisper is a CLI inference tool. Murmur turns it into a seamless dictation system:
- Two recording modes β Push to Talk (hold to record) or Open Mic (toggle on/off), with instant paste at your cursor that preserves clipboard contents
- Live streaming (preview) β see partial transcriptions appear in real time as you speak
- Spoken punctuation β say "period", "comma", "question mark", "new paragraph", etc. and they're converted to symbols
- Filler word removal β automatically strips "um", "uh", "er", "ah", and other verbal fillers
- Noise suppression β built-in audio denoising cleans up background noise before transcription
- Speech detection β voice activity detection and hallucination filtering ensure only real speech is transcribed
- System tray UI β control model, language, mode, hotkey, and all settings from the menu bar
100% local. Audio is captured, transcribed on your CPU/GPU, and discarded. No network requests are ever made except to download the Whisper model on first run.
Murmur is built in Rust with an optimized audio pipeline designed for low-latency dictation:
| Metric | Detail |
|---|---|
| Pre-roll buffer | 200 ms of audio captured before you press the hotkey β your first words are never clipped |
| Minimum audio | Processes recordings as short as 0.25 seconds |
| Streaming latency | Partial results update every ~300 ms while speaking |
| In-memory pipeline | Zero disk I/O by default β audio is recorded and transcribed entirely in memory |
| GPU acceleration | Metal (Apple Silicon), CUDA (NVIDIA), and Vulkan (cross-vendor) for faster-than-real-time inference |
| Distil-Whisper | Distilled models run significantly faster while maintaining near-original accuracy |
Pre-built binaries β no build tools required. macOS Apple Silicon builds include Metal GPU acceleration.
macOS / Linux:
curl -sSfL https://github.com/jafreck/murmur/releases/latest/download/install.sh | bashWindows (PowerShell):
irm https://github.com/jafreck/murmur/releases/latest/download/install.ps1 | iexThe installer downloads the correct binary for your platform, installs it, and registers murmur as a service that starts at login.
To install a specific version:
# macOS / Linux
MURMUR_VERSION=v0.1.0 bash <(curl -sSfL https://github.com/jafreck/murmur/releases/latest/download/install.sh)
# Windows
.\scripts\install.ps1 -Version v0.1.0brew install jafreck/murmur/murmurgit clone https://github.com/jafreck/murmur.git
cd murmur
cargo build --releaseThe binary is at target/release/murmur.
# macOS Apple Silicon (Metal)
cargo build --release --features metal
# NVIDIA (CUDA)
cargo build --release --features cuda
# Cross-vendor (Vulkan)
cargo build --release --features vulkancargo install murmur# Start the dictation daemon (system tray)
murmur start
# Download a specific model
murmur download-model base.en
# Set the hotkey
murmur set-hotkey ctrl+shift+space
# Show status
murmur statusEdit the config file:
- macOS:
~/Library/Application Support/murmur/config.json - Windows:
%APPDATA%\murmur\config.json - Linux:
~/.config/murmur/config.json
{
"hotkey": "ctrl+shift+space",
"model_size": "base.en",
"language": "en",
"spoken_punctuation": false,
"filler_word_removal": false,
"noise_suppression": true,
"translate_to_english": false,
"max_recordings": 0,
"mode": "push_to_talk",
"streaming": false,
"vocabulary": []
}murmur uses OpenAI Whisper models running locally via whisper.cpp. Models are downloaded in GGML format on first run.
| Model | Disk Size | Memory | Speed | Accuracy | Best for |
|---|---|---|---|---|---|
tiny.en |
75 MB | ~273 MB | Fastest | Lower | Quick notes |
base.en |
142 MB | ~388 MB | Fast | Good | Most users (default) |
small.en |
466 MB | ~852 MB | Moderate | Better | Technical terms |
medium.en |
1.5 GB | ~2.1 GB | Slower | Great | Maximum accuracy |
large-v3-turbo |
1.6 GB | ~2 GB | Moderate | Great | Multilingual |
large |
3 GB | ~3.9 GB | Slowest | Best | Highest accuracy |
Distil-Whisper models are distilled versions that run significantly faster while maintaining near-original accuracy. English-only.
| Model | Disk Size | Memory | Speed | Accuracy | Best for |
|---|---|---|---|---|---|
distil-large-v3 |
~1.5 GB | ~2β3 GB | Fast | Great | Best distilled quality |
- macOS: Requires Accessibility and Microphone permissions
- Windows: May need to allow through antivirus (keyboard hook for hotkey detection)
- Linux (X11): Works out of the box
- Linux (Wayland): User must be in the
inputgroup for hotkey detection
macOS / Linux:
curl -sSfL https://github.com/jafreck/murmur/releases/latest/download/uninstall.sh | bashWindows (PowerShell):
irm https://github.com/jafreck/murmur/releases/latest/download/uninstall.ps1 | iexRemoves the binary, service/startup config, and logs. Prompts before deleting user config and downloaded models.
murmur-copilot is a real-time meeting assistant built on top of murmur. It provides a transparent overlay that live-transcribes meetings, captures both your microphone and remote participants' system audio, and offers LLM-powered suggestions and summaries β all running locally.
Key features: live dual-stream transcription, AI suggestions via Ollama, stealth mode (macOS), meeting session history with export.
See crates/murmur-copilot/README.md for build instructions, configuration, and usage.
MIT
git config core.hooksPath .githooksThis enables the pre-push hook which runs cargo fmt --check and cargo clippy before each push.