Nodes/ComfyUI-QwenTTS/Custom Voice (QwenTTS) Advanced
ComfyUI Node

Custom Voice (QwenTTS) Advanced

Same nine voices, but now you get to drive the sampler

By 1038lab·Created 7 months ago·Updated 7 months ago· 249
Custom Voice (QwenTTS) Advanced
    • audio
    textHello from Qwen3-TTS.
    speakerRyan
    model_size1.7B
    deviceauto
    precisionbf16
    languageAuto
    instruct
    max_new_tokens2048
    do_samplefalse
    top_p0.90
    top_k50
    temperature0.90
    repetition_penalty1.00
    attentionauto
    unload_modelstrue
    seed-1

    The basic Custom Voice (QwenTTS) node is great until it isn't. The moment your narration hums on past the final word, or you want it faster on a weak GPU, or you need a specific device/dtype - you want this one. Custom Voice (QwenTTS) Advanced is the same preset-speaker Qwen3-TTS generation, with every knob the basic node hides exposed.

    What you get on top

    The core job is identical: pick one of the nine preset speakers (Aiden, Dylan, Eric, Ono_Anna, Ryan, Serena, Sohee, Uncle_Fu, Vivian), type your text, get an AUDIO out. What the Advanced node adds is the sampler surface - and in this pack, that surface is exactly what fixes the two most-reported Qwen3-TTS problems.

    The required inputs it adds over the basic node are device (auto/cpu) and precision (bf16/fp16/fp32). On a modern NVIDIA card, auto + bf16 is right. If you're CPU-only, drop to fp16 or fp32 - bf16 on CPU is slower than you'd think. Note the pack's trick for Apple Silicon: MPS forces fp16 regardless of what you pick, because that's what MPS likes.

    The optional inputs that actually matter

    • max_new_tokens (default 2048, range 256–4096) - this is the big one. Too high and short text generates trailing humming/noise; the README's own fix is 512–1024 for short lines. This is the "make it stop humming" control.
    • do_sample (default false) - the pack's stability recommendation is to keep it off. Qwen3-TTS is much more consistent greedy.
    • attention - auto/sage_attn/flash_attn/sdpa/eager. On CUDA, auto picks FlashAttention 2 if installed, then SageAttention, then plain SDPA. Both flash-attn and sageattention are optional CUDA-only installs - don't expect them to exist unless you pip-installed them:
      pip install flash-attn --no-build-isolation
      pip install sageattention   # experimental
    • temperature, top_p, top_k, repetition_penalty - standard sampling knobs. Defaults (0.9/0.9/50/1.0) are sensible; bump repetition_penalty slightly if you hear the model getting stuck repeating syllables.
    • seed - set it to reproduce a take; -1 for random.

    Plus the same instruct style-instruction text and unload_models (default true) from the basic node.

    Install and models

    Same pack, same story as every node here: ComfyUI Manager or

    cd ComfyUI/custom_nodes && git clone https://github.com/1038lab/ComfyUI-QwenTTS.git
    

    then install requirements.txt with ComfyUI's python. The CustomVoice models (1.7B or 0.6B) auto-download to ComfyUI/models/TTS/Qwen3-TTS/ on first use - a few GB, so expect the first generation to be slow.

    Gotchas

    • The 'pad_token_id' transformers error means you're on a transformers 5.x nightly - pin transformers==4.57.3 and tokenizers<0.20.
    • If you set attention=flash_attn but never installed flash-attn, the node silently falls back to SDPA. That's fine; just know the dropdown isn't a guarantee.
    • Advanced nodes give you the power to make it worse. Keep do_sample=false and a sane max_new_tokens and you'll mostly avoid the "2-minute clip of stuttering" complaint people level at Qwen3-TTS clones - which, to be fair, is usually a clone-node problem, not a preset-voice problem.
    Category🧪AILab/🎙️QwenTTS

    Inputs (16)

    NameTypeDefaultDescription
    textSTRINGHello from Qwen3-TTS.Text to synthesize
    speakerCOMBORyan9 options: Aiden, Dylan, Eric, Ono_Anna, Ryan, Serena, +3
    model_sizeCOMBO1.7B2 options: 0.6B, 1.7B
    deviceCOMBOauto2 options: auto, cpu
    precisionCOMBObf163 options: bf16, fp16, fp32
    languageCOMBOAuto11 options: Auto, Chinese, English, Japanese, Korean, French, +5
    instructoptSTRINGStyle instruction
    max_new_tokensoptINT2048256–4096
    do_sampleoptBOOLEANfalse
    top_poptFLOAT0.900–1
    top_koptINT500–200
    temperatureoptFLOAT0.900.1–2
    repetition_penaltyoptFLOAT1.000.5–2
    attentionoptCOMBOauto5 options: auto, sage_attn, flash_attn, sdpa, eager
    unload_modelsoptBOOLEANtrueUnload cached models after generation
    seedoptINT-1-1–18446744073709550000

    Outputs (1)

    NameTypeDescription
    audioAUDIO