ComfyUI-VoxCPM

ComfyUI-VoxCPM 是面向 VoxCPM 的全功能 ComfyUI 自定义节点,支持 TTS、声音克隆以及 节点内 LoRA 训练

它将 VoxCPM 接入 ComfyUI 的可视化节点工作流,便于在生成管线中集成语音合成。

备注

若需要更轻量且带自动转写的方案,请参阅 ComfyUI-VoxCPMTTS

支持的 VoxCPM 版本

VoxCPM 1.0 (0.5B)

✅ 支持(openbmb/VoxCPM-0.5B,16 kHz)

VoxCPM 1.5

✅ 支持(openbmb/VoxCPM1.5,44.1 kHz)

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)默认关闭,以减轻依赖

  • 多设备: CUDACPUMPS (Apple Silicon)、DirectMLHIP (AMD ROCm,若可用)

准备工作

安装

  • 通过 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

首次使用时会自动下载模型。

基本用法

文本转语音

  1. audio/tts 分类添加 VoxCPM TTS 节点

  2. text 输入连接到待合成文本

  3. 按需调节 cfg_valueinference_timestepsdevice

  4. 将输出接到 Save AudioPreview Audio 节点

声音克隆

  1. 添加 Load Audio 节点并载入参考音频

  2. 将其接到 VoxCPM TTS 节点的 prompt_audio 输入

  3. prompt_text 中提供 逐字转写 (不是描述,须与参考音频完全一致)

  4. text 中输入要合成的目标文本

小技巧

要获得高质量克隆,请使用清晰参考音频(5–15 秒),并保证 prompt_text 转写准确。

LoRA 微调

  1. 依次添加 VoxCPM Train ConfigVoxCPM Dataset MakerVoxCPM LoRA Trainer 节点

  2. 配置训练数据与超参数

  3. 运行工作流以训练 LoRA 适配器

  4. models/loras 加载训练好的 LoRA(使用刷新按钮与 lora_name 下拉框)

详细训练说明见仓库中的 readme-lora-training.md

参数说明

参数

说明

model_name

选择 VoxCPM 1.5 或 0.5B

cfg_value

Classifier-free guidance 强度(默认 2.0;越大越贴近提示,可能损害音质)

inference_timesteps

LocDiT 扩散步数(默认 10;越大质量通常越好、越慢)

device

cuda / cpu / mps / directml / hip (视硬件而定)

normalize_text

启用外部文本规范化(音素输入时请关闭)

seed

随机种子以保证可复现(默认 -1 表示随机)

lora_name

models/loras 选择 LoRA 适配器

min_tokens / max_tokens

生成时的 token 长度范围

force_offload

推理后将模型从 GPU 卸载以节省显存

retry_max_attempts

劣质输出的最大重试次数

retry_threshold

坏例检测阈值

问题排查

显存不足

  • force_offload 设为 True,每次生成后释放 GPU 显存

  • 改用 cpu 设备(更慢但使用系统内存)

  • 若显存紧张可改用 VoxCPM-0.5B 而非 1.5