VibeVoice TTS (Standard)
The most natural-sounding TTS in the pack, and it clones voices for free
- vibevoice_model
- reference_audio
- audio
If you want a TTS that sounds like a person talking rather than a person reading a script, this is the node to reach for in the AIIA pack. VibeVoice TTS (Standard) runs Microsoft's VibeVoice 1.5B/7B models, and its party trick is zero-shot voice cloning: wire in a short reference clip and the output talks like that person. Leave the clip out and it falls back to a built-in high-quality seed voice, so it's also the fastest way in the pack to go from text to speech without any setup at all.
The context that matters: this is the "Standard" node for the non-streaming models (1.5B and 7B). The separate realtime 0.5B node is a different beast - no cloning, preset voices only. Don't cross them up. And if you've seen a popular "VibeVoice-ComfyUI" wrapper on GitHub, that's a different project by a different author with different model variants; treat its advice as adjacent, not transferable.
How it works
VibeVoice is an LLM-family TTS built on a Qwen2.5 base with a DDPM decoder. It generates in hybrid batches - it reads context across a whole passage rather than sentence by sentence, which is why long-form dialogue comes out with natural prosody and pacing. Your text goes in, an audio tensor comes out, and reference cloning works by conditioning on your clip.
The inputs that matter
- vibevoice_model - from the AIIA VibeVoice Loader. No loader, no node.
- text - what to say. Multiline.
- voice_preset -
Female_HQ/Male_HQ/Female/Male. Only used when noreference_audiois connected; HQ variants are the seed voices. - reference_audio (optional) - the cloning source. Resampled to 24kHz internally.
- speed (0.5–2.0) - handled by the system
soxcommand for pitch-preserving time-stretch. No sox, no clean speed control. - do_sample -
autoby default: sampling off for the 1.5B (stability), on for the 7B (expressiveness). If the 1.5B starts sounding warbly or electronic, force it toauto/false. - cfg_scale (1.3) / ddpm_steps (20) / temperature (0.8) / top_k / top_p - the diffusion and sampling dials. The defaults are the author's tested values; leave them alone unless you're chasing a specific character.
- seed - reproducibility;
-1= random.
Output: audio (AUDIO), which wires straight into AIIA Video Combine's audio_tensor or any audio preview/player.
The 1.5B vs 7B question
The author's testing (echoed by community experience) says: with do_sample on, the 1.5B is nearly indistinguishable from the 7B at twice the speed and a quarter of the VRAM (~3GB vs ~14GB). Unless you need the last few percent of emotional nuance for a hero production, 1.5B is the right pick. The 7B is for when quality is the whole job and time isn't a factor.
Install
Pack install, then the model and a couple of system deps:
cd ComfyUI/custom_nodes
git clone https://github.com/havvk/ComfyUI_AIIA.git
sudo apt-get install -y libsox-dev sox # Linux; brew install sox on macOS
Models go in models/vibevoice/microsoft/VibeVoice-1.5B/ (or models/vibevoice/vibevoice/VibeVoice-7B/). Two gotchas: transformers >= 4.51 is required, and the model needs Qwen2.5 tokenizer files that HF downloads sometimes omit - the README has the wget commands to backfill tokenizer.json, tokenizer_config.json, vocab.json, merges.txt. Flash Attention 2 is strongly recommended if you're on a 7B.
Common issues
- Electronic/garbled output.
do_sampleis the usual culprit on the 1.5B - force it off. - Speed setting does nothing (or pitch-shifts). That's missing
sox; the node falls back to a resample that changes pitch and sounds robotic. Install sox. - Tokenizer errors on load. The Qwen2.5 files are missing from the model folder. Backfill them per the README.
- Long text cuts off or drifts. The models have 8K/32K token context windows. Split long narration - the pack's
AIIA Text Splitter→ narration chain handles this for you.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| vibevoice_model | VIBEVOICE_MODEL | — | |
| text | STRING | Hello, this is a test of VibeVoice. | — |
| voice_preset | COMBO | Female_HQ | 4 options: Female_HQ, Male_HQ, Female, Male |
| cfg_scale | FLOAT | 1.31–10 | — |
| ddpm_steps | INT | 2010–100 | — |
| speed | FLOAT | 1.00.5–2 | — |
| normalize_text | BOOLEAN | true | — |
| do_sample | COMBO | auto | 3 options: auto, true, false |
| temperature | FLOAT | 0.800.1–2 | — |
| top_k | INT | 200–100 | — |
| top_p | FLOAT | 0.950–1 | — |
| seed | INT | 0-1–2147483647 | Random seed for reproducible generation. -1 = random. |
| reference_audioopt | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |