Nodes/WavTTS/WavTTS Load Model
ComfyUI Node

WavTTS Load Model

The WavTTS node that decides whether your TTS sounds good or like a dying fax machine

By Saganaki22·Created 3 months ago·Updated 3 months ago· 8
WavTTS Load Model
    • wavtts_model
    checkpointWavTTS 16k FP32 - drbaph/WavTTS (auto-download)
    dtypeauto
    deviceauto
    attentionauto
    download_if_missingtrue

    Every WavTTS workflow starts here. WavTTS Load Model pulls in the actual weights for the zero-shot text-to-speech model and hands them to WavTTS Generate as a wavtts_model. You can think of it like the checkpoint loader for a diffusion model: everything downstream is only as good as what this node decides to load, and unlike most loaders it has opinions about precision worth respecting.

    How it works

    The checkpoint dropdown is a catalog, not a file picker. The three presets point at hosted weights from drbaph/WavTTS (the FP32 and mixed-BF16 safetensors) plus the original training-style checkpoint, and with download_if_missing on (default), selecting one downloads it into ComfyUI/models/wavtts/ automatically. The loader also registers the module with ComfyUI's model management, so VRAM-visualization tools like Aimdo/MemoryVisualization show its real tensor residency - no fake entries.

    One detail the README is careful about: if you change any of checkpoint/dtype/device/attention, the active bundle is unloaded before the new one loads, so you don't end up with two copies sitting in memory.

    The inputs that matter

    • checkpoint - pick FP32 for the stable path, or mixed BF16 for the low-VRAM path. The third "Official" preset is the original training checkpoint, a large file; only bother if you specifically want it.
    • dtype - auto is the right default. It keeps the checkpoint's own precision. The mixed BF16 safetensor was authored with a per-tensor precision plan, so bf16 here preserves that mixed layout rather than flattening it. Pure FP16/BF16 inference is unsupported - it can produce non-finite, garbled audio. This is the trap that makes new users think the model is broken.
    • device - auto uses ComfyUI's current torch device; you can force cuda, xpu, or cpu.
    • attention - auto resolves to SDPA, which is what you want for 99% of setups. flash_attention requires the flash_attn package and low-precision tensors (that's why the README pairs it with the mixed BF16 checkpoint). sageattention applies a runtime SDPA patch when tensors are CUDA FP16/BF16. None of these are worth installing preemptively.

    The output is a single wavtts_model socket - wire it straight into Generate.

    Install

    The whole pack installs together: search WavTTS in ComfyUI Manager and restart, or

    cd ComfyUI/custom_nodes
    git clone https://github.com/Saganaki22/WavTTS-ComfyUI.git
    cd WavTTS-ComfyUI
    python install.py
    

    Run install.py (it uses uv-or-pip with --no-deps and deliberately leaves torch/torchaudio/pydantic alone) and never pip install -r requirements.txt - that file is a commented reference only. On Windows portable, replace python with ..\..\python_embeded\python.exe.

    Troubleshooting

    Garbled audio after generation? Go back to the FP32 preset with dtype=auto before touching anything else - the README is blunt that this is the fix. FlashAttention not working? You need the mixed BF16 checkpoint (low-precision attention tensors) plus a working flash_attn install; if you don't have that, attention=auto is fine and fast enough. Downloads failing? Turn off download_if_missing and drop the files in ComfyUI/models/wavtts/ yourself - wavtts-fp32.safetensors (~2.5 GiB) and wavtts-mixed-bf16.safetensors (~1.7 GiB) are the exact filenames it looks for.

    CategoryWavTTS

    Inputs (5)

    NameTypeDefaultDescription
    checkpointCOMBOWavTTS 16k FP32 - drbaph/WavTTS (auto-download)Cataloged model weights from drbaph/WavTTS. FP32 is stable; mixed BF16 is the low-VRAM auto-download path.
    dtypeCOMBOautoWeight dtype. auto keeps the selected checkpoint dtype. FP32 is the stable WavTTS inference path.
    deviceCOMBOautoDevice for WavTTS. auto uses ComfyUI's current torch device.
    attentionCOMBOautoauto resolves to sdpa. sdpa uses upstream WavTTS torch SDPA. flash_attention uses upstream flash_attn. sageattention applies a WavTTS SDPA patch during generation.
    download_if_missingBOOLEANtrueDownload the selected preset into ComfyUI/models/wavtts/ when it is missing.

    Outputs (1)

    NameTypeDescription
    wavtts_modelWAVTTS_MODEL