Skip to content

jafreck/murmur

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

147 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

murmur

100% on-device voice dictation. Your audio never leaves your machine.

CI License: MIT Rust Platform

Worry free speech to text. No cloud, no API keys, no data collection.

How It Works

  1. Hold the hotkey (default: Right Option on macOS, Right Alt on Windows/Linux)
  2. Speak naturally
  3. Release β€” transcribed text is pasted at your cursor

Features

πŸ€– AI-Powered Transcription

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

⚑ What Murmur Adds on Top of Whisper

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

πŸ”’ Privacy

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.

πŸš€ Performance

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

Install

Quick install (recommended)

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 | bash

Windows (PowerShell):

irm https://github.com/jafreck/murmur/releases/latest/download/install.ps1 | iex

The 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.0

Homebrew (macOS / Linux)

brew install jafreck/murmur/murmur

From source

git clone https://github.com/jafreck/murmur.git
cd murmur
cargo build --release

The binary is at target/release/murmur.

GPU acceleration (optional)

# macOS Apple Silicon (Metal)
cargo build --release --features metal

# NVIDIA (CUDA)
cargo build --release --features cuda

# Cross-vendor (Vulkan)
cargo build --release --features vulkan

From crates.io

cargo install murmur

Usage

# 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 status

Configuration

Edit 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": []
}

Models

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 (faster alternatives)

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

Platform Notes

  • 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 input group for hotkey detection

Uninstall

macOS / Linux:

curl -sSfL https://github.com/jafreck/murmur/releases/latest/download/uninstall.sh | bash

Windows (PowerShell):

irm https://github.com/jafreck/murmur/releases/latest/download/uninstall.ps1 | iex

Removes the binary, service/startup config, and logs. Prompts before deleting user config and downloaded models.

murmur-copilot

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.

License

MIT

Contributing

git config core.hooksPath .githooks

This enables the pre-push hook which runs cargo fmt --check and cargo clippy before each push.

About

Local-only, cross platform AI-based speech to text

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors