SOPs
Free TTS with Andrew Neural
Andrew Neural is my preferred free TTS voice — a Microsoft neural voice (en-US-AndrewNeural) accessed through the edge-tts Python library, which hits Microsoft’s free endpoint. No API key, no subscription, no cost.
How it runs
Section titled “How it runs”All voice output in my Claude Code setup routes through ~/apps/cc/speak-screen.py. The script reads the voice name from ~/apps/cc/edge-tts-voice, fetches audio from the Edge TTS endpoint, and plays it with ffplay. If edge-tts is not installed, it falls back to the native macOS say command — but a PreToolUse hook (~/apps/cc/hooks/no-raw-say.py) blocks direct say calls, so Andrew Neural is the default everywhere.
Usage pattern
Section titled “Usage pattern”while pgrep -x say >/dev/null || pgrep -x afplay >/dev/null; do sleep 0.3; done && python3 ~/apps/cc/speak-screen.py --rate 220 << 'ENDVOICE'[text to speak]ENDVOICEUsed for Claude Code responses, standup scripts, daily briefings, and any automation that needs to speak.
Related
Section titled “Related”- Voice system rules:
~/apps/cc/memory/topic_voice_system.md - Speech wrapper source:
~/apps/cc/speak-screen.py - Raw
sayguard:~/apps/cc/hooks/no-raw-say.py