First public release of auto-speech — Claude Code, out loud.
Highlights
Playback engine
- Local Kokoro-82M TTS on Apple Silicon (mlx-audio) — no cloud TTS, no API keys
- Fibonacci-scaled buffered playback through mpv: sub-second time-to-first-audio on long responses
- Source-hash replay cache;
/auto-speech-replayre-speaks instantly
End-of-turn autoplay
- A Claude Code Stop hook reads each completed response aloud — on by default, per-session opt-out
verbatim/small/medium/largeread modes; all/solo session scope- Cross-session FIFO queue with coalescing and dedup — an active playback is never cut off
Web app + Chrome extension
- Localhost web app (
127.0.0.1:7860): paste-to-speak with Claude-CLI rewrite, transport controls, replay browser, multi-voice - AutoSpeech Chrome extension (v0.4.0, attached below): right-click → speak selection, backed by the local server with browser-voice fallback
Real-time narrator (optional)
- Hook events → phase classifier → local MLX LLM → one spoken sentence per phase transition, while Claude works
Install
Apple Silicon Mac + Homebrew + uv required.
git clone https://github.com/JoshuaRamirez/auto-speech && cd auto-speech
bash setup/install.sh # venv + locked deps + mpv + jq
bash setup/verify.sh # you should hear audio
bash setup/install-plugin.sh # 8 slash commands
bash setup/install-hook.sh # the autoplay Stop hookFull quickstart and options in the README.
Security
Local-first by design: synthesis and narration run entirely on-device; the server binds loopback and grants CORS solely to Chrome-extension origins; hooks are installed transparently and the optional self-update runs uv sync against the committed lockfile only. The rewrite step that shapes text for speech goes through your own claude CLI login — the same trust boundary as typing into Claude Code. Full threat model and reporting: SECURITY.md.
Docs
README · Operations runbook · Contributing · Design history (OOAD spec, 14 ADRs, per-phase designs)
Assets
auto-speech-chrome-extension-v0.4.0.zip— the AutoSpeech extension, built from this tag. Unzip, thenchrome://extensions→ Developer mode → Load unpacked. Requires the local web app running for Kokoro-quality audio (falls back to browser voices otherwise).
Full change list: CHANGELOG.md