Extensions/RVC WebUI Voice Conversion
ComfyUI Extension

RVC WebUI Voice Conversion

RVC (Retrieval-based Voice Conversion) nodes for ComfyUI (AI voice changing via external RVC portable environment)

By Wang-Huachen·Created 3 months ago·Updated 3 months ago· 0
Wang-Huachen/ComfyUI-RVC-WebUI
Nodes
On cloudLocal install
Stars0
Updated3 months ago
Readme

ComfyUI-RVC-WebUI

RVC (Retrieval-based Voice Conversion) 声音变声节点 for ComfyUI。

通过调用外部 RVC 便携环境实现 AI 声音变声,支持实时音高变换、音色替换。

安装

  1. 将本目录放入 ComfyUI 的 custom_nodes/ 目录下
  2. 确保已安装 RVC 便携包(例如 D:\RVC20240604Nvidia50x0
  3. 重启 ComfyUI

配置

首次启动后,编辑 custom_nodes/ComfyUI-RVC-WebUI/config.json

{
    "rvc_root": "D:\\RVC20240604Nvidia50x0",
    "python_env": ""
}

| 字段 | 说明 | |------|------| | rvc_root | RVC 便携包的根目录(包含 assets/weights/, infer/, runtime/ 等) | | python_env | 可选,自定义 Python 环境路径(留空自动使用 rvc_root/runtime/) |

节点

RVC Voice Convert

类别:audio/voice_conversion

将输入音频通过 RVC 声音模型转换为目标音色。

输入:

| 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | audio | AUDIO | — | 输入音频 | | model_name | COMBO | 第一个模型 | RVC 声音模型(.pth 文件),从 assets/weights/ 扫描 | | index_path | COMBO | auto | FAISS 索引文件(auto=自动匹配, none=不使用) | | f0_up_key | INT | 0 | 音高偏移(半音),+12=升高八度 | | f0_method | COMBO | rmvpe | 音高提取算法:rmvpe/pm/crepe/harvest | | index_rate | FLOAT | 0.75 | 索引特征混合比率(0=不使用, 1=完全使用) | | filter_radius | INT | 3 | 音高中值滤波半径(0=禁用, ≥3=启用) | | resample_sr | INT | 0 | 输出采样率(0=使用模型原始采样率) | | rms_mix_rate | FLOAT | 0.25 | RMS 音量包络混合(0=匹配输入音量包络, 1=保留输出音量包络) | | protect | FLOAT | 0.33 | 清辅音保护(0=最大保护, 0.5=不保护) | | device | COMBO | auto | 推理设备 |

关于 index_path 的选项:

  • auto — 调用 RVC 自带的自动匹配逻辑,在 logs/ 目录下搜索文件名包含完整模型名.index 文件(排除 trained_ 前缀的),返回第一个匹配项。例如模型 kikiV1.pth 能自动匹配到 logs/kikiV1.index。但如果索引文件名不含完整的 epoch/step 后缀(如模型 xxx_e250_s6000.pth 对应的索引 added_IVF..._xxx_v2.index 缺少 _e250_s6000),则自动匹配会失败,需手动选择。
  • none — 不使用任何索引。
  • 具体索引文件名 — 全部扫描自 logs/assets/indices/ 目录,列出所有 .index 文件供手动选择。

输出:

| 输出 | 类型 | 说明 | |------|------|------| | audio | AUDIO | 变声后的音频 | | info | STRING | 转换信息(耗时、使用的索引等) |

使用示例

  1. 使用 ComfyUI 内置的 Load Audio 节点加载输入音频
  2. 连接 RVC Voice Convert 节点,选择声音模型和参数
  3. 连接 Preview Audio 节点试听效果
  4. 或连接 Save Audio 节点保存结果

声音模型

将 RVC 训练好的 .pth 模型文件放入 assets/weights/ 目录,重启 ComfyUI 后即可在节点下拉框中选择。

可选的 FAISS 索引文件(.index)放入 logs/assets/indices/ 目录,用于增强音色相似度。

故障排除

  1. 节点不显示:检查 ComfyUI 日志,确认 config.jsonrvc_root 指向正确目录
  2. 模型列表为空:确认 rvc_root/assets/weights/ 目录下存在 .pth 文件
  3. 推理失败:检查 RVC 便携环境是否能正常运行(runtime/python.exe --version
  4. CUDA out of memory:将 device 设置为 cpu 或减少其他 GPU 进程

依赖

  • ComfyUI 端:soundfile >= 0.12.1(其余依赖由 ComfyUI 提供)
  • RVC 端:RVC 便携包自带的 Python 3.9 环境及其所有依赖

License

MIT