Skip to content

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.

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.

Terminal window
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]
ENDVOICE

Used for Claude Code responses, standup scripts, daily briefings, and any automation that needs to speak.

  • Voice system rules: ~/apps/cc/memory/topic_voice_system.md
  • Speech wrapper source: ~/apps/cc/speak-screen.py
  • Raw say guard: ~/apps/cc/hooks/no-raw-say.py