CosyVoice 3.0 TTS (AIIA)
Five ways to make it talk, from clone to 'describe a voice'
- model
- reference_audio
- audio
This is the one node that speaks with the entire CosyVoice family - V1's 300M, V2, and the 3.0 0.5B - and switches its behavior to match whatever the Loader handed it. The author's framing is "版本自适应" (version-agnostic), and it's not hype: the same text field does different things depending on which model you loaded, and the node knows which. That flexibility is the whole point. CosyVoice 3.0 is one of the best open TTS models around - 3-second cloning, natural emotion, real dialect support - and this node is how you drive it without touching the upstream code.
The five generation modes
The README breaks it into five, and they're worth internalizing:
- Instruct - text plus a style description ("speak very slowly, magnetic tone"). The description controls performance, not identity.
- Zero-shot clone - text plus a short
reference_audio. The clone path; V3 needs only ~3 seconds. - Hybrid - reference audio for identity plus a description for emotion/dialect.
- Cross-lingual - a cloned voice speaking any of the 9 supported languages.
- SFT / fixed ID - pick a built-in voice via
spk_id.
The inputs that matter
- tts_text - what it says. CosyVoice uses a streaming architecture, so long text isn't a problem here (unlike the token-window-limited models in this pack).
- instruct_text - the style/emotion/dialect description. With V3 this is powerful and literal: "在大雨中嘶吼" works. The README's tip: specific scene descriptions ("whispering at 3am") land better than single adjectives.
- reference_audio (optional) - the clone source. For V3, feed the highest-quality clip you have; the model rewards it.
- base_gender - Female/Male, the identity fallback when you're in pure instruct mode with no reference audio.
- dialect / emotion - preset dropdowns (Cantonese, Sichuan, Henan... and Happy, Sad, Robotic, even "Peppa Pig style") that get prepended to your instruction. Handy, but the free-text field does the same thing.
- speed / seed - the usual.
- spk_id - for SFT mode (e.g.
pure_1). Leave empty for zero-shot models.
Output: audio (AUDIO).
Version-specific traps
- 300M-Instruct needs English instructions. The README is emphatic: "Sad tone", "Fast speed" work; Chinese instructions get silently ignored. There's also a fixed bug where the model used to read its own instruction aloud.
- 300M-Instruct can't do dialects - architecture limitation, not a setting.
- The 0.6B/0.5B V3 class wants a reference audio for the "identity" layer; without one it falls back to a built-in seed voice based on
base_gender, which is fine for testing but not for shipping a character.
Wiring it up
CosyVoice Model Loader → CosyVoice 3.0 TTS → Audio Enhance (Resemble) → Audio Post-Process. That's the "sounds like a real recording" chain, because CosyVoice outputs at 22/24kHz and the enhance step rebuilds the missing top end.
Troubleshooting
- Instructions do nothing - you're on a Base/SFT-style model that doesn't take them, or on 300M-Instruct with Chinese text.
- Clones sound flat - V3's clone quality scales with reference quality; give it a clean, unprocessed clip.
- Crashes (
AudioDecoder,KeyError) - the old upstream bugs; the pack ships fixes, but keep your PyTorch off 2.9.x (the README documents the regression).
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COSYVOICE_MODEL | — | |
| prompt_label_1 | STRING | 📖 第一步:在此输入您想让 AI 说的话 (TTS Text) | — |
| tts_text | STRING | 你好,这是 CosyVoice 3.0 的全能模式测试。 | — |
| prompt_label_2 | STRING | 🎨 第二步:在此输入对表现力/情感的文字描述 (Style Description) | — |
| instruct_text | STRING | 语速非常慢,语气充满磁性,情感饱满。 | 文字描述:在 0.5B 中主要控制情感、方言、语速等'表现风格',而非从零生成音色身份。 |
| base_gender | COMBO | Female | 基础性别底色。在“描述生成”模式下,这提供初始的声音身份(性别/音感底色)。 |
| dialect | COMBO | None (Auto) | 预设方言指令。会自动添加在自定义描述之前。若与自定义文字描述冲突,模型表现将不可预测。 |
| emotion | COMBO | None (Neutral) | 预设情感指令。会自动添加在自定义描述之前。 |
| spk_id | STRING | 固定音色 ID (如 pure_1)。对于 0.5B/V3 等 Zero-Shot 模型,此项通常为空,需配合参考音频使用。 | |
| speed | FLOAT | 1.00.5–2 | — |
| seed | INT | 42-1–2147483647 | — |
| reference_audioopt | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |