10分钟语音数据就够:RVC AI语音转换快速上手指南
【免费下载链接】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)是一个基于 VITS 的开源变声框架,把 10 分钟左右的单人语音录好丢进去,就能训出一个模仿该音色的模型,再套用到任意音频上。全程在浏览器界面里点按钮,内容创作者、游戏开发者、翻唱爱好者都可以低成本上手。
一键安装启动:四条命令跑通 RVC
装好 Python 3.8+ 后,依次执行:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI pip install torch torchvision torchaudio pip install -r requirements.txtNVIDIA 显卡用上面的requirements.txt;A 卡或 I 卡换成requirements-dml.txt;macOS 直接sh ./run.sh一条命令自动装好环境和模型。依赖装完后,RVC 还需要一批预训练权重(hubert 特征编码器、RMVPE 音高模型、v1/v2 底模),内置脚本会一次性拉到正确目录:
python tools/download_models.py python infer-web.py启动后自动打开浏览器,端口默认 7865,可加--port参数更换。入口脚本是 infer-web.py,界面里从"数据集处理"到"推理"都是现成的按钮,不需要写代码。
三句话讲清 RVC 的变声原理
RVC 走的是"检索式"路线,核心思路只有三步:
- 特征提取:Hubert 编码器把音频变成一串声学特征,RMVPE 模型单独提取音高(F0)曲线;
- top1 检索替换:把输入音频的音色特征换成训练集中最接近的那一条,原说话人的音色痕迹在这一步被抹掉,这就是它不容易"串音"的原因;
- 合成输出:VITS 结构的生成器(含 HiFi-GAN 声码器)拿替换后的特征 + 音高,重新生成目标音色的音频。
推理时还可以加载训练时生成的.index特征索引,进一步约束输出音色,界面里叫"检索比例",调高音色更像,调低音色更稳。
进阶与调优:让模型更快更好听
- 显存不够:configs/config.py 里的
x_pad、x_query、x_center、x_max控制推理时的分段窗口,数值改小可明显省显存,4G 显存的卡也能跑推理; - 训练轮数:底噪大的数据集 20~30 轮就够,轮数再高音质也不会变好;干净长数据可以拉到 100~200 轮;
- 批量转换:整目录音频批量变声用 tools/infer/infer_batch_rvc.py,不用一首一首点;
- 部署其他平台:
tools/export_onnx.py可把模型导出为 ONNX,配tools/onnx_inference_demo.py验证; - 实时变声:用
go-realtime-gui.bat启动实时界面,端到端延迟约 170ms,换 ASIO 声卡可压到 90ms 左右; - 音色融合:界面 ckpt 选项卡里的 ckpt-merge 可以按权重混合两个模型,调出介于两者之间的音色。
踩坑自查:常见现象对照修复
- ffmpeg 报错或 utf8 错误→ 多半是音频路径含空格、括号或中文 → 把数据集挪到纯英文路径再处理;
- 训练后推理里找不到模型→ 列表没刷新 → 点"刷新音色列表",仍没有就查
logs/下训练日志; - CUDA out of memory→ 显存不足 → 训练降 batch size,推理就调小上面四个
x_参数; - 一键训练显示完成但 index 文件缺失→ 数据集太大导致建索引卡住 → 重新点一次"训练索引";
- WebUI 弹出 JSON 解析错误→ 本地代理拦截了页面请求 → 关掉系统代理后刷新;
- 想分享模型→ 直接发
logs/里的 pth 是错的 → 用 ckpt 选项卡导出weights/下 60MB+ 的小模型再分享。
延伸与参与
- 界面内置 12 种语言,语言文件都在 i18n/locale/,加个语言只需新增一个 json;
- 文档覆盖中英日韩法葡土,
docs/目录里有各语言的 FAQ 和调参经验,比界面提示写得细; - 想分离人声和伴奏,直接调界面里的 UVR5 功能,权重在
assets/uvr5_weights; - 提 Issue、改代码、补文档都欢迎,
CONTRIBUTING.md说明了参与方式。
行动清单
- 按第一节命令装好依赖、拉模型,
python infer-web.py跑通界面; - 备 10 分钟低底噪语音,走完"处理数据集→提取特征→训练→合成"完整流程一次;
- 换不同轮数和检索比例再各训一版,听感对比后选出最稳参数。
【免费下载链接】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),仅供参考