Nodes/ComfyUI_AIIA/VoxCPM 1.5 TTS
ComfyUI Node

VoxCPM 1.5 TTS

VoxCPM 1.5 TTS — fast, 44.1kHz, and picky about its cloning transcript

By havvk·Created about a year ago·Updated 6 months ago· 13
VoxCPM 1.5 TTS
  • voxcpm_model
  • reference_audio
  • audio
textHello, world.
speed1.0
cfg_scale3.0
inference_timesteps10
seed0
prompt_text

This is the synthesis side of the pack's VoxCPM support, and it's the speed king of the AIIA TTS lineup: text goes in, 44.1kHz audio comes out, and it's fast enough that iterating on a line of dialogue doesn't feel like waiting for a render. The one catch, and it's a real one, is voice cloning: AIIA_VoxCPM_TTS wants a transcript of your reference clip, and it will refuse to run if you don't provide one.

How it works

VoxCPM is tokenizer-free - no discrete audio tokens bottlenecking the pipeline - and the synthesis runs as a diffusion decode (that's what inference_timesteps controls). For zero-shot cloning it takes your reference audio, resamples it to 16kHz, pairs it with the transcript, and conditions generation on both. Because there's no token bottleneck, timbre and texture come through strongly from just 3–10 seconds of reference audio - this is genuinely good at catching the feel of a voice.

The inputs that matter

  • voxcpm_model - from the Loader. Nothing else accepts it.
  • text - the line to speak.
  • speed (0.5–2.0), cfg_scale (3.0 default), inference_timesteps (10 default), seed - the standard synthesis dials. More timesteps = cleaner but slower; 10 is the tested default.
  • reference_audio (optional) + prompt_text (optional) - the pair that trips everyone. Give one without the other and the node raises: "VoxCPM requires 'prompt_text' (transcript) when 'reference_audio' is provided." The transcript is what the model reads to understand what was said in the clip. When cloning, transcribe it accurately - the better the transcript, the better the clone.

Output: audio (AUDIO), ready for AIIA Video Combine's audio_tensor or a preview node.

Honest sound profile

It's 44.1kHz on paper, but that's neural upsampling, and it shows: output can come across slightly muffled or metallic with a raised noise floor, and spectral analysis reveals horizontal striping in the low end. That's the model's known character (the README documents it openly), not your setup - and it's the trade for the speed. The Loader's denoiser takes the edge off; for podcasts you may also want to run it through the pack's Audio Post-Process or AI Enhance chain.

Why reach for it

Chinese + English bilingual cloning with strong timbre fidelity, at the fastest speed in the pack. Pure TTS only - VoxCPM can't do audio-to-audio voice conversion, so if you need to change the voice of an existing recording, that's the CosyVoice conversion nodes elsewhere in the pack.

Install

Pack install plus the Loader (which pulls the model):

cd ComfyUI/custom_nodes
git clone https://github.com/havvk/ComfyUI_AIIA.git

Then add AIIA_VoxCPM_Loader and let it download openbmb/VoxCPM1.5 on first run.

Common issues

  • "VoxCPM requires 'prompt_text'..." - the #1 gotcha. Reference audio and transcript ship together; hooking up audio alone fails with a (thankfully) clear error.
  • Sounds boxy or hissy. Model character. Try the denoiser on the Loader, and consider downstream cleanup.
  • Long text. Chunk long passages - the pack's AIIA Text Splitter feeds it cleanly, and you can concatenate the audio outputs afterward.
CategoryAIIA/VoxCPM

Inputs (8)

NameTypeDefaultDescription
voxcpm_modelVOXCPM_MODEL
textSTRINGHello, world.
speedFLOAT1.00.5–2
cfg_scaleFLOAT3.01–5
inference_timestepsINT101–50
seedINT00–18446744073709550000
reference_audiooptAUDIO
prompt_textoptSTRING

Outputs (1)

NameTypeDescription
audioAUDIO