← ClaudeAtlas

afterwordslisted

Local voice-cloning TTS on Apple Silicon. Trigger when the user wants to: speak/say/read text aloud, synthesize speech, hear a voice sample, list or preview voices, clone a voice from YouTube or audio, check or fix TTS server issues, set a per-project voice (.afterwords file), configure agent-to-voice mappings, use the emotion palette API, or programmatically clone via POST /clone. Keywords: afterwords, TTS, text-to-speech, voice clone, speak this, say this, read aloud, voice preview. Do NOT trigger for: general audio editing, music, speech-to-text/transcription, or unrelated server tasks.
adrianwedd/afterwords · ★ 0 · Data & Documents · score 72
Install: claude install-skill adrianwedd/afterwords
# Afterwords — Local Voice-Cloning TTS Afterwords is a local TTS server running Qwen3-TTS (0.6B, 8-bit quantised) on Apple Silicon via MLX. It does zero-shot voice cloning from ~15-second reference WAVs — no fine-tuning, no cloud API, all on-device. The server runs on `localhost:7860` managed by launchd. The CLI is `afterwords` (or `bash <repo>/afterwords.sh` if not symlinked). ## Quick reference | What | How | |------|-----| | Speak text | `curl "localhost:7860/synthesize?text=Hello&voice=galadriel" -o /tmp/tts.wav && afplay /tmp/tts.wav` | | Server health | `curl -s localhost:7860/health` | | List voices | `curl -s localhost:7860/health \| python3 -c "import sys,json; [print(v) for v in sorted(json.load(sys.stdin)['voices'])]"` | | Start server | `bash <repo>/afterwords.sh start` | | Stop server | `bash <repo>/afterwords.sh stop` | | Restart server | `bash <repo>/afterwords.sh restart` | | Server status | `bash <repo>/afterwords.sh status` | | Clone voice | `bash <repo>/clone-voice.sh "https://youtube.com/watch?v=..." voicename 30` | | Tail logs | `bash <repo>/afterwords.sh logs` | Replace `<repo>` with the afterwords repo path (find it with: `find ~/repos -name afterwords.sh -path "*/afterwords/*" -not -path "*/.venv/*" 2>/dev/null | head -1 | xargs dirname`). ## Speaking text aloud To synthesize and play text: 1. Check the server is running: `curl -s localhost:7860/health` 2. If not running, start it: `bash <repo>/afterwords.sh start` (wait ~15s for model warmup)