By MarcinSufa
Hear Claude talk. One-off text-to-speech on demand, plus an opt-in auto-speak mode (Stop hook) that reads every reply aloud — session-scoped so only one window speaks. Free Microsoft neural voices via edge-tts, English + Polish auto-detect, silent playback through ffplay.
Hear Claude talk. A Claude Code plugin that turns text into speech with free, offline edge-tts neural voices — and an opt-in auto-speak mode that reads Claude's replies aloud as you work.
/text-to-speech synthesizes any text and plays it.Stop hook reads every reply aloud, gated by a toggle (silent until you opt in).ffplay (no popup window); a new reply stops the previous one./plugin marketplace add MarcinSufa/claude-voice-mode
/plugin install voice-mode@claude-voice-mode
Then install the runtime dependency:
python -m pip install --user edge-tts
Requirements: Python 3.10+ on your PATH as python, and (recommended) ffmpeg/ffplay for silent playback. On Windows: winget install Gyan.FFmpeg. Without ffplay it falls back to your OS default player.
Just ask: "read this out loud", "say this", "make a voiceover of …" — or run the helper directly:
python "${CLAUDE_PLUGIN_ROOT}/skills/text-to-speech/speak.py" --voice en-US-AndrewNeural --text "Hello there"
The plugin ships the Stop hook, so no settings.json editing is needed. It stays silent until you arm it:
python "${CLAUDE_PLUGIN_ROOT}/skills/text-to-speech/voicemode.py" on # arm: this one session only
python "${CLAUDE_PLUGIN_ROOT}/skills/text-to-speech/voicemode.py" on all # every session (global)
python "${CLAUDE_PLUGIN_ROOT}/skills/text-to-speech/voicemode.py" off # stop everywhere
python "${CLAUDE_PLUGIN_ROOT}/skills/text-to-speech/voicemode.py" stop # cut current playback, stay on
python "${CLAUDE_PLUGIN_ROOT}/skills/text-to-speech/voicemode.py" status
Or just tell Claude "voice mode on" / "voice mode off". When armed, the next session to reply claims it via its session_id, and only that session speaks. A claim that goes idle past stale_hours is auto-released.
Optional ~/.claude/.voice-mode.json overrides the defaults:
{
"voice": "en-US-AndrewNeural",
"voice_pl": "pl-PL-MarekNeural",
"max_chars": 0,
"rate": "+0%",
"pitch": "+0Hz",
"stale_hours": 6
}
max_chars: 0 = read the whole reply (default). A positive value caps at a sentence boundary.python -m edge_tts --list-voices.The Stop hook does a fast gate check, then hands off to a detached worker that waits for the transcript to finish flushing before extracting the final reply (avoids reading a pre-tool preamble), strips markdown, drops code blocks, and synthesizes. Because it's detached, your session is never blocked. Shared logic lives in voice_config.py; test_voice.py covers the pure functions.
Speech is synthesized by the edge-tts library, which sends the text being spoken to Microsoft's public Edge "Read Aloud" endpoint over the network to generate the audio. In auto-speak mode that means your assistant's reply text leaves your machine; for one-off synthesis it's whatever text you asked to be read.
python (3.10+) on PATH. On systems where Python is only python3, alias it or adjust the hook command..voice-mode.json.voicemode.py stop to cut a readout short.MIT © Marcin Sufa
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub marcinsufa/claude-voice-mode --plugin voice-modeTurn your app or UI into a ~50s feature film — record your real running app (or an HTML mockup, or a terminal), narrated with AI voiceover, synced karaoke captions, a music bed, and your brand's palette/fonts/end-cards. Free tools only; one brand.yaml drives it.
Generate weekly timesheets from git commit history. Allocates hours based on commit complexity, supports holidays by country, PTO/sick days, multiple team members, project mapping, custom templates, and saved profiles.
Complete multi-agent dev pipeline. v0.5 adds the pre-PR lifecycle (atomic assignment claim, spec drafting, multi-channel pre-PR review, user-approved TDD gate) on top of v0.4's post-PR review loop. v0.5.1 polished /review-spec: --bootstrap mode, Composer fenced-block UX, cursor-cloud-agent plan probe, status-table progress visibility. v0.5.2 adds per-reviewer summary table (Model/Score/Verdict columns + outlier footer), Privacy Mode (Legacy) probe detection (exit 45), and the project's first ADR. v0.5.3 adds opt-in graphify code knowledge graph awareness: pre-flight detection of graphify-out/graph.json, advisory/strict modes, subagent + triage hint injection, state schema v3→v4 bump. Pick an assignment, walk away, come back when it's merged.
Memory compression system for Claude Code - persist context across sessions
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Editorial "Web Designer" bundle for Claude Code from Antigravity Awesome Skills.