Claude Speak
Vocalize text using high-quality text-to-speech. British male voice (bm_george) by default.
When to Use
Invoke when user:
- Asks to "say this out loud" or "speak this"
- Wants narration or audio feedback
- Uses
/speakcommand - Requests vocalization of content
Core Command
~/Projects/claude-speak/.venv/bin/claude-speak-client "Text to speak"
That's it. The daemon runs in background via launchd - instant response.
TIP: For longer text, append & to run fire-and-forget (see "Long Text" section below).
Options
# Different voice
~/Projects/claude-speak/.venv/bin/claude-speak-client -v af_heart "Warm female voice"
# Adjust speed (default 1.0)
~/Projects/claude-speak/.venv/bin/claude-speak-client -s 1.2 "Speaking faster"
# Quiet mode (suppress errors)
~/Projects/claude-speak/.venv/bin/claude-speak-client -q "Silent on success"
# Custom timeout (default: 300s / 5 min)
~/Projects/claude-speak/.venv/bin/claude-speak-client -t 600 "Very long text..."
Long Text (3+ sentences)
For longer content, use fire-and-forget mode with shell backgrounding:
~/Projects/claude-speak/.venv/bin/claude-speak-client "Your longer text here..." &
The trailing & runs the command in the background at the shell level, so Claude Code doesn't track it as a task. The audio plays while the conversation continues—no timeout errors or false "failed" notifications.
Why this works: Claude Code's run_in_background still monitors the task and may report timeout failures even when audio completes successfully. Shell backgrounding (&) avoids this entirely.
Available Voices
| Voice | Description |
|-------|-------------|
| bm_george | British male, distinguished (DEFAULT) |
| af_heart | American female, warm |
| am_adam | American male, deep |
| bf_emma | British female, elegant |
Troubleshooting
If "Daemon not running" error:
~/Projects/claude-speak/.venv/bin/claude-speak-daemon start
Best Practices
- For short text (1-2 sentences): run normally
- For longer text (paragraphs): use
&fire-and-forget - Check daemon status if issues arise