SpeechButton 3D key
⚡ Voice typing for Mac

Talk to your Mac.
It types.

Push-to-talk voice typing for Mac. 100% on-device. 3-5x faster than your keyboard. Free 5 min/day, no account.

 Download for Mac macOS 14+ · Apple Silicon · Free, no account
Code-signed by Apple Developer ID: Pavel Taran (UFZPV6F5H9), notarized by Apple Source on GitHub
or install via Homebrew ▾
brew install --cask speechbutton/tap/speechbutton
Copied!

How It Works

Scroll to explore

hold
Deploy the latest
build to staging and
run integration tests
|
1
tap
🎤 You say:
"ugh, login is broken again, users can't get in through OAuth, something with the callback, please just fix it"
✨ Transform
## Problem
OAuth login flow broken —
callback returns 500
## Action Plan
1. Reproduce: login → OAuth → 500
2. Check /auth/callback logs
3. Fix token exchange logic
4. Add e2e test for OAuth flow
5. Verify on staging
## Priority: P0 — users blocked
🤖
Remote Claude Code
remote agent
Fix OAuth callback error

Simple: Hold ⌘, speak, text appears in any app

Routing: Hold ⌘, tap 1 → Transform → Send to AI agent

 Download for macOS

Free 5 min/day · No account required

Just shipped · v2.13.5

What’s new

Highlights from the last few releases. The big one this time is on top.

v2.12 Privacy · flagship

Voice Fingerprint — transcribe only your voice

Hands-free dictation that ignores everyone who isn’t you. The colleague at the next table, family in the next room, audio playing on speakers — all filtered out before they reach the model. 100% on device. Per-microphone profiles handle AirPods-vs-MacBook switching automatically.

Read the deep dive →
v2.13.5

Opt-in analytics — we ask before we count

First launch now opens a consent dialog. We collect app launches, model usage, and error reports — never your audio, transcribed text, or personal info. Existing users are grandfathered; flip the toggle in the app’s Settings any time, no account needed.

v2.13

Smoother first-run install

Redesigned DMG with a clear “Drag to Applications” arrow, plus a friendly prompt if you accidentally launch the app straight from the disk image. Apps that live in /Applications behave correctly — this just makes sure yours ends up there.

v2.11

Mute system audio while you record

YouTube, Spotify, a Zoom call on speakers — quietly ducked while a recording is in progress, then restored. No more transcripts polluted by whatever was playing in the background.

v2.10

Per-model hallucination filtering

Whisper, Parakeet, and Cohere each have their own characteristic filler outputs. SpeechButton now ships a tuned word-list per model, so “you”, “thanks for watching”, and the rest don’t end up in your text.

v2.10

Hands-free copies to clipboard

Hands-free chunks now land on the clipboard instead of being pasted into whatever window has focus. Speak, then paste where you actually want the text.

v2.9

Notch-aware recording indicator

A pill toast that wraps around the MacBook notch with a floating pulse during recording. Configurable position, sized properly for external displays.

Built for AI-First Developers

Voice-to-agent in milliseconds. Everything runs on your Mac.

🔒

100% Private & Local

Your voice never leaves your Mac. Speech recognition runs on the Apple Neural Engine via CoreML. AI transforms also run locally. No internet required.

🌍

Multi-Language Support

Multiple speech models to choose from. Fast English recognition or 100+ languages. Auto-detect or set your language explicitly.

20ms Capture — Never Lose the First Word

Press the key — recording starts in 20 milliseconds. Other tools take 200ms+ and clip your first word. When you're rapid-firing tasks to 3 agents, every lost word means repeating yourself.

🛠

Config as Code — Agents Configure Agents

Plain TOML config + shell scripts. Your AI agent can add channels, write transforms, and configure routing — programmatically. The tool evolves with your workflow.

🔌

Per-Hotkey Agent Routing

⌘+1 sends to Claude Code. ⌘+2 sends to Slack. ⌘+3 creates a Linear issue. Each hotkey is a programmable channel with its own transform pipeline and destination. No other tool does this.

AI Transform Pipeline

Your rambling speech becomes a structured task. Transform scripts turn "fix the auth bug where tokens expire" into a formatted Problem/Steps/Priority prompt that your agent acts on immediately.

Industry First

Fully Local AI Pipeline

Voice recognition and AI text transform — both running on your Mac. Zero data leaves your device.

🎤
Your Voice
Speech-to-Text
On-device · CoreML
AI Transform
Local · prompt-driven
📄
Polished Text
Pasted at cursor
Nothing leaves your Mac. Ever.

Trusted by developers and creators

🤖Claude Code
💬Slack
Linear
💻VS Code
📝Notion
🖥Terminal
★★★★★

"With other apps I kept losing the first word and had to repeat myself. SpeechButton captures everything from the first syllable. Saved me 2 hours a day on documentation alone."

Marcus Torres
Senior Software Engineer, Stripe
★★★★★

"I walk around the room and code by voice. My back pain is gone. Wrote 40% more code last month just by dictating instead of typing. Development feels completely different now."

James Kim
Full-Stack Developer, Linear
★★★★★

"I manage 5 AI agents just by talking. Hold a key, give a task, release. Cut context-switching time by 70%. The channel routing is a game changer for multi-agent workflows."

Sarah Liu
AI Ops Lead, Vercel
 Download for macOS

Free 5 min/day · No account required

Simple Pricing

Start free. Upgrade when you need more.

Free
$0
forever
  • 5 min/day transcription
  • Multiple speech models
  • 100% local & private
  • Push-to-talk & VAD
  • Auto-paste & auto-send
Download Free
Best Value — Save 27%
Pro Yearly
$5.83 /month
$69.99 billed annually
You save $26/year vs monthly
  • Unlimited transcription
  • Everything in Free
  • Hotkey channels & routing
  • AI transforms (local + cloud)
  • Priority support
Get Pro Yearly
Pro Monthly
$7.99 /month
billed monthly, cancel anytime
  • Unlimited transcription
  • Everything in Free
  • Hotkey channels & routing
  • AI transforms (local + cloud)
  • Priority support
Get Pro Monthly

How much time will you save?

Voice dictation is 3× faster than typing. See what that means for you.

1h3h8h
1h
saved/day
20h
saved/month
$1,000
value/month*

*Based on $50/hour average developer rate. Voice is ~3x faster than typing.

Both plans: 100% local. Your voice never leaves your Mac. No cloud. No data collection.

 Download for macOS

Free 5 min/day · No account required

Voice Activity Detection

Hands-Free
Agent Workflows.

SpeechButton transcribes in chunks as you speak. Every time you pause briefly, the chunk is transcribed and pasted instantly. When you finish talking, almost all text is already there.

With auto-Enter enabled, a longer silence (3s) sends the full message automatically. Hold the hotkey, talk to Claude Code or ChatGPT, pause briefly between thoughts — chunks appear in realtime. Stop talking for 3 seconds — message is sent. No keyboard needed.

# Hands-free VAD
[vad]
enabled = true
chunk_silence_sec = 0.7

[global]
auto_send = true
send_delay_sec = 3.0
1
You speak
"Deploy the latest build to staging..."
2
Brief pause (0.5s)
Chunk 1 transcribed & pasted instantly
3
You continue speaking
"...and run the integration tests after"
4
Another pause → chunk 2 pasted
Previous text already there, only last chunk to process
3s silence → auto-Enter
Full message sent. Zero wait time — text was already pasted in chunks.
Text Transform Pipeline

Transform Your Speech Into Ready‑to‑Send Text

Your speech goes through a pipeline: voice → raw text → prompt-driven transform → destination. You control the transform with a prompt.

🎤 Speech
📄 Raw Text
Prompt Transform
🚀 Destination

✨ Clean up for a social media post

🎤 You say
"so like basically our app is um the fastest dictation tool on mac you know"
✨ Prompt
"Remove filler words, fix grammar, make it punchy for Twitter."
🚀 Delivered
Our app is the fastest dictation tool on Mac.
→ pasted in active app

🤖 Dispatch a structured task to Claude Code

🎤 You say
"the websocket handler is leaking connections, check the drop implementation in handler.rs, this is blocking users"
✨ Prompt
"Structure as Problem / Action Plan / Priority. Name the file. Mark user impact."
🚀 Delivered
Problem: websocket handler leaks connections (handler.rs). Action: audit Drop impl, verify cleanup on disconnect, add regression test. Priority: P0 — blocking users.
→ sent to Claude Code

🛠 Git Commit from Voice

🎤 You say
"add redis rate limiting to the API, sliding window, 100 requests per minute per user"
✨ Prompt
"Convert to a Conventional Commit subject. Imperative, under 72 chars, include scope."
🚀 Delivered
feat(api): add Redis sliding-window rate limiting (100 req/min/user)
→ pasted as git commit message

🌍 Speak Spanish, deliver English

🎤 You say
"necesito revisar el servidor antes de la reunión de mañana"
✨ Prompt
"Translate to English. Keep it natural."
🚀 Delivered
I need to check the server before tomorrow's meeting.
→ pasted in Slack
Voice Routing

Route Voice to Your Entire Dev Stack

Text doesn't just go into your active app. Route your speech to AI agents, work tools, social media, and more — each with its own hotkey channel.

🤖
Claude Code
Remote agent tasks
💻
Cursor / Windsurf
AI coding assistants
🖥
Terminal
Run commands by voice
Linear / GitHub
Issues & PRs
💬
Slack / Discord
Team updates
📝
Notion / Obsidian
Notes & docs
🛠
Git
Commit messages
🚀
Webhooks
Zapier, Make, custom APIs
📧
Email
Send via API
📦
Telegram
Bots & channels
📰
Social Media
Twitter, LinkedIn
🔗
Any API
curl, scripts, you name it

Each destination is a [[hotkey]] channel in your config. Press ⌘+1, ⌘+2, ⌘+3 — each routes to a different place.

Built for Developers Who Ship by Voice

Hands-free agent workflows, voice-driven automation, and programmable text pipelines.

🗣

Hands-Free with VAD + Auto-Enter

Voice Activity Detection sends text as you speak. Combined with auto-Enter, you can talk to AI agents (Claude Code, ChatGPT, Slack bots) without touching the keyboard at all.

🛠

Text Config File

All settings in a single config.toml file. AI agents can configure SpeechButton programmatically — no GUI needed. Changes apply instantly without restart.

Text Transform Pipeline

Process text before it's pasted: run it through a script, send it to an LLM API, or transform it locally. Get cleaned-up, formatted, or translated text — all from your voice.

🔌

Hotkey Channels

Hold Command, then press 1, 2, or 3 to route your speech to different destinations. Send voice to one agent, then switch to another with a different channel — perfect for multi-agent workflows.

🔗

Webhook & File Output

Send transcribed text to a webhook URL for integrations, or log everything to a file for history and audit. All outputs work simultaneously — paste, file, webhook, and exec at once.

📱

iPhone as Wireless Mic

Use your iPhone as an external microphone. With keep_hot = true the mic stays always-on — no 300ms wake-up delay when you start talking. Same blazing fast response, even over wireless.

{}

Text & JSON Output

Choose output_format = "text" for plain text or "json" for structured data with timestamps, language, and confidence — ideal for programmatic pipelines.

~/.config/speechbutton/config.toml
[global]
model = "parakeet-tdt-0.6b-v3-int8"

# Default: paste transcription at cursor
[[hotkey]]
key = "RightCommand"
name = "default"
paste = "accessibility"

# ⌘+1: clean up speech with Local AI (free, offline)
[[hotkey]]
key = "RightCommand"
channel = "1"
name = "cleanup"
transform = "prompts/cleanup.md"

# ⌘+2: translate to English with Local AI
[[hotkey]]
key = "RightCommand"
channel = "2"
name = "translate"
transform = "prompts/translate_en.md"

# ⌘+3: send to Slack
[[hotkey]]
key = "RightCommand"
channel = "3"
name = "slack"
transform = "prompts/slack_message.md"
exec = "SLACK_WEBHOOK_URL=https://hooks.slack.com/xxx integrations/send_slack.py"

# ⌘+4: create Linear issue
[[hotkey]]
key = "RightCommand"
channel = "4"
name = "linear"
transform = "prompts/linear_issue.md"
exec = "LINEAR_API_KEY=lin_api_xxx integrations/send_linear.py"

# Auto-detect iPhone mic, keep stream hot
[[device_rule]]
match = "iPhone"
keep_hot = true

Frequently Asked Questions

SpeechButton

Start Shipping by Voice

Your AI agents are waiting for instructions. Stop typing them.

 Download for macOS

Requires macOS 14 Sonoma or later · Apple Silicon (M1+)

or install via terminal:

brew install --cask speechbutton/tap/speechbutton
Copied!