Nodes/ComfyUI_AIIA/Qwen3-TTS Synthesis
ComfyUI Node

Qwen3-TTS Synthesis

The node that actually talks

By havvk·Created about a year ago·Updated 6 months ago· 13
Qwen3-TTS Synthesis
  • qwen_model
  • reference_audio
  • audio
text你好,这是 Qwen3-TTS 的测试。
languageChinese
speakerVivian
voice_presetNone
instruct
reference_text
zero_shot_modefalse
emotionNone
dialectNone
seed42
speed1.00
cfg_scale1.5
temperature0.8
top_k20
top_p0.95
max_batch_char1000

The Loader picks which Qwen3-TTS you're using; this node is where text becomes an actual audio tensor. Wire a qwen_model in, type a sentence, and out the other end comes speech - and if you've loaded the right model variant, you can make it sound like your voice, a stranger's voice, or a voice that doesn't exist yet. This is the highest-leverage part of the Qwen3-TTS story, so it's worth knowing which knobs actually matter.

What you set most of the time

  • text - what it says. Chinese and English both work, and the model handles the rest of the language list too.
  • language - Auto handles it, but pinning it (Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, Italian) removes ambiguity.
  • speaker - the nine built-in presets (Vivian, Serena, Uncle_Fu...). Only meaningful with a CustomVoice model.
  • instruct - the star feature. It's a natural-language style field: "生气且激动的。" or "Very happy and excited." The README's tip: end the instruction with a period, and you can stack them ("angry and excited"). With a VoiceDesign model, this field is your voice sculptor - describe the timbre directly.
  • reference_audio + reference_text - the clone path, for Base models. A few seconds of clean audio and the model does a zero-shot clone; reference_text helps it align (leave empty and it switches to zero-shot automatically).

The rest of the panel

There's a sampler panel (seed, speed, cfg_scale default 1.5, temperature, top_k, top_p) - you can mostly leave those alone and dial them only when output gets robotic. max_batch_char (default 1000) controls how much text the node feeds per batch; bump it for long reads, drop it if you're fighting VRAM. emotion and dialect are preset dropdowns (19 dialects including Cantonese, Shanghainese, Sichuanese...) that do the same job as writing the instruction by hand - convenient if you don't want to remember the phrasing.

How it behaves per model

The README's capability table is worth internalizing: Base = clone, no emotion control. CustomVoice = presets + emotion + dialect, terrible clone. VoiceDesign = describe a voice, best dialect/emotion fidelity. If you loaded a Base model and type "sad," nothing happens - that's not a bug, it's the model family. And on the 0.6B CustomVoice, VoiceDesign-style descriptions work unusually well, which is a nice surprise for a small model.

Output and wiring

One output: audio (AUDIO). From here it can go to AIIA Audio Post-Process for the mastering chain (resample, de-alias, normalize), into the AIIA dialogue pipeline, or straight to a save/preview node.

Troubleshooting

  • Instructions ignored - check which model family you loaded; Base ignores them by design.
  • Clone sounds off - feed cleaner, longer reference audio, and remember Base is the only model that clones well.
  • It's slow - the 1.7B models want Flash Attention 2, and max_batch_char at 1000 keeps batches small; raise it if you want the model to chunk less.
CategoryAIIA/Synthesis

Inputs (18)

NameTypeDefaultDescription
qwen_modelQWEN_MODEL
textSTRING你好,这是 Qwen3-TTS 的测试。
languageCOMBOChinese11 options: Auto, Chinese, English, Japanese, Korean, German, +5
speakeroptCOMBOVivian9 options: Vivian, Serena, Uncle_Fu, Dylan, Eric, Ryan, +3
voice_presetoptCOMBONoneBuilt-in voice preset for Base/Clone models. Used when no reference_audio is connected. Auto-enables zero-shot mode.
instructoptSTRING
reference_audiooptAUDIO
reference_textoptSTRING
zero_shot_modeoptBOOLEANfalse
emotionoptCOMBONone20 options: None, Happy (开心), Sad (悲伤), Angry (愤怒), Excited (兴奋), Gentle (温柔), +14
dialectoptCOMBONone19 options: None, Mandarin (普通话), Cantonese (粤语), Shanghainese (上海话), Sichuanese (四川话), Northeastern (东北话), +13
seedoptINT42-1–2147483647
speedoptFLOAT1.000.5–2
cfg_scaleoptFLOAT1.51–10
temperatureoptFLOAT0.80.1–2
top_koptINT200–100
top_poptFLOAT0.950–1
max_batch_charoptINT1000100–32768

Outputs (1)

NameTypeDescription
audioAUDIO