diff --git a/stacks/chatterbox/README.md b/stacks/chatterbox/README.md index c01b606..42bfbd1 100644 --- a/stacks/chatterbox/README.md +++ b/stacks/chatterbox/README.md @@ -30,12 +30,16 @@ real-time voice-agent use cases. - **Zero-shot voice cloning from ~5 s reference** (base Chatterbox needs ~10 s; Turbo cuts that in half). - **Native paralinguistic tags inline in text** — drop these into your - prompt and the model honors them: + prompt and the model honors them. Turbo ships exactly **9** tags + (verified against the live model at `/api/model-info`): ``` - [laugh] [cough] [sigh] [gasp] [whisper] [breath] + [laugh] [chuckle] [sigh] [gasp] [cough] [clear throat] [sniff] [groan] [shush] ``` - Different shape from IndexTTS-2's 8-vector emotion control: cleaner - for "say it like this" markup directly in the prompt. + Note: base Chatterbox docs list `[whisper]` and `[breath]` — those + are NOT in the Turbo set, ignore them or you'll burn time wondering + why nothing happens. Different shape from IndexTTS-2's 8-vector + emotion control: cleaner for "say it like this" markup directly in + the prompt. - **Mandatory PerTh watermark** on outputs (Resemble policy, cannot be disabled). Non-issue for internal use; mention it if you ever ship Chatterbox-generated audio externally. diff --git a/stacks/qwen3-tts/.env.example b/stacks/qwen3-tts/.env.example index 382c1ed..25f898c 100644 --- a/stacks/qwen3-tts/.env.example +++ b/stacks/qwen3-tts/.env.example @@ -26,15 +26,22 @@ QWEN3_TTS_BIND=0.0.0.0 QWEN3_TTS_BACKEND=official # Model variant. Upstream publishes four checkpoints on HF: -# Qwen/Qwen3-TTS-12Hz-1.7B-Base — flagship, supports voice cloning -# Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice — flagship, preset voices only -# Qwen/Qwen3-TTS-12Hz-0.6B-Base — lightweight, supports voice cloning -# Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice — lightweight, preset voices only +# Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice — flagship, supports voice cloning + preset voices (RECOMMENDED) +# Qwen/Qwen3-TTS-12Hz-1.7B-Base — flagship, foundation only — REJECTS all synthesis through this wrapper +# Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice — lightweight cloning-capable variant +# Qwen/Qwen3-TTS-12Hz-0.6B-Base — lightweight foundation only # 1.7B = ~6–8 GB VRAM bfloat16, best quality. 0.6B = ~2–3 GB. -# `voice="clone:"` only works with the -Base variants — that's -# what the upstream wrapper enforces. Earlier versions of this file -# had the variant labels reversed; corrected 2026-04-24. -QWEN3_TTS_MODEL=Qwen/Qwen3-TTS-12Hz-1.7B-Base +# +# IMPORTANT: the wrapper's only synthesis code path goes through the +# voice cloning machinery. The -Base variants do NOT expose +# generate_custom_voice; they error with "does not support +# generate_custom_voice" on every request, no matter what voice you +# specify (built-ins like Ryan, Vivian etc. count as custom voices). +# Use -CustomVoice. The Base variant is foundation-model territory +# that needs a different harness to be useful. +# (This file had the labels backwards through 2026-04-27 — fixed +# after the 2026-04-27 voice-fleet bench surfaced the failure mode.) +QWEN3_TTS_MODEL=Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice # Warm the model on container start so the first synthesis request # doesn't pay the load latency. Adds ~30 s to startup. Recommended.