v1.6Free and open source · MIT

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

  • 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.

  1. 01

    Double-tap Shift

    From any application — your editor, your inbox, a chat box. Nothing to switch to, nothing to open.

  2. 02

    Speak

    A small popup appears at your cursor with a live sound meter. Escape cancels and discards the recording.

  3. 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.

VoiceSmith's four menu bar states — idle, recording, working and needs-attention — on dark and light menu bars

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.

EnglishDeutschFrançaisEspañolTürkçe日本語+94

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.

ProfessionalFriendlyConciseDetailedEmailMeeting NotesMarkdownVerbatim

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.

Anthropic rejected the key. Open Settings › Providers to replace it — your transcript is on the clipboard.

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

LocalNothing leaves the Mac
Apple SpeechdefaultWhisper.cpp
CloudYour own API key
OpenAIGroqDeepgramAssemblyAI

Text

LocalNothing leaves the Mac
OllamaLM Studio
CloudYour own API key
AnthropicdefaultOpenAIGeminiOpenRouterGroqDeepSeekMistral

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.

1

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 | bash

It 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.

2

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.

  1. 1Grab VoiceSmith-1.6.dmg from the latest release
  2. 2Open it and drag VoiceSmith onto Applications
  3. 3Launch it. A dialog says the app could not be verified — click Done
  4. 4Open System Settings › Privacy & Security, scroll to the block notice, click Open Anyway and authenticate
  5. 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.