OutLoud

Speaker Plugin • Claude Code (Grok testing optional)

READY: OutLoud 0.2.0 • Local + Claude Code Plugin
Claude Code testing (WSL focus) • autoSpeak + /speak controls
Ready for local use & Claude Code plugin

Speaker for AI coding agents.
Visualized & configurable.

Default: edge-tts (Aria) + playsound for clean playback. Configurable TTS (incl. 4 autoSpeak keys), on-demand + opt-in auto, zero extra LLM tokens. Speaker flows for Claude Code plugin. Live dev tool (Grok testing available). Formerly claude-code-voice.

Current Mode
Claude Code Testing (WSL)
edge-tts + playsound • autoSpeak + /speak on/off/stop (0.2.0) • Direct calls + shared last-response
Primary Engine
edge-tts (default) + playsound + playsound + playsound
native / pyttsx3 available • kokoro experimental (paused)
Minimum Setup
1-2 commands
pip + ask me to set edge-tts Aria
Token Cost
ZERO extra
Just reads existing output
Minimum Commands (for local testing)
1
cd E:\vibe-code-projects\claude-code-voice (folder on disk; project = OutLoud)
2
For natural voices (recommended):
pip install edge-tts playsound
edge-tts + playsound = clean playback, very natural. kokoro experimental (paused).
3
Configure for Claude Code:
"set engine to edge-tts with Aria voice"
Default now: edge-tts + en-US-AriaNeural + playsound playback
New in 0.2.0: autoSpeak, autoSpeakMaxChars, autoSpeakSkipCodeBlocks, autoSpeakMode (see Live Config Console)
Use /speak (on/off/stop) or hotkey in Claude Code (or python scripts/speaker.py --last). 0.2.0: autoSpeak support.
What has been built (all local • OutLoud 0.2.0)
Claude Code Plugin Pieces
  • • .claude-plugin/marketplace.json
  • • hooks/ (Stop hook saves text)
  • • commands/speak.md (/speak on/off/stop/last)
  • • commands/config.md (/speaker:config)
  • • commands/setup.md (/speaker:setup - validates + guides install)
  • • skills/speaker/SKILL.md
  • • Status line badge (🔊 hardened)
Config + Engines
  • • speaker.py — default edge-tts + Aria
  • • playsound for clean MP3 playback
  • • config.json driven (4 autospeak keys in 0.2.0)
  • • Smart root speak.ps1 + .cmd
  • • Grok direct + shared last-response
How you get "button / hotkey speak" inside Claude Code
The capture is automatic
  • Claude Code: Stop hook (hooks/save-last.js) quietly writes cleaned text to last-response.txt on every final response.
  • • In Claude Code: /speak command or hotkey runs the speaker on captured output.
Auto-speak is opt-in via autoSpeak config (0.2.0+). Default: off. The LLM output is captured and made speakable on demand (or auto if enabled).
The "button"
Recommended: Global hotkey → runs scripts/speak.ps1 (or python speaker.py --last)
• Windows: PowerToys Keyboard Manager or AutoHotkey (e.g. Ctrl+Alt+S)
• Status line shows 🔊 last ~12s (hotkey or /speak)
• Claude: also type /speak
• In Claude Code: /speak or hotkey; in Claude: say "speak..."
This is the closest thing to a speaker button in the current terminal UIs.
Use visualizer to test config, then install as Claude Code plugin for full hotkey + status + /speak experience.
Quick Voice Test Steps (use in terminal / ask me)
1. Install (once)
pip install edge-tts playsound==1.2.2
2. Set default (current focus)
python scripts/speaker.py --set engine edge-tts
python scripts/speaker.py --set voice en-US-AriaNeural
python scripts/speaker.py --set autoSpeak false
python scripts/speaker.py --set autoSpeakMode full
3. Direct speak test
python scripts/speaker.py "Hello from edge-tts with playsound. This should be clean natural audio."
4. Test via root wrapper + last
.\speak.ps1 -Text "Testing root dispatcher"
.\speak.ps1 -Last
5. List voices / inspect / reset
python scripts/speaker.py --list-voices --engine edge-tts python scripts/speaker.py --config python scripts/speaker.py --set engine native
After changing config, try "speak last result with current voice" — Grok will call the real script.
Important: Nothing has been installed into any real Claude Code instance. All testing so far has been done by directly calling the speak scripts from this Grok chat using the terminal tool. Default engine is now edge-tts (Aria) with playsound for clean playback. OutLoud rebrand + autoSpeak landed in 0.2.0.
All work is local to this folder. No changes made to any Claude Code installation.
Current focus: edge-tts (Aria) + playsound for clean playback. Hotkey + /speak on/off/stop + autoSpeak + direct Grok speak. OutLoud 0.2.0.