RVC 免费 AI 语音克隆与转换完整指南: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
用 10 分钟左右的干净人声数据,就能训练出一个可复现目标音色的语音模型;训练完在同一个网页界面里直接试听、调参、再导出——这是 Retrieval-based-Voice-Conversion-WebUI(下称 RVC)最典型的使用路径。RVC 是一个基于 VITS 架构的开源 AI 语音转换框架,自带 Gradio 网页界面,用 top1 检索替换源特征的方式避免目标音色泄漏,适合想低成本克隆音色、做实时变声的普通用户和小团队。
🎯 场景能力对照
| 使用场景 | 对应功能 | 硬件 / 时长成本 |
|---|---|---|
| 训练专属音色模型 | WebUI 一键训练(数据处理 + 训练 + 索引) | 官方推荐 ≥10 分钟低底噪语音;4GB 显存可跑,显存越大 batch_size 越高 |
| 实时变声(聊天、直播、K歌) | 实时变声界面 | 普通设备端到端约 170ms;ASIO 设备可压到约 90ms,依赖硬件与驱动 |
| 人声 / 伴奏分离 | 内置 UVR5 模型 | 常规消费级显卡即可 |
| 模型融合出新音色 | ckpt-merge 权重合并 | 仅需现有 .pth 文件,训练开销为零 |
底模基于约 50 小时的 VCTK 开源数据训练,无版权顾虑,MIT 协议可放心使用。
💻 部署环境:核对、安装到首次启动
先核对环境:Python 3.8 以上,系统已装 ffmpeg / ffprobe(没有就先装)。克隆仓库:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI按显卡选择依赖文件,先装 PyTorch,再装对应 requirements:
| 显卡 / 平台 | 安装命令 | 备注 |
|---|---|---|
| N 卡(Windows/Linux/MacOS) | pip install -r requirements.txt | Win + RTX30xx 建议先装 cu117 版 PyTorch |
| A 卡 / I 卡(DirectML) | pip install -r requirements-dml.txt | 走 DirectML 后端 |
| A 卡(Linux ROCm) | pip install -r requirements-amd.txt | 需先装 ROCm 驱动 |
| I 卡(Linux IPEX) | pip install -r requirements-ipex.txt | 启动前先执行 Intel oneAPI 环境变量 |
MacOS 用户可以直接sh ./run.sh完成依赖安装。
预训练资源(assets 目录下的 hubert、pretrained、uvr5_weights 等)按 README 清单从官方 HuggingFace 空间下载,或用tools/download_models.py脚本获取;使用 RMVPE 音高算法还需额外下载rmvpe.pt放到根目录。就绪后启动 WebUI:
python infer-web.py浏览器打开终端打印的地址即可。
🧭 主流程拆解:从素材到试听
准备音频素材。收集 10 分钟以上低底噪人声(README 的推荐下限就是 10 分钟),放在一个干净目录里,别混入伴奏和噪声。数据是后续一切效果的基础,时长和底噪比格式更关键。
训练模型。在 WebUI 里依次做四件事:选数据目录与实验名;选模型版本(v1 支持 32k/40k/48k,v2 支持 32k/48k,v2 需额外下载assets/pretrained_v2);音高提取算法选 RMVPE(InterSpeech2023 方案,精度高、占用小);设置总训练轮数后启动。轮数不必贪多,20~30 轮即可出可用模型,显存吃紧时把 batch_size 调回 1(4GB 以下显存官方建议直接放弃训练)。
训练索引并试听。训练结束后在索引页对训练集训练索引,用于推理时的 top1 检索;随后在推理页上传一段音频,拖动音高偏移、索引率等滑杆即时对比效果,满意后导出结果。产物在logs/下,分享时只传weights/里 60MB 以上的.pth与对应 index 文件。
📊 参数调优速查
| 参数 | 推荐值 | 调整后的效果 |
|---|---|---|
| pitch(音高偏移) | 默认 12 半音 | 调低逼近原声,调高升调;跨性别合成常用极端值 |
| index_rate(索引率) | 0.3~0.7 | 越高越贴近目标音色,过低则混入源音频音色 |
| filter_radius(滤波器半径) | 默认 3 | 调大让音高更平滑、减少电音感,过大发闷 |
| protect(保护阈值) | 默认 0.5 | 调高可压制气声、噪声与假音产生的破音 |
| batch_size | 4GB 显存设 1,其余按显存上调 | 直接影响训练速度,不影响最终效果 |
| 总训练轮数 | 20~30 | 过短音色不收敛,过长收益递减且耗时 |
推理默认参数见 configs/config.json,采样率配置在 configs/v1/ 与 configs/v2/。
🚀 进阶玩法
- 实时变声:终端运行
python tools/rvc_for_realtime.py,配合声卡即可实时处理麦克风输入,延迟数据如上表。 - 模型融合:
python tools/trans_weights.py按比例混合多个.pth模型,或直接在 WebUI 的 ckpt-merge 页操作,适合微调音色方向。 - 人声分离:在 WebUI 的 UVR5 选项卡里选模型,批量拆分歌曲的人声与伴奏,产出的干净人声可直接回炉做训练素材。
⚠️ 踩坑与对策
- 现象:训练完成但 logs 下没有
added_*.index文件。可能原因:训练集过大导致加索引步骤卡住或内存不足。处理:重新点击"训练索引"按钮(项目已改为批处理 add),或清理后台进程释放内存。 - 现象:训练中报 out of memory。可能原因:显存不够。处理:batch_size 逐步降到 1;4GB 显存仍不够则换卡,推理侧可缩小
configs/config.py末尾的 x_pad、x_query、x_center、x_max。 - 现象:输出带电流声、破音或"电音"。可能原因:音高提取不准或呼吸段未被保护。处理:换用 RMVPE 提取,调高 protect 与 filter_radius 后再试听。
- 现象:分享模型时对方打不开或体积异常。可能原因:传了 logs 目录的几百 MB 中间文件。处理:只发
weights/下的.pth和logs/下同名.index文件。
更多排查思路见 docs/cn/faq.md。
📂 项目资源导览
- 文档:docs/cn/faq.md、docs/en/ 下的 README 与 FAQ,以及 CONTRIBUTING.md 贡献规范。
- 核心代码:语音转换推理逻辑在 infer/modules/vc/,训练与数据预处理在 infer/modules/train/,音频加载与切分在 infer/lib/audio.py,实时变声实现在 tools/rvc_for_realtime.py。
- Issue 与社区:通过仓库 Issue 页提交问题,RVC 官方 Wiki 与 Discord 群在 README 顶部导航可找到。
结尾
RVC 用"小数据 + 检索式转换"把语音克隆的训练成本压到了分钟级,且全程在一个网页界面内闭环。
- 先装好 ffmpeg 与对应显卡的 requirements,再启动
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),仅供参考