Nodes/ComfyUI-VoxCPM/VoxCPM Voice Cloning
ComfyUI Node

VoxCPM Voice Cloning

Wire in reference or prompt audio to clone a voice

By wildminder·Created 11 months ago·Updated 4 months ago· 496
VoxCPM Voice Cloning
  • prompt_audio
  • reference_audio
  • VOICE_CONFIG
trim_silencefalse
prompt_text

This is the config node that holds VoxCPM's actual cloning inputs, separated out from the main VoxCPM TTS node so your graph doesn't get cluttered with audio-loader spaghetti feeding directly into the TTS node. Build one of these, wire in your reference or prompt audio, and connect its output to the TTS node's voice_config slot.

One thing worth clearing up immediately, because the pack's own README flags it twice: voice design is not in this node. If you're looking for the field where you type "warm female voice" or "deep male voice with slight rasp," that's voice_design on the main TTS node itself, not here. This node is specifically for cloning from actual audio, not describing a voice in words.

Two cloning modes, and a third that combines them

  • prompt_audio + prompt_text - the "continuation" style clone that works on both VoxCPM1.5 and VoxCPM2. You give it a reference clip and the exact transcript of what's said in it, and the model continues speaking in that voice. prompt_text is required whenever prompt_audio is connected - this isn't optional metadata, the model actually needs to know what was said to clone correctly.
  • reference_audio - VoxCPM2 only, and no transcript needed. This is the "isolated identity" mode: point it at a clean sample of a voice and it clones the timbre without you having to transcribe anything.
  • Connect both at once and you get what the pack calls "ultimate cloning" - reference_audio supplies the identity, prompt_audio supplies the prosody, and together they're the most faithful reproduction the pack can produce.

trim_silence (off by default) runs VAD-based silence trimming on the reference/prompt audio before it goes into the model - useful if your clip has dead air at the start or end.

The output is a single VOICE_CONFIG bundle (type VOICE_CLONING_CONFIG) that only does something plugged into the TTS node's voice_config input.

Getting a good clone

The pack's README is specific about what actually moves the needle on prompt_audio clones, and it's worth taking at face value since it's the author's own guidance: the transcript in prompt_text needs to be a verbatim, word-for-word match of the audio - not a paraphrase, not a description. Punctuation matters too, because it drives intonation. And for clip length, 5–15 seconds of clean, continuous speech is the sweet spot; longer isn't automatically better here.

Installing it

Ships with the rest of ComfyUI-VoxCPM - nothing separate to grab. ComfyUI Manager: search ComfyUI-VoxCPM. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/wildminder/ComfyUI-VoxCPM.git
cd ComfyUI-VoxCPM
pip install -r requirements.txt

Restart, and it's under audio/tts/config next to the TTS node.

Common issues & troubleshooting

Clone comes out sounding wrong or off-transcript. Almost always a mismatch between prompt_text and what's actually said in prompt_audio. If the transcript is paraphrased, missing punctuation, or just wrong in a spot, the model has bad information to work from - go back and match it word for word.

Reference audio being cloned instead of the voice design description working. This is expected, not a bug - connecting reference_audio or prompt_audio makes the TTS node clone from that audio and ignore voice_design entirely, even if you've typed something into it. Disconnect the audio if you actually want the text-described voice.

reference_audio connected but nothing happens, or results look like plain zero-shot. Check the model - reference cloning is VoxCPM2 only. On VoxCPM1.5 you need prompt_audio plus a matching prompt_text instead.

Noisy or hissy reference clips producing muddy clones. Turn on trim_silence - it won't clean up noise within speech, but it trims dead air at the boundaries that can otherwise confuse the model's read on where the voice actually starts.

Categoryaudio/tts/config

Inputs (4)

NameTypeDefaultDescription
trim_silenceBOOLEANfalse(VoxCPM2) Trim silence from reference/prompt audio using VAD.
prompt_textoptSTRINGTranscript of the prompt audio. Required when using prompt_audio.
prompt_audiooptAUDIOPrompt audio for voice cloning (continuation mode). Requires prompt_text.
reference_audiooptAUDIO(VoxCPM2) Reference audio for voice cloning (isolated mode). No transcript needed.

Outputs (1)

NameTypeDescription
VOICE_CONFIGVOICE_CLONING_CONFIG