Voice Design (QwenTTS) Advanced
Voice design, but now you can stop the humming too
- audio
The basic Voice Design (QwenTTS) node is the fun one - describe a voice, get a voice. Voice Design (QwenTTS) Advanced is that same idea with the sampler exposed, and it exists for the same reason every Advanced variant in this pack exists: the defaults are fine until they aren't, and Qwen3-TTS has a couple of habits you can only fix from the advanced surface.
Same core, more dials
Everything about the core is unchanged: text to speak, instruct as the voice description (the whole point of the model - pitch, age, accent, emotion, all in free text), model_size locked to 1.7B (there's no 0.6B VoiceDesign), and language with Auto + 10. It loads the Qwen3-TTS-12Hz-1.7B-VoiceDesign model, auto-downloaded to ComfyUI/models/TTS/Qwen3-TTS/.
The Advanced node adds device (auto/cpu) and precision (bf16/fp16/fp32) as required inputs - auto+bf16 on CUDA, and note the Apple Silicon behavior: MPS forces fp16 under the hood.
Then the optional stack:
max_new_tokens(256–4096, default 2048) - the same "why is there 20 seconds of noise after my sentence" control as everywhere else in this pack. Short text → 512–1024.do_sample(defaultfalse) - the pack's stability advice: leave it off. Voice Design with sampling on drifts into "ignores the instruction" territory faster than the clone does.repetition_penalty(default 1.0) - bump to ~1.1 if you hear syllable loops.temperature,top_p,top_k- the usual; defaults are fine.attention-auto/sage_attn/flash_attn/sdpa/eager.autopicks FlashAttention 2 if you've installed it, else SageAttention, else SDPA. The optional installs are CUDA-only and entirely optional:pip install flash-attn --no-build-isolation pip install sageattention # experimentalseed,unload_modelsas usual.
Output: one audio (AUDIO).
Where the advanced knobs actually pay off
The two complaints you'll hear about Voice Design are "it ignores my style" and "it trails off into hum." The second one is squarely max_new_tokens - fixable here, unfixable on the basic node. The first is usually instruction quality and language matching: describe in the language you're generating, and be concrete about pitch/speed/age rather than vague. Greedy decoding (do_sample=false) also keeps the voice stable across a long paragraph, which is what you want when a character has to hold a consistent timbre.
Install
Same pack, same path as every node here - ComfyUI Manager (search ComfyUI-QwenTTS) or:
cd ComfyUI/custom_nodes && git clone https://github.com/1038lab/ComfyUI-QwenTTS.git
python3 -m pip install -r ComfyUI/custom_nodes/ComfyUI-QwenTTS/requirements.txt
If you hit 'Qwen3TTSTalkerConfig' object has no attribute 'pad_token_id', your transformers is a 5.x nightly - pin transformers==4.57.3 and tokenizers<0.20, then restart.
One honest limit no knob fixes: Voice Design produces good broad voice types and unreliable precise accents. If your use case is "exactly this accent, exactly this person," stop designing and go clone. If it's "a voice that feels like this," this is the right tool - and the Advanced node just makes it behave.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Hello from Qwen3-TTS VoiceDesign. | Text to synthesize |
| instruct | STRING | A warm, gentle female voice. | Voice description |
| model_size | COMBO | 1.7B | 1 options: 1.7B |
| device | COMBO | auto | 2 options: auto, cpu |
| precision | COMBO | bf16 | 3 options: bf16, fp16, fp32 |
| language | COMBO | Auto | 11 options: Auto, Chinese, English, Japanese, Korean, French, +5 |
| max_new_tokensopt | INT | 2048256–4096 | — |
| do_sampleopt | BOOLEAN | false | — |
| top_popt | FLOAT | 0.900–1 | — |
| top_kopt | INT | 500–200 | — |
| temperatureopt | FLOAT | 0.900.1–2 | — |
| repetition_penaltyopt | FLOAT | 1.000.5–2 | — |
| attentionopt | COMBO | auto | 5 options: auto, sage_attn, flash_attn, sdpa, eager |
| unload_modelsopt | BOOLEAN | true | — |
| seedopt | INT | -1-1–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |