VoiceMerge
VoiceMerge for Mac

Hold a key, speak, and it's typed.

A menu bar app for dictation anywhere on your Mac. Hold Right ⌥ in any text field, talk, let go: the cleaned-up text appears at the cursor. Speech-to-text runs on the Neural Engine, so it works offline and nothing is uploaded.

macOS 14 or later, Apple silicon. Free. No account.

How dictation works

You hold the dictation key while you talk. When you release it, VoiceMerge transcribes what it heard, cleans the text up, and pastes it where your cursor is. A quick tap instead of a hold locks the microphone on for hands-free dictation; tap again to finish, or press Esc to throw the recording away.

A live preview panel shows the transcription while you speak. If you prefer, words can be typed as you say them, and the final cleaned-up text replaces them when you let go. That option is off by default because apps with aggressive autocorrect fight with it.

Speech-to-text on the device

Two engines are included. Parakeet (NVIDIA's Parakeet TDT 0.6B v3, running on the Neural Engine) is the default: fast, accurate, English and 24 other European languages. Whisper (through WhisperKit) covers around 99 languages; pick a model size and a language hint, or let it detect. Model files download once, on first launch, about 1 GB for Parakeet.

Quiet talkers are fine. A clip-safe auto-gain brings soft speech up to a steady level before it reaches the model.

Cleanup: fillers out, tone in

The raw transcript goes through a cleanup pass that removes "um" and false starts, fixes sentences, and matches the tone to where you're writing. Where it runs is your choice, and the menu shows which path each dictation took:

Auto mode uses the local model and retries remotely only if it fails or times out. If everything fails, you still get the raw words; a dictation never disappears.

Modes: it knows where you are

A mode is a tone or a custom prompt tied to an app. Casual in Slack, formal in Mail, technical in your editor, verbatim in the terminal (verbatim skips the language model entirely). In a browser a mode can be limited to pages whose address matches a pattern, so mail.google.com can be formal while github.com/*/pull is technical. The longest matching pattern wins, and the app's own mode is the fallback.

A personal dictionary teaches the cleanup pass your names and terms. Text replacements expand a spoken phrase into saved text ("my address", "the usual sign-off") after cleanup.

Beyond dictation

Every hotkey is changeable in Settings. Right ⌥, Left ⌥, Right ⌃, Left ⌃ and fn are offered; changes apply instantly.

History

Dictations are kept in a searchable SQLite database on your disk, with the raw and cleaned text, which path ran, and the app they went to. Re-clean an entry, copy the raw words, delete one or all of them, or turn history off. It is never synced or uploaded.

Screen context, opt-in

Off by default. When on, the active window title and selected text are read through Accessibility and given to the cleanup model as reference. This context is only ever used by models on your Mac. It is never sent to a remote provider, including ours.

What the app asks for, and why

PermissionUsed for
MicrophoneHearing you while the hotkey is held or a meeting is recording.
AccessibilityTyping at the cursor, reading a selection for Edit, and reading the front tab's address for site-level modes.
System Audio RecordingOnly for meetings, only if you start one, to capture the other participants.
RemindersOnly if you send tasks to Reminders.

The app is signed and runs with the hardened runtime. API keys live in the Keychain. More on the security page.

Requirements

Download for Mac