VoxCPM Text-to-Speech
VoxCPM Text-to-Speech — where you start with this pack
- model
- audio
Type text, get speech. That's the whole job, and VoxCPM Text-to-Speech is the node you'll probably try first because it's the one with no setup beyond a text box. It generates natural-sounding narration from plain text with no reference clip, no transcription, no voice to manage - the model just has a default voice and reads to you.
Under the hood you're running OpenBMB's VoxCPM, a diffusion-based, tokenizer-free TTS. "Diffusion-based" is the important part: like image generation, it takes inference steps, and that's where both the quality dial and the wait live. The model is fast for its class and noticeably accurate - the community's recurring praise is that it reads long text without skipping or mangling words the way some peers do. It also has a habit of being overlooked next to Chatterbox and Kokoro, which means you're getting a serious model that fewer people are fighting over.
The inputs that matter
- model - from the pack's VoxCPM Model Loader. Everything else is just tuning this.
- text - multiline, whatever you want said.
- cfg_value (1–3, default 2) - classifier-free guidance. 2 is the sweet spot; push toward 3 if you want a firmer, more definite read, accept more robotic phrasing as the cost.
- inference_timesteps (4–30, default 10) - the diffusion step count. This is your speed/quality trade: 10 is a good default, 20+ for best fidelity, 4–6 if you're iterating and want results now.
- normalize - peak-normalize the output. Off by default; harmless to enable.
- retry_badcase (default on) - if a generation comes back bad, the model retries rather than handing you garbage.
- max_len (100–8192, default 4096) - caps how much text a single pass processes. Keep long scripts under it or split them.
Output is a single audio (AUDIO), ready for VoxCPM Save Audio. First run is the slow one: the Model Loader pulls the VoxCPM 1.5 weights from HuggingFace, a multi-GB diffusion model, and the download takes minutes.
Installing it
cd ComfyUI/custom_nodes/
git clone https://github.com/DekaNear/ComfyUI-DN-VoxCPM.git
cd ComfyUI-DN-VoxCPM
pip install -r requirements.txt
Restart ComfyUI, or use ComfyUI Manager and search "DN VoxCPM". The requirements.txt pulls voxcpm, torch, numpy, soundfile, funasr - audio packs are where ComfyUI dependency conflicts cluster, so if something breaks at install, suspect torch/transformers collisions first.
Where people get burned
- Empty text throws. The node refuses to run on a blank string, so a wildcard or variable that resolves to nothing will error rather than silently pass.
- Long utterances can go metallic. VoxCPM 1.5 has a known tendency to sound slightly metallic at the end of longer sentences. Keep lines reasonable or accept it as a model quirk.
- The "voice" is a fixed default. Want a specific person's voice? That's the sibling node, VoxCPM Audio Reference. This one is for when any decent voice will do.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | VOXCPM_MODEL | — | |
| text | STRING | VoxCPM is an innovative end-to-end TTS model designed to generate highly realistic speech. | — |
| cfg_value | FLOAT | 2.01–3 | — |
| inference_timesteps | INT | 104–30 | — |
| normalize | BOOLEAN | false | — |
| retry_badcase | BOOLEAN | true | — |
| max_lenopt | INT | 4096100–8192 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |