手把手10分钟跑通RVC模型融合:Retrieval-based-Voice-Conversion-WebUI音色合并实操手册
【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data <= 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI
当你手里有两个音色各有千秋的模型——一个咬字清晰但偏干,一个情感饱满但气息略杂——Retrieval-based-Voice-Conversion-WebUI(简称 RVC WebUI)的模型融合功能正好解决这个矛盾:它把两个训练好的模型(.pth)按你指定的权重做加权混合,输出一张兼顾两边特点的"新声卡"。融合本质就是逐参数加权平均,全程无需重新训练。
跟着本文操作完成后,你会在assets/weights/目录下得到一个融合后的新模型文件,配合任意一个原模型的索引文件就能直接在推理页试听,10 分钟内拿到第一版可用音色。
上手前检查
开始之前确认以下条件:
- Python 3.8+ 环境,已安装项目依赖(
requirements.txt) - 仓库已通过
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI获取 - 至少两个训练完成的模型文件(.pth),且版本、网络结构一致
- 基础预训练模型已就位(
assets/pretrained等目录非空)
| 文件类型 | 路径 | 说明 |
|---|---|---|
| 待融合模型 | assets/weights/下的 .pth | 两个模型需同版本(同为 v1 或同为 v2) |
| 索引文件 | assets/indices/下的 .index | 融合产物复用原模型索引 |
| 全局配置 | configs/config.json | 设备、路径等全局参数 |
在WebUI执行模型融合
启动WebUI并进入ckpt处理页签
在项目根目录执行:
python infer-web.py浏览器打开控制台提示的本地地址(默认 7860 端口),在顶部页签中找到「ckpt处理」。页面上方的「模型融合, 可用于测试音色融合」区块就是本次要用的面板。
填写两个模型路径
在「A模型路径」输入框中填入第一个模型的完整路径(如assets/weights/modelA.pth),在「B模型路径」填入第二个。两个输入框接受的是完整文件路径,直接复制粘贴即可,路径拼错会直接报失败。
调整A模型权重滑杆
拖动「A模型权重」滑杆(范围 0–1,默认 0.5):滑杆数值是 A 模型的占比,B 模型自动占1 - 该值。首次融合保持 0.5 即可。
设置采样率、音高与保存名
- 「目标采样率」选 40k 或 48k,与基础模型训练时一致
- 「模型是否带音高指导」按原模型实际情况选「是」或「否」
- 「模型版本型号」选 v1 或 v2,必须与两个原模型一致
- 「保存的模型名不带后缀」填入一个清晰的名字,如
merged_AB_05 - 「要置入的模型信息」可留空,也可写一句备注方便日后识别
点击融合按钮查看输出
点击「融合」按钮,等待「输出信息」框刷新。显示Success.即完成,新模型会落在assets/weights/merged_AB_05.pth;如果返回架构不一致的报错,说明两个模型结构对不上(见文末常见问题)。
调整模型融合参数
| 参数 | 作用 | 推荐起点 | 调整方向 |
|---|---|---|---|
| A模型权重 | A 模型在结果中的占比 | 0.5 | 想更像 A 就升到 0.6–0.7,更像 B 就降到 0.3–0.4 |
| 目标采样率 | 新模型标称采样率 | 40k | 与原模型保持一致,不要混选 |
| 模型是否带音高指导 | 结果是否启用 F0 特征 | 与基础模型一致 | 原模型带 F0 就选「是」 |
| 模型版本型号 | 结果标记 v1/v2 | 与原模型一致 | 不可跨版本混融 |
调试节奏建议:先取 0.5 出第一版试听 → 记录听感(哪个特征弱、哪个抢戏)→ 向占优方向单侧偏移 0.1 再出一版。比如 0.5 时 A 的咬字优势不明显,就试 0.6;连续 0.3 / 0.5 / 0.7 三版对比后,通常就能锁定目标区间,无需更细的步长。
进阶玩法:批量推理快速对比
拿到多个不同权重的融合模型后,用 tools/infer_batch_rvc.py 对整个 wav 目录做批量推理,比单条试听效率高得多:
python tools/infer_batch_rvc.py --input_path ./test_wavs \ --model_name merged_AB_06 --opt_path assets/weights/merged_AB_06.pth \ --index_path assets/indices/modelA.index把--opt_path换成 0.4、0.5、0.6 各版模型名依次跑一遍,输出文件摆在一起对照听,选权重更直观。
常见问题
| 现象 | 可能原因 | 处理方式 |
|---|---|---|
| 输出"Fail to merge the models. The model architectures are not the same." | 两个模型版本或结构不一致(v1/v2 混用、训练参数不同) | 换成同版本、同结构的两个模型再融 |
| 融合结果几乎只剩单侧音色 | A模型权重滑杆偏向一侧 | 把权重拉回 0.4–0.6 区间重新融合 |
| 融合成功但推理页选不到新模型 | 保存名未填或与已有文件重名 | 换个不重名的名字重新融合一次 |
| 音质与预期差距明显 | 目标采样率与基础模型不符 | 按基础模型采样率重选「目标采样率」再融 |
更多使用问题可查 docs/cn/faq.md,融合逻辑的源码在 infer/lib/train/process_ckpt.py,想确认权重如何参与计算可以翻一翻。
融合只做参数混合,不改变训练质量上限,最终音色上限取决于两个基础模型的训练效果。建议优先用训练数据充足、单听已合格的模型做融合,定期看一眼 docs/cn/Changelog_CN.md 里的功能更新即可。
融合产出的只是权重文件,索引不会自动生成:试听新模型时,直接选用权重占高的那个原模型对应的 .index 文件即可。
【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data <= 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考