Don't type. Just talk.
TapTalk turns speech into text in any Mac app. Hold a key, speak, release, and it is pasted where your cursor is. It runs entirely on your Mac's Neural Engine. No account, no subscription, no cloud.
brew install --cask vakharwalad23/tap/taptalkmacOS 14 or later. Any Apple Silicon Mac.
Built by one developer, in the open. It is not notarized by Apple yet, so on first launch use right-click then Open, or install with Homebrew, which handles it for you. See setup.
Your speech flows into the pill. The plain key pastes it as you said it; the Smart key cleans it up on your Mac first.
Why TapTalk
- 01
Free and open source
MIT licensed. No subscription, no trial, no paywall. Auditable and forkable on GitHub.
- 02
100 percent on-device
Transcription runs on the Apple Neural Engine. Your audio never leaves your Mac. No account, no telemetry.
- 03
It cleans up as you speak
An optional local AI rewrite fixes filler and grammar and matches the app you are writing in, all on your machine.
- 04
Truly native
SwiftUI plus Rust. No Electron, no web wrapper. Small, fast, light on battery.
no accountno subscriptionno telemetryno cloud by default
From key-up to pasted text, the whole trip stays on your Mac.
When you release the key, TapTalk captures your audio, trims silence, transcribes on the Neural Engine, applies your dictionary and optional AI cleanup, then pastes. It is usually done in under a couple of seconds, entirely on-device.
Press your hotkey (default Right Cmd). TapTalk warms the mic instantly. On the Smart key it also spins up the local AI in the background so it is ready by the time you finish.
Rust owns the audio path. Swift and the Neural Engine own recognition, the rewrite, and the paste.
Live typing takes a different branch: words appear as you speak.
The pill tells you everything, and nothing leaves your Mac.
A small floating pill is the whole interface while you dictate. It changes color and shape for each state. Here it is, running live, on this page.
- Recording red, reacts to your voice
- Transcribing white, on the Neural Engine
- Rewriting purple, Smart Mode only
- Pasted green, then it rests
- Idle a thin resting line
Everything you need to stop typing. Nothing you have to pay for.
Every item below is shipped and on in the current release, or one toggle away.
Dictation
Global push-to-talk
Hold a hotkey anywhere in macOS, even with every window closed. Rebindable, default Right Cmd.
Paste into any app
Slack, Mail, Notion, Xcode, the terminal, your browser. Text lands where the cursor is, with a flicker-free accessibility path and a universal paste fallback that works in Electron apps too.
Live typing (optional)
Watch words appear in the field as you speak, under a second, with a confirmed plus volatile preview. Streams locally.
Too short? It says so
Tap the key by accident and TapTalk tells you to hold longer. It never invents a transcript from silence.
On-device intelligence
Smart Mode
A separate Smart hotkey transcribes and rewrites, locally. Three composable modes: Polish, Restructure, Match the app.
Context-aware
It reads which app, and even which window, you are dictating into and matches the tone. A shell command in Terminal, a casual line in Slack, clean prose in Notes.
Custom dictionary
Teach it your names, jargon, and shorthand. Applied to every transcription, before any AI.
Languages
English and European
NVIDIA Parakeet, auto-detected, punctuation included.
Hindi, Marathi, Urdu, Chinese, Japanese, and more
NVIDIA Nemotron, with an honest language picker that only offers what the model can actually produce.
Hinglish romanization
Speak Hindi, get natural Roman-script Hinglish, with English loanwords kept in English. Unique on-device.
Privacy and control
On-device by default
No account, no telemetry, no network calls unless you turn on cloud.
Audio is never saved
Processed in memory, discarded after transcription.
Clipboard-safe
Your clipboard is restored after every paste. Dictations never enter clipboard history.
Optional cloud, your key
OpenAI Whisper is available if you want it. Off by default, your own API key, stored in the macOS Keychain.
Craft and performance
Neural Engine acceleration
Core ML models run on the Apple Neural Engine, not the CPU.
Native SwiftUI plus Rust
No Electron. No bundled model bloat. Models download only when you ask.
Light on your Mac
About 164 MB resident with a model loaded, since weights are memory-mapped. Models auto-release under memory pressure or after idle.
A hotkey that does not die
Self-heals from macOS event-tap failure modes and survives sleep and wake.
Fast because it is native, and because it runs on the Neural Engine.
TapTalk is built for the only number that matters: the time from releasing the key to seeing your text. Models are prewarmed while you are still talking, audio capture is a zero-allocation Rust core, and recognition runs on the Apple Neural Engine, so plain dictation lands in well under a second once warm. Every Apple Silicon Mac is supported, and because the work runs on the Neural Engine, each new chip generation makes TapTalk faster: an M3 or M4 feels instant, an M1 or M2 takes a beat longer.
- Sub-secondplain dictation once warm, on-device
- 14.5%Hindi word error rate on 418 real FLEURS clips
- ~164 MBresident with a model loaded, weights memory-mapped
- 0bytes of audio sent anywhere by default
Hindi accuracy, lower is better
Word error rate on all 418 FLEURS hi_in clips, measured on an M3 Pro.
It does not just transcribe. It writes it the way you would.
Hold the Smart key instead of the normal one and TapTalk runs a local language model over your transcript, cleaning it up and shaping it to fit wherever you are typing. It runs on your Mac by default (Qwen 2.5 1.5B via llama.cpp), or you can point it at your own endpoint.
Polish
SlackRemoves um, uh and false starts. Fixes grammar, keeps your wording.
You sayhey can you uh push the fix to staging and um lemme know
TapTalk pastesHey, can you push the fix to staging and let me know?
Restructure
NotesYou said 10am then corrected to 11am, only 11am is pasted.
You saymeeting at 10 no sorry 11 with the design team
TapTalk pastesMeeting at 11 with the design team.
Match the app
TerminalCasual in Slack, a shell command in Terminal, prose in Notes.
You saylist all the docker containers even the stopped ones
TapTalk pastes
docker ps -a
Fully local by default (runs offline on the Metal GPU), or bring your own: Ollama, LM Studio, or OpenAI.
Match the app already removes filler and resolves corrections, so it replaces the other two while it is on.
Dictate in Hindi. Get Hinglish. On-device.
Most dictation apps either do Hindi poorly or send it to the cloud. TapTalk transcribes Hindi (and Marathi, Urdu, Chinese, Japanese, and more) locally with NVIDIA's Nemotron model, and can hand you natural Roman-script Hinglish, the way people actually chat. All on your Mac.
You say, in Hindi
कल मीटिंग है, please report à¤à¥‡à¤œ देना
TapTalk pastes
kal meeting hai, please report bhej dena
English words stay English. No clumsy transliteration.
TapTalk only offers languages its model can truly produce, so you never get garbage output from an unsupported script.
Anywhere you can type, you can talk.
TapTalk pastes into the focused field of any macOS app, including the Chromium and Electron apps (VS Code, Slack, Discord) that trip up other dictation tools.
- Slack
- Notion
- Xcode
- VS Code
- Terminal
- Safari
- Chrome
- Messages
- Cursor
- Discord
- Notes
The real interface, rebuilt in HTML.
No screenshots. These are the app's own screens, reproduced from its SwiftUI source at the same sizes, with the same colors and copy.
Done
Send her the report by Thursday.
Hotkey active - Right Cmd
Models
Run entirely on your device - no internet required.
NVIDIA Parakeet TDT 0.6B v3. The fastest option for English and European languages. Adds punctuation for you.
InstalledNVIDIA Nemotron 3.5 ASR. Covers Hindi and the languages Parakeet doesn't - pick yours in the Record tab.
DownloadSettings
Engine, hotkey, and startup
Types words live into the focused app as Parakeet recognizes them. Uses the Parakeet Realtime (EOU) model. Off in Smart Mode.
Intelligence
Dictionary, AI rewriting, and smart hotkey
Privacy
What TapTalk does, and doesn't, do with your data
None. TapTalk does not collect, store, or transmit any personal data, usage metrics, or crash reports.
Audio is recorded directly from your microphone and processed immediately. No audio files are saved to disk. The recording is discarded after transcription.
When using the Local engine, transcription runs entirely on your device using models stored in Application Support. Your audio never leaves your Mac.
When using the Cloud engine, audio is sent to OpenAI's Whisper API over HTTPS using your API key. OpenAI's data retention and usage policies apply. Your API key is stored in the macOS Keychain, never in plain text or UserDefaults.
TapTalk briefly writes transcribed text to the clipboard to paste it into the focused app, then restores the previous clipboard contents. No clipboard data is retained beyond this operation.
None. No analytics, no crash reporting, no network requests beyond cloud transcription when you explicitly enable it.
About
Local speech-to-text for macOS. Hold a hotkey, speak, release, and your words appear wherever the cursor is. Speak English, Hindi, or a hundred other languages, and let a local model clean up the transcript before it lands. Runs entirely on-device on the Neural Engine. No account, no cloud by default.
- Engines
- NVIDIA Parakeet TDT, Nemotron 3.5 ASR
- Runtime
- Core ML / Neural Engine via FluidAudio
- Rewrite
- Qwen 2.5 1.5B, llama.cpp
- Audio
- cpal, Silero VAD silence trimming
- Platform
- macOS 14+, Apple Silicon
How TapTalk compares.
TapTalk is the only Mac dictation app that is free, permissively open source, shipped as a ready-to-run binary, 100 percent on-device by default on the Neural Engine, natively built, and includes a local context-aware AI rewrite, with no account and no subscription.
| Criteria | TapTalk | Wispr Flow | superwhisper | MacWhisper | VoiceInk | Handy | Apple Dictation |
|---|---|---|---|---|---|---|---|
| Price | Free | USD 15/mo, 12 annual | Free tier, USD 8.49/mo or 249.99 lifetime | Free tier, EUR 64 one-time | USD 25 to 49 one-time, or compile | Free | Free, built in |
| Open source | MIT | uses whisper.cpp | GPLv3 | MIT | |||
| Ready-to-run free binary | paid | paid Pro | paid, or compile | built in | |||
| On-device by default | Neural Engine | cloud only | best models cloud or Pro | Apple Silicon | |||
| Works offline | local mode | supported langs | |||||
| Neural Engine | cloud | varies | via WhisperKit | Whisper default | CPU or GPU | ||
| Built-in local AI rewrite | no setup | cloud | cloud or Pro | cloud key or Ollama | needs Ollama | ||
| Context-aware | local | cloud | limited | Power Mode | |||
| Native UI | SwiftUI plus Rust | not stated | not stated | Tauri web | system | ||
| No account needed | local | ||||||
| Hindi plus Hinglish | with romanization | unverified | 100 plus langs | Whisper langs | Hindi model | ||
| Platforms | macOS, Apple Silicon | Mac, Win, iOS, Android | Mac, Win, iOS | Mac, iOS | macOS | Mac, Win, Linux | Apple OSes |
vs Wispr Flow and Aqua Voice
Powerful, but cloud-only and subscription-based. Your audio goes to their servers, and they stop working offline. Wispr's own privacy page says transcription always happens in the cloud. TapTalk keeps everything on your Mac, for free.
vs superwhisper
A good app, but its best models are cloud or Pro, it needs an account, and it reportedly saves recordings to iCloud by default. TapTalk is free, account-free, and local by default.
vs VoiceInk
Also open source and local, but the ready-made app is paid (USD 25 to 49), it is GPLv3, and its AI cleanup needs you to run Ollama. TapTalk's binary is free, MIT, and ships the local rewrite built in.
vs Handy
Free and MIT like us, and cross-platform, but its UI is a Tauri web wrapper, it does not use the Neural Engine, there is no built-in AI rewrite, and no Hindi or Hinglish. TapTalk is native, ANE-accelerated, and smarter out of the box.
vs Apple Dictation
Free and built in, but no AI cleanup, no context, a fixed model you cannot upgrade, and it falls back to Apple's servers for many languages. TapTalk gives you swappable on-device models and a local rewrite.
Compiled from each product's official site and pricing pages, September 2026. Corrections welcome, open an issue.
Privacy is the default, not a setting.
Nothing about how TapTalk handles your voice depends on a toggle you have to find. This is how it ships.
On-device by default
Audio captured, trimmed, and transcribed on your Mac.
Audio is never saved
Processed in memory, then discarded.
No account, no telemetry
No analytics. No crash reporting. No phone-home.
No automatic downloads
No model is fetched until you tap Download.
Cloud is strictly opt-in
OpenAI Whisper only if you choose it and add your own key, stored in the Keychain. Audio then goes to OpenAI, nowhere else.
Clipboard-safe
Your clipboard is restored after each paste. Dictations never enter clipboard history.
Falsifiable
It is open source. Do not take our word for it, read the code. Read the source.
Open source, and built for contributors.
TapTalk is MIT licensed. Read every line, fork it, change it, ship your own build. If you make it better, send it back. Issues and pull requests are welcome.
MIT License, macOS, SwiftUI and Rust
Star it
If TapTalk is useful, a star helps others find it.
Fork it
Make it yours. MIT means no strings.
Contribute
Good first issues are labeled. PRs are reviewed and merged. This project accepts contributions.
TapTalk is built by one developer, Dhruv Vakharwala, in the open. It is not notarized by Apple yet, that costs money and time for a solo project, so on first launch you may need to right-click then Open, or install with Homebrew, which clears the Gatekeeper flag for you. Everything is on GitHub, so you never have to trust a black box.
Up and running in about two minutes.
From install to your first pasted sentence, including the two optional extras.
- 1
Install
Homebrew is the easy path. The cask downloads the app and clears the Gatekeeper quarantine flag for you, so it opens on the first try. Or download the .dmg from GitHub Releases and drag TapTalk to Applications.
brew install --cask vakharwalad23/tap/taptalkTapTalk is not notarized yet (it is a solo, open-source project). If macOS says the app is damaged, right-click then Open, or run: xattr -dr com.apple.quarantine /Applications/TapTalk.app
- 2
Open it from the menu bar
TapTalk lives in your menu bar, not the Dock. Click the TapTalk icon at the top, then Open TapTalk.
The waveform in the menu bar is TapTalk. Click it to open the window or quit. It turns into a mic badge while you are recording. - 3
Download a model
Go to the Models tab. Tap Download on Parakeet (about 490 MB) for English and European, or Nemotron (about 640 MB) for Hindi and more. Downloads land in Application Support and keep going even if you navigate away. The Record button stays disabled until a model is ready. Nothing is bundled.
- 4
Grant two permissions
On first use TapTalk asks for Microphone (to hear you) and Accessibility (to detect the global hotkey and paste). That is it. No full-disk access, no network permission for on-device use.
If the hotkey does not fire right after you grant Accessibility, quit and reopen once.
- 5
Dictate
Put your cursor anywhere you can type, hold Right Cmd, speak, and release. Your words are transcribed on the Neural Engine and pasted in. Watch the pill: red while listening, then green Pasted when it is done.
- 6
Turn on Intelligenceoptional
Open Intelligence, enable AI rewriting, pick Local, and Download the on-device model (Qwen 2.5, about 1.06 GB, plus a small llama.cpp server fetched on first use). Turn on the modes you want and enable the Smart hotkey (default Left Option). Now hold the Smart key to transcribe and rewrite. Prefer your own model? Choose Custom Endpoint and point it at Ollama, LM Studio, or OpenAI.
- 7
Turn on Live typingoptional
For words that appear as you speak, keep Parakeet selected, install the Live typing add-on from Models, and turn on the toggle in Settings.
Built like a systems tool, not a web app.
Rust core
Real-time audio capture, VAD, gain, resampling. Zero-allocation, real-time-safe. Six audited crates, no heavyweight async runtime.
Swift plus Core ML
Recognition on the Apple Neural Engine via FluidAudio. Native SwiftUI and AppKit UI.
UniFFI bridge
A thin, auto-generated FFI between the two. The whole surface is reviewable in one file.
Models on demand
NVIDIA Parakeet and Nemotron for speech, Qwen 2.5 for the rewrite via llama.cpp. Downloaded at runtime, never bundled. TapTalk is a downloader, not a distributor.
Built with
Powered by these models
Logos belong to their owners and are shown to credit the open technology TapTalk is built on. Models are downloaded from Hugging Face at runtime; TapTalk ships no weights.
Questions people ask before they trust a dictation app.
Is TapTalk free?
Yes. TapTalk is completely free and open source (MIT). No subscription, no trial, no paywall, no word limits, and no account.
Is my voice or audio ever sent anywhere?
No, not by default. Audio is captured and transcribed entirely on your Mac and discarded after. Nothing leaves your machine unless you deliberately enable the optional OpenAI cloud engine with your own key.
Does TapTalk work offline?
Yes. On-device transcription needs no internet after the one-time model download. You only need a connection to opt into the cloud engine or to download a model.
How is it different from Apple's built-in Dictation?
TapTalk adds a local AI rewrite that cleans up and formats your text to match the app you are in, lets you swap in stronger on-device models, supports Hindi and Hinglish, and is fully open source. Apple Dictation does none of these.
Is it a free alternative to Wispr Flow and Superwhisper?
Yes. TapTalk is a free, open-source, on-device alternative. Unlike Wispr Flow (cloud only, subscription) it runs locally with no account, and unlike Superwhisper it is free with the AI rewrite built in.
Which Macs does it support?
Any Apple Silicon Mac running macOS 14 or later. TapTalk runs on the Neural Engine, which gets faster with every chip generation: an M3 or M4 feels instant, and an M1 or M2 takes a beat longer.
Can I use it in any app?
Yes, in Mail, Slack, Notion, Xcode, the terminal, browsers, and more. It even works in Electron apps like VS Code and Discord through a paste fallback.
Does it support Hindi and other languages?
Yes. English and European languages via Parakeet, and Hindi, Marathi, Urdu, Chinese, Japanese and more via Nemotron, all on-device, plus optional Roman-script Hinglish output.
Do I need an OpenAI key?
No. Everything works fully on-device. A cloud engine is available if you want it, but it is off by default and uses your own key.
What is Smart Mode?
A second hotkey that transcribes and rewrites with a local language model, removing filler, fixing grammar, resolving spoken corrections, and matching the tone of the app you are writing in.
Is TapTalk built with Electron?
No. It is a native macOS app built with SwiftUI and Rust, so it is small and fast and does not ship a browser engine.
Does it collect any telemetry?
None. No analytics, no crash reporting, no phone-home. There are no network requests beyond cloud transcription when you explicitly enable it.
Is there a word or time limit?
No word limits and no subscription. Single dictations are capped at 120 seconds as a safety limit.
Is TapTalk notarized by Apple?
Not yet. It is a solo, open-source project, so on first launch you may need to right-click then Open, or install with Homebrew, which clears the flag for you. The code is fully open, so you can inspect exactly what runs.
How do I install it?
Run brew install --cask vakharwalad23/tap/taptalk, or download the .dmg from GitHub Releases.
Stop typing. Start talking, privately.
Free, open source, and on your Mac in about two minutes.
brew install --cask vakharwalad23/tap/taptalkmacOS 14 or later. Any Apple Silicon Mac.