Murmurly
Menu-bar app · macOS 15+ · Apple silicon · Free, MIT

Never forget to hit record.

Murmurly starts recording when your call starts and stops when it ends. Any app, any call. Speech is recognized on your Mac — nothing is uploaded.

No account. No subscription. No analytics.

Calls

It records on its own, so you don't have to remember.

When any app takes the microphone — Zoom, Google Meet in a browser, Telegram, FaceTime — recording starts. It stops 30 seconds after the call ends.

A call is detected by the microphone, not by a list of “supported services”, so it works with all of them. Don't want an app recorded? Exclude it with one command from the menu.

Recording meeting · 12:41 · ⌥⇧R stops this recording
Google Meet in Chrome took the microphone
Recording started · 2 tracks
Microphone released
Saved · transcribing…

Privacy

Your voice stays on your Mac.

Speech recognition runs on-device. Murmurly never sends your recordings or transcripts anywhere. It goes online for two things only: downloading a model when you ask, and checking for updates.

OnRecognition, transcripts, history, meeting files — all in ~/Library/Application Support/Murmurly/
OffNo account, no analytics, no cloud transcription, no screen-recording permission
MITOpen source — read what it does, or build it yourself

Dictation

Talk instead of type.

Press ⌥ Space, speak, press it again — the text appears where your cursor is, in any app. Or double-tap ⌘ or ⌥. The shortcut is yours to change.

Nothing gets lost: every dictation is in a searchable history. If pasting fails, the text is there. If recognition fails, the audio is kept.

Transcripts

You and them, on separate tracks.

Your microphone and the call audio are recorded apart, on one clock. The transcript marks each line “Me” or “Others”, merges both sides by time, and removes the echo when your mic hears the speakers.

Right after the call you get transcript.md with timestamps, plus two lossless tracks (ALAC, 24-bit).

Models & languages

Two engines. Switch on the fly.

Both run offline. Models download from Hugging Face only when you ask, and switching needs no restart.

Parakeet v3DEFAULT

Fast. 25 European languages, including English and Russian.

≈ 0.5 GB · a 97-min call in under 2 min on an M4
Whisper large-v3 turbo

About 100 languages. For everything Parakeet doesn't cover.

≈ 1.6 GB · slower, broader

Interface in 12 languages. Transcribe existing files too: mp3, m4a, wav, mp4, mov.

Roadmap

Where this is going.

The promise stays the same at every step: your audio and text stay on your Mac unless you explicitly choose otherwise.

Now

Alpha and first testers

This site, a handful of testers, and polishing what exists until it matches the promises.

Next

Smart text processing

Modes for dictated and transcribed text: note, email, list, speech clean-up. Fully local, bring-your-own-key to Claude or another service, or a paid tier where we cover tokens. Cloud only by explicit choice, clearly marked.

Next

Calendar integration

Connect your calendar so recordings know which meeting they belong to.

Next

New engines and languages

Engines for languages Parakeet and Whisper miss (e.g. Indian languages). Streaming models that produce text while you speak — live captions.

Next

Tools for AI agents

An MCP server and a CLI: agents like Claude can search history and transcripts, start and stop recording, and pull a meeting’s text straight into their work.

Later

iPhone and Android

Mobile versions on the same principle: recognition on the device.

Try the alpha.

Mac with Apple silicon, macOS 15 or later. Free, no account.

The alpha is not notarized by Apple yet, so macOS asks once before the first launch. How to open it