* docs(engines): a guide for every engine + index; fix two engine-metadata bugs 21 new pages under docs/engines/ (10 TTS, 10 ASR, index README) — every registered engine now has one: what it's for, platform support, model env vars, quirks with issue refs. Linked from both READMEs' engine sections. Code fixes found while verifying facts against the registries: - KittenTTS docstring claimed default voice 'Jasper'; the code default is expr-voice-2-f - the isolated-ASR sidecar read only ASR_MODEL_FW while the download preflight read ASR_MODEL_FASTER — set one and the other quietly used a different model; both now resolve ASR_MODEL_FW-override → ASR_MODEL_FASTER - moonshine's install hint named 'useful-moonshine', a package the backend never imports; now moonshine-onnx / moonshine-voice Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs(changelog): entries for the engine guides + sidecar model fix (#1556) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs(engines): second-harvest fixes — TLS guidance, matrix/code alignment, CN counts - README matrix aligned to gpu_compat (the code is the source of truth): CosyVoice macOS is CPU not MPS, IndexTTS and GGUF gain their real CUDA/CPU/MPS cells - gpt-sovits guide: prefer https/tunnel for non-loopback servers, plaintext warning; first-use download guidance on both OmniVoice pages - preflight empty-env fallback matches the sidecar (ASR_MODEL_FASTER='' no longer resolves a different repo) - nano installs via uv pip; kitten log level wording; index links install guides incl. the Gatekeeper step; README_CN engine counts 16/11 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs(readme-cn): the all-engines-local claim now excludes the remote client Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2.9 KiB
VoiceStudio — VoxCPM2 Engine
VoxCPM2 (OpenBMB) is the studio-quality option: native 48 kHz output, zero-shot voice cloning, and — uniquely among VoiceStudio's engines — voice design: creating a synthetic voice from a text description ("young female, warm tone, British accent") with no reference audio at all.
When to pick it
- You want voice design without a reference clip.
- You want the highest output sample rate (48 kHz vs OmniVoice's 24 kHz).
- Your language is among its 30 supported languages: Arabic, Burmese, Chinese, 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.
Requirements
- Python ≥ 3.10, PyTorch ≥ 2.5.
- CUDA ≥ 12 recommended for full speed; MPS (Apple Silicon) and CPU also work.
Setup
Install the package into VoiceStudio's Python environment:
pip install "voxcpm>=2.0.3"
That is a version floor, not a pin — an older install still works, but
the engine logs an upgrade hint at load time. Then select the engine via
Model Catalogue → Engines or OMNIVOICE_TTS_BACKEND=voxcpm2.
Model selection
| Variable | Default | Meaning |
|---|---|---|
OMNIVOICE_VOXCPM_MODEL |
openbmb/VoxCPM2 |
HuggingFace checkpoint to load |
The first use downloads a multi-GB checkpoint from HuggingFace. A download interrupted near the end used to abort the load outright (#1224); the load is now retried once with a fresh client. See downloading-models.md.
Behaviour notes
- Voice design: provide a description and no reference audio.
- Cloning: the reference clip is prepared before use (edge-silence trim and length cap) so dead air in a raw clip doesn't condition the output; on any prep problem the raw clip is used as-is.
- Style instructions are passed as an inline prefix to the text.
- VoxCPM2 emits mastered, studio-grade audio, so VoiceStudio skips its shared mastering chain (which is tuned for 24 kHz engines) — only benign loudness normalization applies.
- A trailing-silence guard trims long near-silent tails from generations, keeping a short natural tail.
Known limits
- Slower than the lightweight CPU engines — see benchmarks.md and performance.md.
- Language coverage is 30 languages; for anything else use the default OmniVoice engine (languages.md).
Troubleshooting
- Engine shows unavailable: the
voxcpmpackage isn't installed — run thepip installabove and restart VoiceStudio. - Repeated first-download failures: check connectivity/HF access, then see install/troubleshooting.md.
See also: expressive-speech.md, disk usage.