TapTalk
Free. Open source. 100 percent on-device.

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/taptalk

macOS 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

  1. 01

    Free and open source

    MIT licensed. No subscription, no trial, no paywall. Auditable and forkable on GitHub.

  2. 02

    100 percent on-device

    Transcription runs on the Apple Neural Engine. Your audio never leaves your Mac. No account, no telemetry.

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

  4. 04

    Truly native

    SwiftUI plus Rust. No Electron, no web wrapper. Small, fast, light on battery.

no accountno subscriptionno telemetryno cloud by default

How it works

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.

Key down

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

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.

Pill state
Your audio stays in this tab. Nothing is sent or recorded.
  • 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
Features

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.

Speed

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

  • TapTalk (Nemotron)14.5%
  • IndicWhisper15%
  • Qwen3-ASR 8-bit18.6%
  • Apple Dictation31.6%

Word error rate on all 418 FLEURS hi_in clips, measured on an M3 Pro.

Smart Mode

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

    Slack

    Removes 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

    Notes

    You 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

    Terminal

    Casual in Slack, a shell command in Terminal, prose in Notes.

    You saylist all the docker containers even the stopped ones

    TapTalk pastesdocker 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.

Hindi and Hinglish

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.

  • Mail
  • SlackSlack
  • NotionNotion
  • XcodeXcode
  • VS Code
  • Terminal
  • SafariSafari
  • ChromeChrome
  • Messages
  • CursorCursor
  • DiscordDiscord
  • Notes
Inside TapTalk

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.

App screens
Parakeet TDTAuto - EU

Done

Send her the report by Thursday.

AUTO122ms3.2s audioCopy
Record

Hotkey active - Right Cmd

Models

Run entirely on your device - no internet required.

Parakeet TDTOptimized~490 MB

NVIDIA Parakeet TDT 0.6B v3. The fastest option for English and European languages. Adds punctuation for you.

Installed
Live typing add-on~440 MBStreams words live as you speak. Required for the Live typing toggle in Settings.
Nemotron 3.5~640 MB

NVIDIA Nemotron 3.5 ASR. Covers Hindi and the languages Parakeet doesn't - pick yours in the Record tab.

Download

Settings

Engine, hotkey, and startup

LocalOn-device, privateCloudOpenAI Whisper API
Local model
Parakeet TDTEnglish + 24 EuropeanNemotron 3.5Hindi + 100 languages
Live typing (stream as you speak)

Types words live into the focused app as Parakeet recognizes them. Uses the Parakeet Realtime (EOU) model. Off in Smart Mode.

Launch at login
Push-to-talk keyRight Cmd
Reset to Right Cmd

Intelligence

Dictionary, AI rewriting, and smart hotkey

Tech1 entries
Travel1 entries
Add Segment
Enable AI rewriting
What the smart hotkey does
PolishRemoves um, uh and false starts. Fixes grammar, keeps your wording.
RestructureYou said 10am then corrected to 11am, only 11am is pasted.
Match the appCasual in Slack, a shell command in Terminal, prose in Notes.
Custom EndpointOllama, LM Studio, OpenAILocal (Qwen)On-device, private
Local IntelligenceOn-device - running locally with Metal GPU
Remove
Ready - using Metal GPU

Privacy

What TapTalk does, and doesn't, do with your data

Data collected

None. TapTalk does not collect, store, or transmit any personal data, usage metrics, or crash reports.

Microphone

Audio is recorded directly from your microphone and processed immediately. No audio files are saved to disk. The recording is discarded after transcription.

Local transcription

When using the Local engine, transcription runs entirely on your device using models stored in Application Support. Your audio never leaves your Mac.

Cloud transcription

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.

Clipboard

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.

Telemetry

None. No analytics, no crash reporting, no network requests beyond cloud transcription when you explicitly enable it.

About

TapTalk
Version 0.3.0 (3)

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
View on GitHub
Compared

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.

TapTalk compared with other Mac dictation apps
CriteriaTapTalkWispr FlowsuperwhisperMacWhisperVoiceInkHandyApple Dictation
PriceFreeUSD 15/mo, 12 annualFree tier, USD 8.49/mo or 249.99 lifetimeFree tier, EUR 64 one-timeUSD 25 to 49 one-time, or compileFreeFree, built in
Open sourceYesMITNoNoNouses whisper.cppYesGPLv3YesMITNo
Ready-to-run free binaryYesYespaidYesYespaid ProNopaid, or compileYesYesbuilt in
On-device by defaultYesNeural EngineNocloud onlyPartialbest models cloud or ProYesYesYesYesApple Silicon
Works offlineYesNoYeslocal modeYesYesYesYessupported langs
Neural EngineYesNocloudPartialvariesPartialvia WhisperKitPartialWhisper defaultNoCPU or GPUYes
Built-in local AI rewriteYesno setupYescloudYescloud or ProPartialcloud key or OllamaPartialneeds OllamaNoNo
Context-awareYeslocalYescloudYesPartiallimitedYesPower ModeNoNo
Native UIYesSwiftUI plus RustPartialnot statedPartialnot statedYesYesNoTauri webYessystem
No account neededYesNoNoYeslocalYesYesYes
Hindi plus HinglishYeswith romanizationPartialunverifiedPartial100 plus langsPartialWhisper langsPartialHindi modelNoPartial
PlatformsmacOS, Apple SiliconMac, Win, iOS, AndroidMac, Win, iOSMac, iOSmacOSMac, Win, LinuxApple 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

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.

Two permissions, and only two

PermissionWhyWhen
Microphoneto capture your voicefirst recording
Accessibilityto detect the global hotkey and pastefirst launch

That is it. No full-disk access. No network entitlement needed for on-device engines.

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

GitHub
vakharwalad23/tap-talk

MIT License, macOS, SwiftUI and Rust

GitHubstarsopenforkswelcomeopen issuesv0.3.0latest
  • 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.

Setup

Up and running in about two minutes.

From install to your first pasted sentence, including the two optional extras.

  1. 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/taptalk

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

    Sun Sep 6 2:29 PM
    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. 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. 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. 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. 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. 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.

Under the hood

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.

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.

FAQ

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/taptalk

macOS 14 or later. Any Apple Silicon Mac.