SpeechButton 3D key
⚡ The voice layer for AI-powered development

Blazing Fast
Speech to Text Router

Push-to-talk speech-to-text for macOS. Never lose the first word — recording starts in 7ms. 100% local, 25 languages

Talk to Claude Code, ChatGPT, Copilot and multi-agent workflows — 10x faster than typing.

🎤 Your voice
├─📝 Paste in active app
├─⌘+1🤖 Claude Code CEO Agent
├─⌘+2💬 Slack
└─⌘+3🔄 Transform → ✅ Linear
 Download for macOS Free 15 min/day · macOS 14+ · Apple Silicon

Why SpeechButton

Everything runs on your Mac. No accounts, no servers, no cloud.

🔒

100% Private & Local

Your voice never leaves your Mac. Transcription runs entirely on the Apple Neural Engine via CoreML. No internet required.

🌍

25 Languages

Auto-detect and transcribe English, Spanish, French, German, Japanese, Chinese, and 19 more languages. Switch mid-sentence.

7ms Instant Capture

Press the key — recording starts in 7 milliseconds. Other apps take 200ms+ and lose the first word. SpeechButton captures everything from the very first syllable.

🛠

AI-Ready Text Config

All settings in a plain config.toml file. Hand it to an AI agent — it configures everything for you. Per-hotkey channel bindings, transform pipelines, device rules. Professional-grade control without a GUI.

Voice Activity Detection

Talk to AI agents.
Hands free.

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

🤖 Send a task to AI agent

🎤 You say
"fix the login bug where users get a blank screen after entering their password"
✨ Prompt
"Format as: /start-task <description>, priority: high"
🚀 Delivered
/start-task Fix login bug: blank screen after password entry, priority: high
→ sent to Claude Code

📧 Draft a professional email

🎤 You say
"tell John we need two more days and apologize for the delay"
✨ Prompt
"Convert to a professional email. Polite tone, keep it short."
🚀 Delivered
Hi John,
We need two more days to complete the project. I apologize for the delay.
Best regards
→ pasted in Gmail

🌍 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

Your Voice, Any Destination

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.

📄
Type in Any App
Paste into active window
🤖
Claude Code
Remote Control API
💻
Windsurf / Copilot
AI coding assistants
💬
Slack / Discord
Team chat
📰
Social Media
Twitter, LinkedIn posts
📝
Notion / Obsidian
Notes & knowledge base
Linear / GitHub
Create issues & tasks
📧
Email
Send via API or script
🚀
Webhooks
Zapier, Make, custom APIs
🖥
Terminal
Run shell commands
📦
Telegram Bot
Channels & groups
🔗
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 Power Users

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
# Default: paste raw text in active app
[[hotkey]]
key = "RightCommand"
name = "default"

# Command+1: clean filler words via Python before pasting
[[hotkey]]
key = "RightCommand"
channel = "1"
name = "ai-cleanup"
transform = "python3 ~/scripts/clean_filler.py"

# Command+2: translate to English via LLM API
[[hotkey]]
key = "RightCommand"
channel = "2"
name = "translate"
transform = "python3 ~/scripts/translate_en.py"

# Command+3: send to Slack via bash script
[[hotkey]]
key = "RightCommand"
channel = "3"
name = "slack-post"
exec = "bash ~/scripts/slack-post.sh"
output_format = "json"       # structured output with timestamps

# Output destinations (all work simultaneously)
[output]
paste = "accessibility"      # paste in active app
file = "/tmp/speechbutton_log" # transcription history
webhook = "http://localhost:8080/transcription"

# Per-device settings (match by name)
[[device_rule]]
match = "iPhone"
keep_hot = true              # always-on mic → no 300ms wake delay

How It Works

Three steps. Zero configuration.

Step 1

Hold the Key

Press and hold Right Command (or your custom hotkey). The menu bar mic starts pulsing.

🗣
Step 2

Speak

Talk naturally in any supported language. Voice Activity Detection sends text as you talk.

Step 3

Release

Let go of the key. Text is instantly pasted into your active app. Done.

Simple Pricing

Start free. Upgrade when you need more.

Free
$0
forever
  • 15 min/day transcription
  • All models & 25 languages
  • 100% local & private
  • Push-to-talk & VAD
  • Auto-paste & auto-send
Download Free
Most Popular
Pro Monthly
$7.99 /month
billed monthly, cancel anytime
  • Unlimited transcription
  • Everything in Free
  • Hotkey channels & routing
  • Priority support
Start Free Trial
Save 27%
Pro Yearly
$69.99 /year
$5.83/mo · billed annually
  • Unlimited transcription
  • Everything in Free
  • Hotkey channels & routing
  • Priority support
Start Free Trial

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

SpeechButton

Start Talking, Stop Typing

Download SpeechButton and get instant speech-to-text on your Mac. Free 15 minutes/day. Pro: unlimited.

 Download for macOS

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