ComfyUI-DN-VoxCPM
VoxCPM custom nodes for ComfyUI - High-quality Text-to-Speech with Audio Reference
Nodes (13)
ComfyUI-DN-VoxCPM
VoxCPM custom nodes for ComfyUI - High-quality Text-to-Speech with Audio Reference
By DekaNear - GitHub
Features
- 🎙️ Audio Reference - Generate speech using reference audio for voice characteristics
- 🗣️ Text-to-Speech - Generate natural-sounding speech from text
- 🎯 ASR Recognition - Automatic speech recognition for transcription
- 🔄 Batch Processing - Process multiple texts at once
- 🎨 Easy to Use - Simple ComfyUI nodes with clear inputs/outputs
Installation
Option 1: ComfyUI Registry (Recommended)
Install directly from ComfyUI Manager:
- Open ComfyUI Manager
- Search for "DN VoxCPM" or "VoxCPM"
- Click Install
- Restart ComfyUI
Option 2: Manual Installation
Clone this repository into your ComfyUI custom_nodes folder:
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 after installation.
Available Nodes
Basic Nodes
1. VoxCPM Model Loader
Load the VoxCPM model for text-to-speech synthesis.
Inputs:
model_source: "huggingface" or "local"model_id: Model ID (default: "openbmb/VoxCPM1.5")enable_denoiser: Enable audio denoisingoptimize: Use torch.compile for faster inference
Outputs:
model: Loaded VoxCPM model
Note: Models are downloaded automatically from HuggingFace on first use. The download may take a few minutes depending on your internet connection.
2. VoxCPM Text-to-Speech
Generate speech from text without audio reference.
Inputs:
model: VoxCPM modeltext: Text to synthesizecfg_value: Classifier-free guidance (1.0-3.0, default: 2.0)inference_timesteps: Number of diffusion steps (4-30, default: 10)normalize: Normalize output audioretry_badcase: Retry if generation fails
Outputs:
audio: Generated audio
3. VoxCPM Audio Reference
Generate speech using a reference audio for voice characteristics.
Inputs:
model: VoxCPM modeltext: Text to synthesizeprompt_audio: Reference audio (AUDIO type)prompt_text: Transcription of reference audiocfg_value: Classifier-free guidance (default: 2.0)inference_timesteps: Diffusion steps (default: 10)normalize: Normalize outputdenoise_prompt: Denoise reference audio
Outputs:
audio: Generated audio with reference voice characteristics
4. VoxCPM Streaming TTS
Generate speech in streaming mode for real-time applications.
Inputs:
- Same as Audio Reference, but optional prompt audio/text
Outputs:
audio: Streamed audio (concatenated)
5. VoxCPM Save Audio
Save generated audio to a WAV file.
Inputs:
audio: Audio to savefilename: Output filename (default: "output.wav")output_dir: Optional custom output directory
Outputs:
- None (saves to disk)
6. VoxCPM ASR Recognition
Automatic speech recognition for transcribing audio.
Inputs:
audio: Audio to transcribe (AUDIO type)
Outputs:
transcription: Recognized text
Advanced Nodes
7. VoxCPM Batch TTS
Process multiple texts at once with the same settings.
8. VoxCPM Batch Save Audio
Save multiple audio files from batch generation.
9. VoxCPM Concatenate Audio
Combine multiple audio clips with optional silence between them.
10. VoxCPM Text From File
Load text from .txt or .json files.
11. VoxCPM Model Info
Display information about the loaded model.
Utility Nodes
12. VoxCPM Load Audio
Load audio from file path and convert to ComfyUI AUDIO format.
Features:
- Auto-searches in ComfyUI/input/ folder
- Supports WAV, MP3, FLAC, OGG, and more
- Automatic stereo to mono conversion
- Just use filename if file is in ComfyUI/input/
13. VoxCPM Audio Converter
Convert audio from ComfyUI's LoadAudio to proper format for VoxCPM nodes.
Use case: Place between LoadAudio and VoxCPM nodes if you get "audio too short" errors.
Quick Start
Basic Text-to-Speech
[VoxCPM Model Loader] → [VoxCPM Text-to-Speech] → [VoxCPM Save Audio]
Using Audio Reference
Option 1: Using VoxCPM Load Audio (Recommended)
1. Put your audio file in ComfyUI/input/my_voice.mp3
2. Workflow:
[VoxCPM Model Loader]
↓
[VoxCPM Load Audio]
audio_path: "my_voice.mp3"
↓
├─→ [VoxCPM ASR Recognition]
│ ↓
│ (transcription)
│ ↓
└─→ [VoxCPM Audio Reference] ← (model)
↓
[VoxCPM Save Audio]
Option 2: Using ComfyUI LoadAudio
[LoadAudio] → [VoxCPM Audio Converter] → [VoxCPM ASR Recognition]
↓
[VoxCPM Audio Reference]
Audio Loading Guide
Where to Put Audio Files
Recommended: Put your audio files in ComfyUI/input/ folder
Then in VoxCPM Load Audio, just write the filename:
my_audio.mp3
The node will find it automatically!
Alternative: Full Path
You can also use full paths:
- Windows:
C:/Users/YourName/audio/file.mp3 - Linux/Mac:
/home/user/audio/file.mp3
Supported Formats
- ✅ WAV (recommended)
- ✅ MP3
- ✅ FLAC
- ✅ OGG
- ✅ M4A
- ✅ Most common audio formats
Audio Requirements
For Audio Reference:
- Duration: 3-10 seconds (ideal)
- Quality: Clear voice, minimal background noise
- Format: Any supported format
For ASR Recognition:
- Minimum: 0.1 seconds
- Recommended: 3-10 seconds
- Content: Clear speech
Tips & Best Practices
- Audio Quality: Better quality reference audio = better results
- Audio Length: 3-10 seconds is ideal for audio reference
- File Location: Put files in
ComfyUI/input/for easy access - Use ASR: Let ASR transcribe your reference audio automatically
- Batch Processing: Use Batch TTS for multiple texts with same voice
- Denoising: Enable denoiser for cleaner output
Configuration
Default settings are in config.py. You can modify:
- Default CFG values
- Inference timesteps
- Model paths
- Output directories
Requirements
- Python 3.8+
- PyTorch 2.0+
- ComfyUI updated to latest version
- See
requirements.txtfor full list
Credits
- VoxCPM: OpenBMB/VoxCPM
- ComfyUI: comfyanonymous/ComfyUI
License
Apache License 2.0
Support
For issues and questions:
- Check this README
- Check error messages in console
- Open an issue on GitHub
Made by DekaNear
Version: 1.0.0
Last Updated: 2025-12-11