v1.1.0 · macOS 13+
KeySpeak - a glowing keyhole with sound waves

Speak. It types.

Local speech-to-text for macOS. Press a key, speak, text appears at the cursor. No cloud, no subscription, no latency.

Apple Silicon optimized · MIT License · 500 MB model

Three steps. Zero setup.

Install the app, press your hotkey, and start talking. KeySpeak handles the rest. See the full setup guide below.

1
Press your hotkey
Hit Option+Space (or your custom shortcut) anywhere on your Mac to start recording.
2
Speak naturally
Talk at your normal pace. The menu bar icon turns red while listening. Press Enter for newlines.
3
Text appears at cursor
Press the hotkey again. Your words are transcribed locally and typed into whatever app you're using.

Everything you need. Nothing you don't.

No accounts, no internet, no monthly fees. Just fast, private voice typing.

Works everywhere
Any app that accepts text input. Email, code editors, chat, documents, terminals.
Fully private
Zero network connections. Audio is processed on-device and immediately discarded. No telemetry.
Apple Silicon fast
Metal GPU acceleration via whisper.cpp. Transcription takes seconds, not minutes.
14 languages
English, French, German, Spanish, Italian, Portuguese, Chinese, Japanese, Korean, Russian, and more.
Word corrections
Teach KeySpeak your names, jargon, and brand terms. It auto-replaces misheard words.
Configurable hotkey
Choose any modifier + key combination. Includes dedicated settings and quit shortcuts.

Clean, native settings

A dark, minimal settings panel that opens below your menu bar. Configure your hotkey, language, and word corrections.

KeySpeak settings window showing hotkey configuration, language selector, and word corrections

KeySpeak settings window with dark macOS-native UI

Your voice never leaves your Mac.

No cloud processing

Audio is transcribed locally using a 500MB Whisper model. Nothing is uploaded anywhere.

No analytics

Zero telemetry, no crash reports, no usage tracking. We have no servers to send data to.

No accounts

No sign-up, no login, no email required. Download, install, use.

Read full privacy policy

Pay once. Use forever.

$5
One-time purchase. No subscription.
  • Compiled macOS app (DMG)
  • All future updates included
  • 14 languages supported
  • Apple Silicon optimized
  • Full source code on GitHub
Download for Mac

Or build from source for free (MIT License)

Up and running in 60 seconds

Everything you need from install to first transcription. No configuration required.

1

Download and install

Open the DMG file and drag KeySpeak.app into your Applications folder.

2

Grant permissions

On first launch, macOS will ask for Microphone access (to record your voice) and Accessibility access (to type text into other apps). Grant both in System Settings.

3

Start speaking

Press Option+Space in any app. The menu bar icon turns red while recording. Speak naturally, then press the hotkey again to stop. Your transcribed text is typed at the cursor.

4

Insert newlines while recording

Press Enter during recording to mark a line break. KeySpeak splits the audio at each Enter press and inserts newlines between paragraphs in the final transcription.

5

Open settings

Press Ctrl+Option+Shift+, or click the menu bar icon and choose Settings. From here you can change your hotkey, choose a language, and add word corrections for names and jargon Whisper gets wrong.

6

Menu bar icon states

The menu bar icon changes colour to show what KeySpeak is doing: grey when idle, red while recording, and blue while transcribing. Press Ctrl+Option+Shift+Q to quit.

7

Updating to a new version

Delete the old KeySpeak.app from Applications, then install the new DMG. After installing, go to System Settings > Privacy & Security > Accessibility, remove the old KeySpeak entry, click + to re-add the new one, and toggle it on. This is required because macOS caches permissions per binary signature.

brew install cmake curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh mkdir -p ~/Library/Application\ Support/keyspeak curl -L "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin" \ -o ~/Library/Application\ Support/keyspeak/ggml-small.bin git clone https://github.com/markstent/keyspeak.git cd keyspeak cargo run --release

Common issues

Hotkey doesn't work

Make sure KeySpeak has Accessibility access in System Settings > Privacy & Security > Accessibility. If you recently updated, remove the old entry and re-add the new KeySpeak.app. Also check that your chosen hotkey doesn't conflict with macOS shortcuts (Ctrl+Space is used by Spotlight/input sources).

Records but text doesn't appear

The icon turns red then blue, but nothing is typed. This means transcription works but the app can't inject keystrokes. Go to System Settings > Privacy & Security > Accessibility, remove KeySpeak, re-add it, and make sure the toggle is on. Restart KeySpeak after.

"Unidentified developer" warning

On first launch, macOS blocks unsigned apps. Go to System Settings > Privacy & Security, scroll down and click Open Anyway next to the KeySpeak message. You only need to do this once.

Transcription is empty or wrong

Make sure Microphone access is granted in System Settings > Privacy & Security > Microphone. If transcription returns silence hallucinations like "thank you" or "bye", speak louder or closer to the mic - KeySpeak filters these automatically but very quiet audio can confuse the model.

Settings reset after update

Your settings are preserved across updates at ~/Library/Application Support/keyspeak/settings.json. Only the Accessibility permission needs to be re-granted after installing a new version.

Check the logs

KeySpeak writes a log file to ~/Library/Application Support/keyspeak/keyspeak.log. If you're stuck, check the log and open an issue on GitHub with the contents.