Tap a key twice and talk, tap again to stop. The words land at your cursor the moment you stop, in any app. On your machine, for nothing.
macOS, paste into Terminal
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/ZyxWorks/murmurflow/main/install.sh)"Windows, paste into PowerShell
irm https://raw.githubusercontent.com/ZyxWorks/murmurflow/main/install.ps1 | iexThen double-tap Control, say something, and tap once more to stop. That is the whole product.
Open source, MIT licensed. That command runs a script you can read first, and so is everything it installs.
A 200-word message is five minutes of typing. Say it instead and you are done in eighty seconds, hands still on the desk. Ten of those a day is most of an hour back, every day.
Conversational speech runs about 130 to 150 words a minute, and an average typist about 40.
Tap twice, talk, tap again. The whole transcript pastes at your cursor at once, about two seconds after you stop - there is nothing typed while you talk to land in the wrong place if you move the cursor mid-sentence.
| step | seconds |
|---|---|
| warm transcription, model resident | 2.3 |
| first transcription after boot, cold | 13.3 |
| microphone open, first ever | 9.9 |
| speech lost at the start of a clip | 0.04 |
M4 Pro, macOS 26. One model, large-v3-turbo,
answers every clip - on one warm server, so the first dictation is as fast as the
hundredth.
ctypes. No Xcode, no signing, no notarization.Your voice is transcribed by your own machine and the recording is discarded the moment that is done, before anything else happens to it. The microphone closes with the key - and by itself after fifteen seconds of quiet, so it cannot be left open.
The transcript is never inspected, filtered, or written down. It is pasted through your clipboard once, and whatever was there before is put back right after. Nothing here makes a network request except the one-off model download.
murmurflow trigger prints the key it is on. murmurflow pause --who "your agent's voice chat" stands it down while your agent owns it, and the pause expires by itself.whisper-server stays loaded on 127.0.0.1:8479.voice-contract.json is the measured record, and the speech and gesture files are stdlib-only and yours to vendor.ZyxWorks is a product studio and forward deployed engineering practice. MurmurFlow is one of the tools we built for our own work and gave away. The paid work is putting the same engineering inside a company.