~/docs

$man murmur

murmur(1) · user manual · murmur(1)

name

murmur: AI voice-to-text dictation for Linux

description

Murmur is a voice dictation app built specifically for Linux. Press a hotkey, speak, and your words appear wherever your cursor is. Any app, any text field.

The free version runs entirely offline using whisper.cpp. Nothing is sent over the network, ever. No account needed, no telemetry, no tracking. Your voice stays on your machine.

Murmur Pro adds optional cloud engines (Groq Whisper, Deepgram Nova-3) for users who want faster or more accurate transcription. When using a cloud engine, your audio is sent directly to that provider for processing. Murmur never sees or stores it. Cloud features are always opt-in. The local engine works with no internet connection at all.

quick start

1. Install Murmur (instructions below, or see download).

2. Launch the app. A small widget appears on your desktop.

3. Hold your hotkey. The default is Ctrl+Shift+Space.

4. Speak normally. No need to talk slowly or enunciate.

5. Let go. Your words appear at the cursor, typed into whatever app you're using.

On first launch, Murmur downloads the default speech model (~75 MB). After that, it starts in under a second.

requirements

Operating system: Linux. Tested on Ubuntu 22.04+ and Fedora 38+. Arch support planned via AUR. Should work on most modern distros that support PipeWire or PulseAudio.

Audio: PipeWire or PulseAudio. Most modern Linux distros include one of these by default. If you can hear sound on your computer, you probably have it.

Text injection: To type text directly into apps, Murmur needs xdotool (if you use X11) or wtype (if you use Wayland). These are small packages that handle sending keystrokes to other applications.

Not sure which display server you use? Most older setups are X11. Ubuntu 22.04+ and Fedora 38+ default to Wayland. You can check by running echo $XDG_SESSION_TYPE in a terminal.

If xdotool/wtype aren't installed, Murmur still works. It just copies text to your clipboard instead of typing it directly. You can then paste with Ctrl+V.

install dependencies (if needed)
sudo apt install xdotool wtype

install

Three ways to install. Pick whichever suits your setup.

apt repository (recommended, auto-updates)
curl -fsSL https://murmurlinux.github.io/apt/gpg.key | sudo tee /etc/apt/keyrings/murmur.asc > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/murmur.asc] https://murmurlinux.github.io/apt/ stable main" | sudo tee /etc/apt/sources.list.d/murmur.list
sudo apt update && sudo apt install murmur

This adds the Murmur repository to your system. Future updates arrive automatically via sudo apt upgrade.

.deb direct download
wget https://github.com/murmurlinux/murmur/releases/download/v0.3.6/Murmur_0.3.6_amd64.deb
sudo dpkg -i Murmur_0.3.6_amd64.deb
appimage (portable, auto-updates on launch)
wget https://github.com/murmurlinux/murmur/releases/download/v0.3.6/Murmur_0.3.6_amd64.AppImage
chmod +x Murmur_0.3.6_amd64.AppImage
./Murmur_0.3.6_amd64.AppImage

AppImages run without installing. Just download, make executable, and run. The app checks for updates each time it launches.

distro
format
size
status
Ubuntu / Debian / Mint
APT repo / .deb
~15 MB
[stable]
Fedora / RHEL / openSUSE
.AppImage
~18 MB
[stable]
Arch / Manjaro
AUR
[planned]
Flathub
.flatpak
[planned]
Snap Store
.snap
[planned]

uninstall

To remove Murmur and its repository:

remove the app
sudo apt remove murmur
remove the repository (optional)
sudo rm /etc/apt/sources.list.d/murmur.list
sudo rm /etc/apt/keyrings/murmur.asc

For AppImage, just delete the .AppImage file. No system changes to undo.

User settings live in ~/.local/share/com.murmurlinux.murmur/. Delete that folder to remove all settings, models, and data.

usage

How dictation works:

Open any app where you can type. Click to place your cursor. Hold your hotkey and speak. When you release, Murmur transcribes your speech and types the result at your cursor, as if you'd typed it by hand.

Recording modes:

There are two ways to record. You can switch between them in settings.

hold (default): hold the hotkey down while you speak. Let go when you're done. Simple and predictable.

tap: press the hotkey once to start recording, press again to stop. In this mode, Murmur also listens for silence and auto-stops when you finish speaking, so you don't always need to press twice.

Where does the text go?

Murmur types directly into whatever app has focus, using xdotool (X11) or wtype (Wayland). It works in terminals, browsers, text editors, chat apps, code editors, email, anything with a text cursor. If xdotool or wtype aren't installed, the text goes to your clipboard instead, and you paste with Ctrl+V.

System tray:

You can hide the desktop widget and Murmur moves to your system tray. Right-click the tray icon to show/hide the widget, open settings, toggle always-on-top, or quit. The tray tooltip shows whether Murmur is idle, recording, or transcribing.

configuration

Open settings by clicking the gear icon on the widget. All options are also available in the settings file if you prefer to edit directly.

Settings file: ~/.local/share/com.murmurlinux.murmur/settings.json

hotkey
the keyboard shortcut that starts and stops dictation. default: Ctrl+Shift+Space. you can change this to any key combination.
model
which whisper model to use. tiny.en is the fastest, small.en is the most accurate, base.en is a good middle ground. models download automatically the first time you select them.
language
what language you're speaking. default: en (English). Murmur supports 99+ languages via Whisper.
translate
when on, translates non-English speech into English. useful if you speak one language and want to type in English. default: off.
record mode
hold (hold the hotkey to record) or tap (press once to start, again to stop). default: hold.
auto-stop
voice activity detection. Murmur listens for silence and stops recording automatically when you finish speaking. default: on.
always on top
keeps the widget above other windows so it's always visible. default: on.
start on login
launches Murmur automatically when you log into your computer. default: off.
accent colour
changes the glow colour on the widget. purely cosmetic. default: #10b981 (teal).

whisper models

Murmur uses whisper.cpp to transcribe your speech locally. You choose which model to use based on how fast you want results and how accurate you need them to be. Models download automatically from Hugging Face when you first select them. Each download is SHA256-verified.

model
size
speed
accuracy
tiny.en
75 MB
~3-4s
good
base.en
142 MB
~8-10s
better
small.en
466 MB
~20-30s
best

Speed estimates are based on ~10 seconds of speech on a modern CPU without GPU acceleration. With Vulkan GPU acceleration enabled, all models run significantly faster. Most people start with tiny.en and move up if they need better accuracy.

engines (pro)

The free version always uses the local whisper engine. Nothing goes online.

Pro subscribers can optionally switch to cloud-based engines for faster and more accurate results. Cloud features are opt-in. When you enable a cloud engine, your audio is sent to the provider you select for transcription. Murmur does not retain your audio. The local engine continues to run 100% offline.

groq whisper
the same Whisper model, but running on Groq's cloud hardware. Faster than realtime. Good choice if you want the local Whisper quality but don't want to wait.
deepgram nova-3
a purpose-built commercial speech model. Highest accuracy, especially for professional and technical vocabulary.

You can switch between local and cloud engines at any time in settings.

build from source

If you want to build Murmur yourself instead of using a pre-built package:

prerequisites (ubuntu / debian)
sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev xdotool wtype
clone and build
git clone https://github.com/murmurlinux/murmur.git
cd murmur
pnpm install
pnpm tauri build

You'll need Rust (stable, latest) and Node.js 18+ with pnpm. The built binary ends up in src-tauri/target/release/murmur.

project structure

repository layout
murmur/
  src/                    SolidJS frontend
    components/           UI components
    lib/                  Utilities (settings, colour)
    assets/               Static assets
  src-tauri/              Rust backend
    src/
      audio/              Audio capture (cpal)
      commands/           Tauri IPC commands
      inject/             Text injection (xdotool/wtype)
      stt/                Speech-to-text (whisper.cpp)
      lib.rs              App setup + state

tech stack

backend
Rust + Tauri 2
frontend
SolidJS + TypeScript
stt engine
whisper.cpp (via whisper-rs)
audio
cpal (PipeWire / PulseAudio)
text inject
xdotool (X11), wtype (Wayland)
build
Vite 6 + Cargo

troubleshooting

Nothing happens when I press the hotkey.

First, make sure Murmur is actually running. Check your system tray for the Murmur icon. If it's not there, launch the app. If it is there, the hotkey might be conflicting with another app. Try changing the hotkey in settings to something else (like Ctrl+Alt+Space) and see if that helps.

I can hear Murmur recording, but no text appears.

This usually means the text injection tool isn't installed. Murmur needs xdotool (on X11) or wtype (on Wayland) to type text into other apps. Run sudo apt install xdotool wtype to install both. Without them, Murmur copies text to your clipboard instead. You can paste with Ctrl+V.

My microphone isn't being detected.

Make sure your mic is plugged in and not muted at the system level. Check your system sound settings to confirm the correct input device is selected. If you're on PipeWire or PulseAudio, you can list available inputs by running pactl list sources short in a terminal.

The transcription is inaccurate or contains phantom words.

If you're seeing words like "Thank you" or musical notes that you didn't say, that's a known Whisper quirk when it processes silence. Murmur trims trailing silence automatically to reduce this. If it keeps happening, try switching to a larger model (base.en or small.en) for better accuracy. Speaking clearly and avoiding long pauses also helps.

The hotkey doesn't work on Wayland.

Some Wayland compositors (like GNOME on Wayland) restrict global hotkeys by default. You may need to grant permission through your compositor's settings. Check your desktop environment's documentation for "global shortcuts" or "input capture" protocols. This is a Wayland platform limitation, not a Murmur bug.

Model download fails or is very slow.

Whisper models download from Hugging Face the first time you use them. If your network is slow or blocks Hugging Face, you can download the model manually and place it in ~/.local/share/com.murmurlinux.murmur/models/. Model files are available on the whisper.cpp Hugging Face page.

Still stuck?

Pro users can run murmur-cli doctor to diagnose common issues automatically. Everyone is welcome to email us at hello@murmurlinux.com. We're less judgemental than Stack Overflow.

contributing

We welcome contributions. Fork the repo, create a branch, make your changes, and open a PR. Use conventional commit format (feat:, fix:, docs:). Run cargo fmt before committing. Full guide: CONTRIBUTING.md.

license

GPL-3.0. Free and open source. Read the code, verify the privacy claims, contribute features.

see also

download(1) · changelog(1) · pricing(7) · privacy(7) · about(7)

download freeget progithub
$