wildminder/ComfyUI-VibeVoice
ComfyUI custom node for the VibeVoice TTS. Expressive, long-form, multi-speaker conversational audio
ComfyUI‑VibeVoice – What it does
ComfyUI‑VibeVoice is a set of custom nodes that bring Microsoft’s VibeVoice text‑to‑speech (TTS) and automatic‑speech‑recognition (ASR) models into the visual‑programming environment ComfyUI. Once installed, the nodes appear under WMNodes/sound/tts and WMNodes/sound/asr and can be dropped into a ComfyUI graph just like any other image‑generation node.
Core capabilities
| Feature | What it means |
|---|---|
| Long‑form, multi‑speaker TTS | Up to four different voices can be spoken in a single audio file. |
| Voice cloning | Any local .wav/.mp3 can be used as a reference so the model mimics that speaker’s timbre. |
| Hybrid scripts | Mix cloned voices with speakers that reuse an already‑provided reference in the same script. |
| ASR | The companion VibeVoice ASR node returns timestamped speaker segments from an input audio file. |
| Quantized weights | Supports GGUF, fp8, int8 and 4‑bit quantisation (or the original safetensors) to reduce VRAM usage. |
| Attention back‑ends | Choose between eager, sdpa, flash_attention_2 or sage for speed/compatibility. |
| VRAM management | Models are downloaded automatically into ComfyUI/models/tts/VibeVoice/ and loaded through ComfyUI’s built‑in VRAM manager. |
Available models (downloaded on first run)
| Model | Size | Use case |
|---|---|---|
| VibeVoice‑1.5B | 3 GB | Standard long‑form TTS (high quality). |
| VibeVoice‑7B | 17.4 GB | Higher‑capacity TTS for richer voices. |
| VibeVoice‑Realtime‑0.5B | 1.5 GB | Real‑time, single‑speaker generation (uses cached .pt voice prompts). |
| VibeVoice‑ASR‑HF | 17.4 GB | Speech‑to‑text with speaker timestamps. |
Typical workflow
- Add a node –
VibeVoice TTS(orVibeVoice ASR). - Load a reference audio (optional) with a
Load Audionode and connect it tospeaker_1_voice … speaker_4_voiceto clone that speaker. Leaving an input empty makes the speaker reuse an already‑provided reference. - Write the script in the
textfield using either:[1] Hello…orSpeaker 1: Hello…
- Queue the graph – the node returns a single
AUDIOoutput containing the whole conversation.
Realtime mode (single‑speaker only)
- Select the
VibeVoice‑Realtime‑0.5Bcheckpoint. - Provide a voice‑preset
.ptfile (e.g.,en‑Carter_man.pt) inComfyUI/models/tts/VibeVoice/voices/. - Speaker‑reference inputs are ignored; the model uses the cached prompt.
- Adjust
cfg_scale(1.5‑1.8) andmax_new_tokensif the output is cut short.
Installation
- Via ComfyUI Manager – search for ComfyUI‑VibeVoice and install.
- Manual – clone into
ComfyUI/custom_nodes, runpip install -r requirements.txt, then restart ComfyUI. - Optional extras:
sageattentionfor thesagebackend (Windows wheels provided).bitsandbytesfor 4‑bit quantisation.ComfyUI-VibeVoice[audio-extra]for extra audio utilities.
Extending / loading external weights
- A
Load VibeVoice Modelnode can point to a local.gguf,.safetensorsor.binfile, overriding the built‑inmodel_name. - Side‑car JSON files (
<weights>.config.json,<weights>.preprocessor.json,tokenizer.json) let you supply custom architecture or tokenizer configs. - The loader works on CPU first, then hands the tensors to ComfyUI’s VRAM manager; quantised formats stream directly and avoid extra host‑RAM copies.
Limitations & known issues
- Realtime models are single‑speaker only – speaker tags are stripped.
- At least one reference audio is required for any cloned voice; the system cannot generate a completely zero‑shot voice.
- The experimental DynamicVRAM patch for dense BF16 checkpoints does not yet reduce host‑RAM usage (see the “Known defect” section in the README).
In short: if you already use ComfyUI for image generation and want to add high‑quality, multi‑speaker TTS or speech‑to‑text without leaving the node‑graph environment, ComfyUI‑VibeVoice provides a ready‑made bridge to Microsoft’s VibeVoice models, handling downloads, VRAM allocation, and a flexible scripting format.
Related
- Project
- Project
- Project
- Project
- Project