RVC-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)是一个开源的 AI 语音转换工具。你准备一段低底噪的人声样本,在普通显卡上训练后即可把自己的声音转换成目标音色。基于 VITS 框架,它同时支持离线转换与实时变声,本文按"从零到第一个可用模型"的顺序讲清完整流程。
快速了解项目:RVC-WebUI 能解决什么问题
这个项目把"训练一个人声音色模型"拆成了网页界面上的几个按钮,核心解决三件事:
- 训练专属音色:上传一段人声样本,产出可用于转换的模型文件
- 转换任意音频:用自己的声音"唱"或"说"一段新的内容,输出目标音色
- 实时变声:通过实时界面(
go-realtime-gui.bat或gui_v1.py)边说边转换
三个技术点值得知道一句通俗解释:
- 检索防音色泄漏:推理时用 top1 检索把输入特征替换为训练集特征,避免你原本的音色混进结果里
- RMVPE 音高提取:InterSpeech2023 的音高提取算法,作用是准确识别声音的高低起伏,解决哑音问题
- UVR5 人声分离:把歌曲里的人声和伴奏拆开,为转换提供干净输入
底模使用约 50 小时的开源 VCTK 数据集训练,无版权顾虑;项目采用 MIT 协议,支持 Windows、Linux、MacOS,NVIDIA 显卡之外也提供 AMD、Intel 显卡的加速方案。
适合哪些人使用:先判断你是否需要它
| 你的情况 | 是否适合 | 说明 |
|---|---|---|
| 想给自己的视频、直播换个声音 | 适合 | 训一个专属音色模型即可复用 |
| 没有深度学习背景 | 适合 | 全程在网页界面上操作,无需写代码 |
| 手头只有 AMD 或 Intel 显卡 | 部分适合 | 用 DirectML 依赖包可跑推理与变声,训练会回退到 CPU |
| 需要批量处理大量音频文件 | 适合 | 提供批量转换脚本 |
| 显存小于 4G 的老显卡 | 不适合 | 官方常见问题中明确建议放弃此类配置 |
最简上手路径:RVC-WebUI 环境配置四步
第一步:确认 Python 版本并安装依赖
要求 Python 大于 3.8。根据你的显卡选择对应的依赖文件:
pip install -r requirements.txtAMD/Intel 显卡(DirectML 方案)使用requirements-dml.txt;Linux 下的 AMD ROCm 与 Intel IPEX 方案分别对应requirements-amd.txt和requirements-ipex.txt。MacOS 用户也可以直接运行sh ./run.sh安装依赖。
第二步:安装 ffmpeg
音频处理依赖 ffmpeg,系统没有的话先装上:
sudo apt install ffmpegWindows 用户可把 ffmpeg.exe、ffprobe.exe 放到项目根目录。
第三步:下载预训练模型
推理和训练都需要 Hubert 特征模型、预训练底模、UVR5 权重等文件(位于assets/目录)。tools文件夹中带有下载脚本:
python tools/download_models.py第四步:启动 WebUI
python infer-web.py启动成功后浏览器会自动打开操作界面。Windows 用户如果使用整合包,也可以直接双击go-web.bat。
常见任务实操:从上传数据到完成一次转换
如何训练一个音色模型
- 准备人声样本:官方常见问题推荐 10 到 50 分钟,要求底噪低、音色统一;样本精简且特色明显时,10 分钟上下也可以出可用效果
- 在 WebUI 的数据集选项卡中上传音频,填入实验名
- 点击一键训练,依次完成音频预处理、特征提取、音高提取、模型训练、索引建立
- 看到 "Training is done" 提示即代表训练成功
如何完成一次离线语音转换
在推理选项卡选择刚训练的模型和索引文件,填入变调数值(男转女一般需要正变调,反之取负值),上传待转换音频后点击推理,导出结果即可。
如何分离人声和伴奏
在 UVR5 人声分离选项卡选择分离模型(含去混响、去延迟等),上传音频执行分离,输出的纯人声可以直接作为转换输入。
如何批量转换多个文件
不想一条条手动操作时,使用tools/infer_batch_rvc.py批量脚本处理整个文件夹。
配置与避坑:新手最常遇到的 5 个问题
- 报 ffmpeg error,其实是路径问题:音频路径中带空格、括号或中文时容易触发。把训练集放在纯英文、无空格的路径下再试
- 显存不够(CUDA out of memory):训练时调小 batch size;推理时减小
configs/config.py末尾的 x_pad、x_query 等参数 - 训练完没有索引文件:通常是训练集较大导致索引步骤卡住,重新点击"训练索引"按钮即可
- 训练后推理列表找不到音色:先点刷新音色;仍没有则检查控制台和
logs/实验名下的日志 - 不要分享 logs 里的 pth 文件:
logs/实验名下的几百 MB 大文件是训练状态存档,用于分享的应是weights文件夹中 60MB 左右的模型文件
进阶用法:调优参数与模型融合
调整 total_epoch(训练轮数):底噪大的训练集 20~30 轮足够,调太高救不了低音质数据;高音质、时长充足的训练集可以放到 200 轮左右。
理解 index rate(索引权重):它用来压制音色泄漏。调高更贴近训练集音色,但音质受训练集上限影响;训练集本身质量高时该参数影响变小。
模型融合:在 ckpt 处理选项卡中使用 ckpt-merge,把两个音色模型按权重混合,可以得到介于两者之间的新音色。
实时变声:通过go-realtime-gui.bat启动实时界面,官方已实现端到端约 170ms 延迟;使用 ASIO 输入输出设备时可进一步降低到 90ms 左右,效果依赖硬件驱动。注意输入和输出设备应选同种类型。
ONNX 导出:tools/export_onnx.py支持把模型导出为 ONNX 格式,供外部推理场景使用。
常见问题:RVC-WebUI 训练与推理 FAQ
没有 NVIDIA 显卡能训练吗?AMD、Intel 显卡通过 DirectML 依赖可完成推理与实时变声,训练会切换到 CPU 进行,速度较慢但可用。
1 分钟的数据能训练吗?官方 FAQ 明确不建议。个别成功案例依赖非常鲜明且有辨识度的音色,不具备普适参考价值,10 分钟以下基本不可行。
推理时选哪块 GPU?在configs/config.py的 device 项修改cuda:后的卡号;卡号与实际显卡的对应关系可以在训练选项卡的显卡信息栏查看。
中断了训练能继续吗?目前的方式是关闭控制台后重新双击启动脚本,网页参数需要重新填写,训练会从最近的存档点继续。
WebUI 弹出 Expecting value 报错?检查并关闭系统局域网代理或全局代理,服务端代理(如 http_proxy 环境变量)同样需要临时关闭。
下一步建议:按这个顺序深入
- 先用 WebUI 完整跑通一次"数据集 → 一键训练 → 推理",熟悉每个选项卡的作用
- 精读 docs/cn/faq.md,里面按编号整理了训练和推理的典型问题
- 换两份不同的训练数据对比训练效果,体会数据质量对结果的直接影响
- 需要脚本化时再看 tools/ 下的
infer_cli.py、infer_batch_rvc.py等命令行工具 - 关注 docs/cn/Changelog_CN.md 了解各版本的参数与功能变化
训练出第一个模型只是起点。数据质量和参数调整的空间还很大,建议保留每次训练的参数记录,方便回溯哪个组合效果最好。
【免费下载链接】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),仅供参考