Nodes/ComfyUI-FL-VoxCPM/FL VoxCPM V2 TTS
ComfyUI Node

FL VoxCPM V2 TTS

Design a voice from a sentence, clone one from a clip — one node, five modes

By filliptm·Created 7 months ago·Updated 4 months ago· 32
FL VoxCPM V2 TTS
  • reference_audio
  • prompt_audio
  • Generated Audio
model_nameVoxCPM2
lora_nameNone
modeVoice Design
textHello, this is a test of VoxCPM V2.
cfg_value2.0
inference_timesteps10
min_tokens2
max_tokens2048
normalize_texttrue
seed-1
force_offloadfalse
devicecpu
retry_max_attempts3
retry_threshold6.0
control
reference_text
prompt_text

This is the flagship node of the filliptm/ComfyUI-FL-VoxCPM pack, and it's the version worth getting excited about. It runs OpenBMB's VoxCPM2 - 2B parameters, 48kHz "studio" audio, 30 languages - and wraps the whole thing in five modes that range from "read this aloud in a made-up voice" to "recreate this specific person from two audio clips." No API keys, no account; the model downloads to your machine on first run.

The headline feature that the V1 node can't do: Voice Design. You type a sentence describing a voice - "young woman, warm and gentle voice" - into the control box, type what you want said into text, and queue. No reference audio at all. That's the mode the author quietly hides in the example workflow; it's genuinely novel and it works.

The five modes

The mode dropdown decides which inputs you must wire:

  • Text to Speech - just text. The plain V2 voice, no inputs required.
  • Voice Design - text + control. A voice invented from a description. The node rejects audio inputs here, so unplug them.
  • Voice Cloning - text + reference_audio. Clone from a short clip.
  • Controllable Cloning - text + reference_audio + control. Clone the voice, then steer its style/emotion with the description. This is the mode people actually reach for once they try it.
  • Ultimate Cloning - everything: reference_audio + reference_text + prompt_audio + prompt_text. Maximum fidelity by giving the model the identity clip and a continuation clip with transcripts. It's the most demanding setup and the most faithful result.

Mechanically, modes that use control just prepend it to the text - the model sees (description)target text - and the audio inputs get written to temp WAV files that V2 consumes by path, then cleaned up. The same retry guard from the V1 node is here: retry_max_attempts/retry_threshold re-roll babbled output.

Inputs that matter

  • mode - pick your job first; it decides the rest.
  • control - the voice description. The secret ingredient.
  • reference_audio / reference_text / prompt_audio / prompt_text - the cloning plumbing. Reference audio is required for any cloning mode; prompt_text/reference_text are exact transcripts, so pair this node with FL VoxCPM Transcribe.
  • cfg_value (2.0) and inference_timesteps (10) - same diffusion dials as V1. Lower cfg = more natural, higher = more faithful to the reference.
  • lora_name - loads a trained VoxCPM LoRA from models/loras/VoxCPM/ to push a voice further.

Output is Generated Audio (AUDIO), and the node is an output node, so it previews/saves on its own and also feeds downstream audio nodes.

Installation and hardware

Same pack as the rest - Manager → "FL VoxCPM", or the clone + pip install -r requirements.txt routine. The catch with V2 is that it's a 2B model: roughly 10GB VRAM for inference, ~20GB for training, 16GB RAM minimum. If you're on a 12GB card it fits; on less, you're on the V1 node. First run downloads the weights to ComfyUI/models/tts/VoxCPM/, so the console is your friend.

Common issues

  • "V1 model - use the V1 node" - you picked a V1 model in model_name; this node guards against it.
  • Voice Design says it rejects audio - you left a reference_audio connected from a previous mode. Unplug it.
  • Cloning is off - check your reference_text/prompt_text are accurate. Wrong transcripts are the number one cloning killer, and the pack's Transcribe node exists precisely to fix that.
  • Speed complaints - V2 is heavier than V1; if latency is the bottleneck and fidelity isn't, drop to the V1 node.
CategoryFL/VoxCPM

Inputs (19)

NameTypeDefaultDescription
model_nameCOMBOVoxCPM2Select a VoxCPM V2 model.
lora_nameCOMBONoneSelect a LoRA from loras/VoxCPM/.
modeCOMBOVoice DesignGeneration mode.
textSTRINGHello, this is a test of VoxCPM V2.Text to synthesize.
cfg_valueFLOAT2.01–10Guidance scale.
inference_timestepsINT101–100Number of diffusion steps.
min_tokensINT21–100Minimum audio token length.
max_tokensINT204864–8192Maximum audio token length.
normalize_textBOOLEANtrueEnable text normalization.
seedINT-1-1–18446744073709550000Seed for reproducibility. -1 for random.
force_offloadBOOLEANfalseForce VRAM offload after generation.
deviceCOMBOcpuInference device.
retry_max_attemptsINT30–10Max retry attempts for bad output.
retry_thresholdFLOAT6.02–20Audio/text ratio threshold for retry.
controloptSTRINGVoice design instructions, e.g. 'young woman, gentle and sweet voice'. Used in Voice Design and Controllable Cloning modes.
reference_audiooptAUDIOV2 voice identity reference audio. Used in Voice Cloning, Controllable Cloning, and Ultimate Cloning.
reference_textoptSTRINGTranscript of reference audio. Used in Ultimate Cloning mode.
prompt_audiooptAUDIOContinuation audio. Used in Ultimate Cloning mode.
prompt_textoptSTRINGTranscript of prompt audio. Used in Ultimate Cloning mode.

Outputs (1)

NameTypeDescription
Generated AudioAUDIO