Murmur is a minimalist system tray application for recording audio and transcribing it to text using local whisper.cpp models.
- Local Transcribing: Uses
whisper.cppfor privacy and speed. - System Tray: Minimalist menu in your system tray.
- Hotkey Support: Start/Stop recording with controls.
- Nix-Powered: Fully reproducible environment with managed dependencies.
- Model Management: Models are managed automatically via Nix Store.
- Nix with Flakes enabled.
-
Build:
nix build
If a hash mismatch occurs, copy the "got" hash from the error and update
flake.nix. -
Run:
./result/bin/murmur
Configure via environment variables:
MURMUR_LIMIT: Max recording duration (e.g.2m,90s, or60for 60 seconds). Defaults to60s.MURMUR_MODEL_PATH: Path to the whisper.cpp model file.MURMUR_ICON_PATH: Path to system tray icon.
Add to your home.nix:
{ inputs, ... }: {
# Add the flake to your flake inputs first:
# inputs.murmur.url = "github:MrKoberma/murmur";
home.packages = [ inputs.murmur.packages.${pkgs.system}.default ];
systemd.user.services.murmur = {
Install = { WantedBy = [ "graphical-session.target" ]; };
Service = {
ExecStart = "${inputs.murmur.packages.${pkgs.system}.default}/bin/murmur";
Restart = "always";
};
};
}arecord(ALSA)whisper-cli(whisper.cpp)xclip