Nodes/ComfyUI-VoxCPM/VoxCPM Generate Audio Advanced
ComfyUI Node

VoxCPM Generate Audio Advanced

One node, every VoxCPM mode — the swiss-army knife for when you've outgrown the split nodes

By starsFriday·Created 5 months ago·Updated 5 months ago· 8
VoxCPM Generate Audio Advanced
  • model
  • prompt_audio
  • reference_audio
  • audio
text你好,这是一个 VoxCPM ComfyUI 节点测试。
control_instruction
cfg_value2.0
inference_timesteps10
max_len4096
normalizefalse
denoisefalse
prompt_text

VoxCPM Generate Audio Advanced is the whole pack compressed into one node. Where the other four generation nodes each hard-wire a mode - TTS here, voice design there, two flavors of cloning - this one exposes every input and lets how you fill the sockets decide what happens. Text alone? Plain TTS. Text plus a control instruction? Voice design. Add a reference clip? Cloning. It's the node you build a workflow around once you understand the modes, and the node that will happily confuse you if you don't.

The mode map (this is the whole node)

  • text only → multilingual TTS
  • text + control_instruction → voice design
  • text + reference_audio → cloning
  • text + reference_audio + control_instruction → controllable cloning
  • text + prompt_audio + prompt_text → continuation cloning
  • text + prompt_audio + prompt_text + reference_audio → the strongest advanced setup, continuation plus a timbre anchor

Everything funnels through the same generation path, so the inputs are the union of the specialized nodes: control_instruction (the (description) style prefix), optional reference_audio and prompt_audio sockets, optional prompt_text, then the shared generation set - cfg_value (0–10, default 2), inference_timesteps (1–100, default 10), max_len (raise if audio cuts off), normalize, denoise. Output is a single audio socket.

Where it shines and where it bites

It shines in one place specifically: a large workflow where you're switching modes programmatically or don't want five near-identical nodes cluttering the graph. One node, one text field, swap the connections. If you're templating workflows or driving audio from a script, this is the one you wire.

It bites the same way every kitchen-sink node bites: leaving a socket dangling silently changes the mode. Plug in prompt_audio but forget prompt_text and the node errors out - the source explicitly requires them as a pair. Plug in a reference_audio you stopped thinking about and suddenly your "plain TTS" is cloning a voice you forgot was connected. That's why the README's advice is the right advice: learn the specialized nodes first, then graduate to this one. It's not smarter, it's denser.

Setup and troubleshooting

Same pack install as everything else: ComfyUI Manager (search "ComfyUI-VoxCPM") or git clone https://github.com/starsFriday/ComfyUI-VoxCPM.git into custom_nodes, pip install -r requirements.txt, and the openbmb/VoxCPM2 model into models/VoxCPM2. Heavy requirements, Python 3.10–3.13, CUDA ≥ 12.

The three errors you'll actually meet: prompt_text requires prompt_audio (or the reverse) - they travel as a pair; audio cutting off mid-sentence - raise max_len; a mode that's not what you intended - disconnect everything and reconnect deliberately, because the mode is defined by which sockets are filled, not by anything you click. The node has no mode selector, and that's both the feature and the trap.

Categoryaudio/VoxCPM/Advanced

Inputs (11)

NameTypeDefaultDescription
modelVOXCPM_MODEL
textSTRING你好,这是一个 VoxCPM ComfyUI 节点测试。
control_instructionSTRING
cfg_valueFLOAT2.00–10
inference_timestepsINT101–100
max_lenINT409664–65536
normalizeBOOLEANfalse
denoiseBOOLEANfalse
prompt_audiooptAUDIO
reference_audiooptAUDIO
prompt_textoptSTRING

Outputs (1)

NameTypeDescription
audioAUDIO