Hold a key. Speak.
Your words, typed.

Free, open-source dictation for Apple Silicon Macs. Local Parakeet transcription by default — hardened cloud with your own key when you choose it.

macOS 15+ Apple Silicon Free · Apache 2.0
Try the flow · simulated
Hold the key to start

Press and hold the key — or focus it and hold Space. Simulated transcription; the real app uses your microphone.

Notes
Your dictated text appears in whatever app you’re using…
Two modes

Local by default. Cloud by choice.

Run fully on-device, or bring your own LLM key — transcription and cleanup are independent switches.

Local

Default
  • Parakeet TDT 0.6B transcribes entirely on your Mac via sherpa-onnx
  • Works offline after a one-time ~640 MB model download
  • Optional Apple Intelligence cleanup also stays on-device (macOS 26+)
  • No account, no key, no cost — nothing leaves your Mac
Mic On-device Your app

Cloud

Opt-in · your key
  • OpenAI-compatible transcription (gpt-4o-mini-transcribe by default), OpenAI or Anthropic cleanup
  • Keys live in this Mac’s Keychain; requests go directly to the provider over HTTPS
  • Ephemeral session — no cookies, no disk cache, no Hold To Talk servers
  • Billed by your provider, only when you use it
Mic Provider, direct Your app

Mix and match in Settings — local transcription with cloud cleanup, or the reverse. Diagnostic logging is off by default and redacts transcripts in both modes.

Features

Why Hold To Talk

Built for privacy, speed, and simplicity.

Free and open-source

No subscription, no paywall, no black box. Inspect the code, build it yourself, ship it your way.

Fast local AI on Silicon

Powered by NVIDIA Parakeet TDT through sherpa-onnx for fast, accurate on-device transcription on Apple Silicon.

Works everywhere

Dictate into Slack, Notes, your IDE, email, or any text field. If you can type there, Hold To Talk works.

Smart text cleanup

Optional cleanup fixes punctuation and filler words via Apple Intelligence (on-device, macOS 26+) or cloud models (OpenAI, Anthropic) with your own key.

Install your way

Download directly, install via Homebrew, or build from source. Your workflow, your choice.

For teams

Deploy it your way

Managed, proxied, or fully air-gapped.

MDM-ready

Every setting is a managed-preferences key — push provider, model, proxy, and prompt config fleet-wide.

PPPC permissions

Pre-approve Microphone and Accessibility with standard MDM profiles. No Input Monitoring profile needed.

Your proxy, your rules

Point the custom base URL at your proxy or Azure OpenAI — SSO auth, rate limits, audit logs, cost attribution.

Air-gapped option

Fully local mode needs no network after the one-time model download. Nothing ever leaves the Mac.

Read the enterprise deployment guide →

How it works

Three steps. That’s it.

No setup beyond permissions and a one-time model download.

1

Hold

Press and hold your hotkey — fn by default — to start recording.

2

Speak

Say what you want to type while the indicator shows.

3

Release

Let go and your words appear in the active app.

Under the hood

The pipeline

What happens between key press and text on screen.

Hotkey
hold to record
Global hold shortcut — fn by default, no Input Monitoring required
Capture
16 kHz mono
AVAudioEngine records while you hold, resampled to 16 kHz mono
VAD
segmentation
Silero VAD trims silence and segments speech
Parakeet
on-device
NVIDIA Parakeet TDT 0.6B via sherpa-onnx — or your cloud provider
Cleanup
optional
Apple Intelligence on-device, or OpenAI / Anthropic with your key
Insert
any app
CGEvent types into the active app, with clipboard paste as fallback
Parakeet TDT 0.6B NVIDIA’s open-source English speech recognition model sherpa-onnx On-device inference runtime from the Next-gen Kaldi team Silero VAD Voice activity detection for speech segmentation Apple Intelligence On-device text cleanup, macOS 26+ SwiftUI Native macOS UI framework Sparkle updates In-app updates for direct-download builds Apache 2.0 Open-source license
FAQ

Questions, answered

Is it really free?
Yes — free and open-source under Apache 2.0. No accounts, no subscriptions, no telemetry. Optional cloud transcription and cleanup use your own provider keys, billed directly by your provider only if you enable them.
Does it work offline?
Yes. The Parakeet TDT 0.6B model downloads once (~640 MB) and then runs fully on your Mac. No network connection is needed for local dictation.
Which languages are supported?
The bundled Parakeet TDT 0.6B v2 model is English-only. Optional text cleanup through Apple Intelligence or your own cloud provider can further polish the English output.
Which Macs are supported?
macOS 15 or later on Apple Silicon (M1 and newer). Local transcription relies on Apple Silicon performance, so Intel Macs are not supported.
What permissions does it need?
Two: Microphone to hear you, and Accessibility (PostEvent) to type dictated text into other apps. Hotkeys are registered through the system hotkey API — no Input Monitoring permission required.
Where does my audio go?
Nowhere, by default — local transcription never leaves your Mac. If you opt into cloud transcription, audio goes directly from your Mac to the HTTPS provider endpoint you configure. There are no Hold To Talk servers, and cloud sessions use no cookies or disk cache.
Open source

Inspect every line

Apache 2.0 licensed. Easy to inspect, fork, and build yourself.

Terminal
$ git clone https://github.com/Edamame-Labs/hold-to-talk.git
$ cd hold-to-talk
$ make build && make run
# or: brew install edamame-labs/tap/holdtotalk

Ready to talk to your Mac?

Free forever. Two minutes to set up.

Download for Mac