Local Tts — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Local Tts (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
Aggregate score unchanged between these scans.
The primary manifest — the file an agent reads to learn what this artifact does.
Free, offline text-to-speech for Claude Code. Powered by VoxCPM2 (2B params, Apache-2.0).
30 languages. Voice design. Voice cloning. Zero API calls. Zero cost.
https://github.com/vdk888/local-tts/raw/main/demo.mp4
Every voice in this demo was generated by Local TTS — including the narrator's.
| Feature | Description |
|---|---|
| Text-to-Speech | Convert any text to natural speech in 30 languages |
| Voice Design | Describe a voice in natural language and generate it — no samples needed |
| Voice Cloning | Clone any voice from a 3-10 second reference clip |
| Offline | Runs 100% locally on your machine. No API keys, no cloud, no cost |
| Apple Silicon | Optimized for Metal (MPS) on M-series Macs |
# Add the marketplace
/plugin marketplace add vdk888/local-tts
# Install the plugin
/plugin install local-tts@local-tts-marketplaceOn first use, run the setup to create the Python environment:
/local-tts:local-ttsClaude will automatically run the setup script if the environment isn't configured yet. Or run it manually:
bash ~/.claude/plugins/cache/local-tts-marketplace/local-tts/1.0.0/scripts/setup.shRequirements:
Once installed, just ask Claude naturally:
Or invoke the skill directly:
/local-tts:local-ttsDescribe any voice — no reference audio needed:
"Say 'Welcome to our podcast' with a warm, calm female voice, mid-30s, American accent"
"Generate a voiceover with an older British man, deep voice, slow and authoritative"
Provide a short audio clip (3-10 seconds) and clone the voice:
"Clone the voice in ~/voice-sample.mp3 and say 'This is a test'"
You can combine cloning with style guidance:
"Clone ~/sample.mp3 but make it sound more enthusiastic and happy"
Arabic, Burmese, Chinese (+ dialects), Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hindi, Indonesian, Italian, Japanese, Khmer, Korean, Lao, Malay, Norwegian, Polish, Portuguese, Russian, Spanish, Swahili, Swedish, Tagalog, Thai, Turkish, Vietnamese.
No language configuration needed — just write your text in any supported language.
| Metric | Value |
|---|---|
| Model load | ~25s (cached weights) |
| Generation speed | RTF ~2.3x (10s audio in ~23s) |
| First-time setup | ~2 min (venv) + ~5 min (model download) |
| Model size | ~10 GB |
| Output format | 48 kHz WAV |
This plugin wraps VoxCPM2 by OpenBMB — a 2-billion parameter text-to-speech model supporting 30 languages with voice design and cloning capabilities. The model runs locally via PyTorch on Apple Silicon (Metal/MPS) or CUDA GPUs.
Environment variables for customization:
| Variable | Default | Description |
|---|---|---|
LOCAL_TTS_VENV | ~/.local-tts/venv | Python venv location |
LOCAL_TTS_PYTHON | python3 | Python binary for venv creation |
Apache-2.0 — free for personal and commercial use.
Built by Bubble Invest with Claude Code.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.