ComfyUI-VoxCPM¶
ComfyUI-VoxCPM 是面向 VoxCPM 的全功能 ComfyUI 自定义节点,支持 TTS、声音克隆以及 节点内 LoRA 训练。
它将 VoxCPM 接入 ComfyUI 的可视化节点工作流,便于在生成管线中集成语音合成。
备注
若需要更轻量且带自动转写的方案,请参阅 ComfyUI-VoxCPMTTS。
VoxCPM 1.0 (0.5B) |
✅ 支持( |
VoxCPM 1.5 |
✅ 支持( |
VoxCPM 2 |
❌ 不支持 |
主要特性¶
同时支持 VoxCPM 1.5(44.1 kHz,约 8 亿参数)与 VoxCPM-0.5B(16 kHz,约 6.4 亿参数)
自动下载模型到
ComfyUI/models/tts/VoxCPM/在 ComfyUI 内直接进行 LoRA 推理与训练:
VoxCPM Train Config— 配置训练超参数VoxCPM Dataset Maker— 准备微调数据VoxCPM LoRA Trainer— 在 ComfyUI 内运行 LoRA 微调
生成相关参数均作为节点输入暴露
内置降噪(ZipEnhancer)默认关闭,以减轻依赖
多设备: CUDA、CPU、MPS (Apple Silicon)、DirectML、HIP (AMD ROCm,若可用)
准备工作¶
已安装并运行 ComfyUI
已安装匹配后端的 PyTorch(CUDA、MPS 等)
模型权重:openbmb/VoxCPM1.5 或 openbmb/VoxCPM-0.5B (自动下载)
安装¶
通过 ComfyUI Manager:搜索
ComfyUI-VoxCPM并安装。
手动安装:
cd ComfyUI/custom_nodes/
git clone https://github.com/wildminder/ComfyUI-VoxCPM.git
pip install -r ComfyUI-VoxCPM/requirements.txt
# Restart ComfyUI
首次使用时会自动下载模型。
基本用法¶
文本转语音¶
从
audio/tts分类添加 VoxCPM TTS 节点将
text输入连接到待合成文本按需调节
cfg_value、inference_timesteps与device将输出接到
Save Audio或Preview Audio节点
声音克隆¶
添加 Load Audio 节点并载入参考音频
将其接到 VoxCPM TTS 节点的
prompt_audio输入在
prompt_text中提供 逐字转写 (不是描述,须与参考音频完全一致)在
text中输入要合成的目标文本
小技巧
要获得高质量克隆,请使用清晰参考音频(5–15 秒),并保证 prompt_text 转写准确。
LoRA 微调¶
依次添加
VoxCPM Train Config→VoxCPM Dataset Maker→VoxCPM LoRA Trainer节点配置训练数据与超参数
运行工作流以训练 LoRA 适配器
从
models/loras加载训练好的 LoRA(使用刷新按钮与lora_name下拉框)
详细训练说明见仓库中的 readme-lora-training.md。
参数说明¶
参数 |
说明 |
|---|---|
|
选择 VoxCPM 1.5 或 0.5B |
|
Classifier-free guidance 强度(默认 2.0;越大越贴近提示,可能损害音质) |
|
LocDiT 扩散步数(默认 10;越大质量通常越好、越慢) |
|
|
|
启用外部文本规范化(音素输入时请关闭) |
|
随机种子以保证可复现(默认 -1 表示随机) |
|
从 |
|
生成时的 token 长度范围 |
|
推理后将模型从 GPU 卸载以节省显存 |
|
劣质输出的最大重试次数 |
|
坏例检测阈值 |
问题排查¶
显存不足¶
将
force_offload设为True,每次生成后释放 GPU 显存改用
cpu设备(更慢但使用系统内存)若显存紧张可改用 VoxCPM-0.5B 而非 1.5