Nodes/ComfyUI-MegaTTS/MegaTTS3 (Simple)
ComfyUI Node

MegaTTS3 (Simple)

The no-dial version of ByteDance's TTS

By 1038lab·Created about a year ago·Updated about a year ago· 51
MegaTTS3 (Simple)
    • generated_audio
    â—„input_textâ–º
    â—„languageenâ–º
    â—„reference_voiceâ–º

    The same engine, minus the decisions

    The full MegaTTS3 node hands you five dials and immediately asks you to make choices. This one doesn't. MegaTTS3S (display name "MegaTTS3 (Simple)") runs the exact same ByteDance model with the knobs hidden: you give it text, a language, and a reference voice, and it just reads it out. If you want voice cloning to work without babysitting guidance weights, this is the node to drop into a workflow.

    What's actually different is small and worth knowing. The Simple node hardcodes the settings you'd otherwise fiddle with - 32 diffusion steps, pronunciation_strength 1.6, voice_similarity 2.5 - and simply doesn't expose generation_quality, pronunciation_strength, or voice_similarity. A t_w of 2.5 is a sensible middle: the cloned voice comes through clearly without being dialed into uncanny territory. The real trade-off is that you can't raise p_w for accent-free cross-lingual cloning (say, an English speaker reading Chinese). If that's your use case, use the full MegaTTS3 node instead. The internals are otherwise identical - same five-model pipeline (g2p → Whisper aligner → duration model → latent diffusion transformer → WaveVAE decoder), same 24 kHz output.

    Install and the gotchas you inherit

    Same pack, same install, so the painful bits come along wholesale:

    cd ComfyUI/custom_nodes
    git clone https://github.com/1038lab/ComfyUI-MegaTTS
    cd ComfyUI-MegaTTS
    pip install -r requirements.txt
    

    Restart ComfyUI, and the first run still downloads a few gigabytes of models from ByteDance's Hugging Face repo into ComfyUI/models/TTS/MegaTTS3/. It also still needs each reference voice to be a .wav plus its pre-extracted .npy sidecar in the pack's voices/ folder - ByteDance hasn't released the WaveVAE encoder, so the pack can't build that .npy for you. If the dropdown is empty or you hit "Voice feature file not found," that's the missing pair.

    One genuine difference in behavior: after each run, the Simple node tears the model down and frees VRAM. That's a gift if you're on 4–8 GB - you won't accumulate a dead-weight model in memory between generations - but it means every generation pays a reload cost. On slower machines, waiting on that is normal, not a crash.

    Wiring

    Single output, generated_audio (AUDIO), into ComfyUI's core Preview Audio to listen or Save Audio / a VHS node to write a file. The language dropdown takes en or zh. That's the whole interface - which, when you just want the words spoken in a cloned voice, is exactly the point.

    Category🧪AILab/🔊Audio

    Inputs (3)

    NameTypeDefaultDescription
    input_textSTRINGEnter the text you want to convert to speech
    languageCOMBOenSelect the language of your input text
    reference_voiceCOMBOSelect a reference voice

    Outputs (1)

    NameTypeDescription
    generated_audioAUDIO—