Speak naturally.
Write beautifully.
A macOS menu bar app that turns dictation into finished writing — without leaving the app you're already in. Double-tap shift, speak, double-tap again. The polished text appears in the field you were typing in.
macOS 14 or later · Intel and Apple Silicon · No API key needed to start
- To:
- Sarah Klein
- Subject:
- Deck for tomorrow
Double-tap shift to finish · esc cancels
- No account, ever
- No server of ours
- Runs fully offline
- No telemetry
How it works
Three taps and a sentence
The transcript is cleaned, not rewritten: grammar, punctuation, filler words and false starts are fixed — the meaning, the facts, and your voice stay yours.
- 01
Double-tap Shift
From any application — your editor, your inbox, a chat box. Nothing to switch to, nothing to open.
- 02
Speak
A small popup appears at your cursor with a live sound meter. Escape cancels and discards the recording.
- 03
Double-tap again
VoiceSmith transcribes, cleans the text up, and writes it into the field you were in.
The trigger is yours to change
shift, control, option, command — or off entirely. There is a key combination too (⌃⌥⌘space by default), which works even with both taps off. Worth changing if you live in a JetBrains IDE, which claims double-tap Shift for itself.

To-dos
Say it once. It lands in Reminders.
Double-tap option instead, say what needs doing, and double-tap again. It goes to Apple Reminders — nothing is typed into whatever you were working in.
- One sentence can hold several tasks.
- Relative dates — tomorrow, next Friday, end of the month — resolve against the day you spoke.
- Nothing is invented. When there is no action item in what you said, nothing is filed.
- What is filed appears in a confirmation with Undo.
You said
“Call the dentist and email Sarah the deck by Friday”
Reminders
- Call the dentist
- Email Sarah the deckFri 14 Aug
Features
The details that decide whether you keep using it
Vocabulary it can't guess
Speech models don't know your colleagues, your product or your team's jargon — a name they've never seen comes back as whichever real word sounds closest. Add those words and they're handed to the model before it listens.
heard e-vulpo
wrote evulpo
99 languages, detected
Language is set to detect automatically, so you can switch mid-day without touching a setting. Twelve can be pinned explicitly when auto-detection keeps guessing wrong on short recordings.
Eight modes, or write your own
Improvement style is a mode. Duplicate any of them to write your own prompt — the app ships with the common ones and gets out of the way if you want something else.
Fails out loud, never silently
Errors name the provider and offer the fix. A failed improvement falls back to delivering the raw transcript rather than losing your dictation — and the text is on your clipboard either way.
Providers
Mix local and cloud, however you like
Speech and text are configured independently. Transcribe on-device and improve in the cloud, or the reverse. For a fully offline setup, pair Apple Speech with Ollama.
Speech
Text
Cloud providers use your own API key, stored in the macOS Keychain and sent directly to that provider. VoiceSmith runs no proxy. Keys are write-only in the interface — it shows whether one is stored, never the value.
Privacy
Nothing to sign up for
Everything is stored on your Mac. There is no account, no sign-in, and no server of ours. With a local model selected, nothing leaves the machine at all.
Where your data lives
~/Library/Application Support/VoiceSmith/ ├── notes.store # transcripts (SwiftData) └── Audio/ # per your retention setting
Audio is deleted after transcription by default. You can keep it 30 days or indefinitely — the choice is offered during setup rather than buried in preferences.
No telemetry
None. Not anonymised, not aggregated, not optional-but-on.
No proxy in the middle
Cloud calls go from your Mac straight to the provider you chose, with your key.
Notes stay on this Mac
No backend and no CloudKit. That means no sync — a deliberate trade, not an omission.
Install
Two ways in
macOS 14 or later, Intel or Apple Silicon. No Xcode, no developer tools, and no API key — the default setup transcribes on-device with Apple Speech.
One line
Downloads the latest release, installs it to /Applications, and launches it. A setup assistant takes it from there.
$curl -fsSL https://raw.githubusercontent.com/idrisay/VoiceSmith/main/install.sh | bashIt also clears the quarantine flag macOS puts on downloads — which is why this route is smoother than the next one, and why you should read the script before piping it to a shell, as with any curl | bash. It's about forty lines.
Or download the .dmg
macOS blocks the first launch, and the dialog it shows offers Move to Bin. Clicking that deletes the app. The button you want is Done.
- 1Grab
VoiceSmith-1.6.dmgfrom the latest release - 2Open it and drag VoiceSmith onto Applications
- 3Launch it. A dialog says the app could not be verified — click Done
- 4Open System Settings › Privacy & Security, scroll to the block notice, click Open Anyway and authenticate
- 5Launch again and click Open Anyway in the dialog that follows
Steps 3–5 are once per install, not once per launch. The block happens because VoiceSmith isn't notarised: that needs a paid Apple Developer Program membership, which this project doesn't have yet. It says nothing about what the app does — the signature on the download is valid and intact, it simply isn't one Apple has countersigned. The source is public and the builds are produced by a GitHub Actions workflow you can read.