WavTTS Load Model
The WavTTS node that decides whether your TTS sounds good or like a dying fax machine
- wavtts_model
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 -
autois the right default. It keeps the checkpoint's own precision. The mixed BF16 safetensor was authored with a per-tensor precision plan, sobf16here 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 -
autouses ComfyUI's current torch device; you can forcecuda,xpu, orcpu. - attention -
autoresolves to SDPA, which is what you want for 99% of setups.flash_attentionrequires theflash_attnpackage and low-precision tensors (that's why the README pairs it with the mixed BF16 checkpoint).sageattentionapplies 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.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoint | COMBO | WavTTS 16k FP32 - drbaph/WavTTS (auto-download) | Cataloged model weights from drbaph/WavTTS. FP32 is stable; mixed BF16 is the low-VRAM auto-download path. |
| dtype | COMBO | auto | Weight dtype. auto keeps the selected checkpoint dtype. FP32 is the stable WavTTS inference path. |
| device | COMBO | auto | Device for WavTTS. auto uses ComfyUI's current torch device. |
| attention | COMBO | auto | auto 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_missing | BOOLEAN | true | Download the selected preset into ComfyUI/models/wavtts/ when it is missing. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| wavtts_model | WAVTTS_MODEL | — |