RVC变声器实战指南:10分钟语音训练出高质量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
RVC变声器(Retrieval-based-Voice-Conversion-WebUI)是一个基于 VITS 的开源变声框架,VITS 是一类端到端语音合成模型架构。它解决的问题很直接:给 10 分钟低底噪语音,就能训练出一个能稳定输出目标音色的模型。游戏配音、AI 歌手、实时直播变声这三类需求,都值得用它。
它解决了什么问题
- 传统语音克隆/歌声合成(如 G2P 类方案)动辄要几小时语料加数天训练;RVC 用 10 分钟语料加十几分钟训练就能出可用模型。
- 普通 TTS 是"照着文本念台词",RVC 是"换音色":它转换的是你喂进去的音频,不做文本到语音的合成。
- 自带 top1 检索机制,推理时主动把结果往训练集音色上拉,压制"音色泄漏"——即结果被源音频或底模音色带偏的问题。
- 推理速度快,端到端延迟可压到 170ms 级别,直播实时变声可用。
- 支持 ckpt 模型融合,两个模型按权重混合,可以微调音色。
最短启动步骤
目标只有一个:尽快看到第一段转换成功的音频,所有调优放最后。
1. 装环境
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.txt python tools/download_models.pydownload_models.py会把 assets/ 下需要的全部预训练模型拉下来(hubert_base.pt、G/D 系列预训练权重、RMVPE 音高模型等),缺任何一个后续都会报文件缺失。另外需要装好 ffmpeg(Linux 用sudo apt install ffmpeg;Windows 把 ffmpeg.exe 放进仓库根目录)。Python 建议 3.8–3.10。
2. 准备素材
录 10–30 分钟语音,安静环境、音量稳定,WAV 或 MP3 均可,统一放进一个文件夹(文件名不要带中文和空格)。官方口径是 10 分钟起步,音质高、有个人音色特征的话 5–10 分钟也能跑通;1 分钟以下不建议,成功率不可复现。
3. 启动
python infer-web.py浏览器打开自动弹出的页面(默认 7860 端口)。界面分"模型推理""模型训练""ckpt 处理"三大块,见 infer-web.py。
4. 验证
推理选项卡里先不选自己的模型,直接用预训练底模加一段测试音频跑一次单次推理,能听到输出音频,说明环境通了。然后进训练选项卡:填实验名、训练集文件夹,选采样率(默认 48000)、选"是否提取音高"为是、音高提取算法选 rmvpe,点"一键训练"。完成后回到推理选项卡,刷新音色,选刚训好的实验,把同一段音频再转一次,和底模结果对比——这就是你的第一个成果。
核心能力拆解
能力一:一键训练
能力是什么:一条按钮串起"提取音高 → 提取内容特征 → 训练 → 建索引"四步,中间产物都落在 infer/modules/train/ 对应的脚本里。怎么用:填实验名和训练集路径,其余参数留默认先跑一遍。能得到什么:weights 下出现 60MB 左右的 .pth 模型文件,训练索引步骤产出 added 开头的 .index 文件,这两个才是能拿去推理和分享的东西(logs 下几百 MB 的大 pth 是实验状态存档,不是成品模型)。
能力二:检索式音色保护
能力是什么:训练时给训练集每段音频建特征索引,推理时按 top1 检索把源特征替换成训练集特征,从机制上杜绝音色泄漏。怎么用:训练索引自动完成,推理时调 index_rate(0–1)控制替换力度。能得到什么:index_rate 调 1 时音色最稳但音质上限贴着训练集水平;调 0 则音质可能被底模/源音频抬高,但音色会往那边偏。训练集音质好、时长够的话,index_rate 不重要,甚至可以不用索引。
能力三:实时变声
能力是什么:独立的低延迟推理 GUI,端到端延迟 170ms;用 ASIO 音频设备能压到 90ms 左右,但很依赖声卡驱动。怎么用:启动go-realtime-gui.bat(Windows),选输入输出设备和音色模型,即可边说边变。能得到什么:直播、语音聊天场景的实时效果。注意这是"转换麦克风输入",不是凭空说话。
实际怎么用
场景一:做 AI 歌手
- 拿到一首带人声的音频,先在 UVR5 选项卡分离出干净人声和伴奏。
- 用人声训练模型,采样率选 48000,音高提取选 rmvpe。
- 推理时把目标人声转成目标音色,再和伴奏混音。 关键参数:底噪大的歌 20–30 epoch 就够,硬堆轮数只会放大底噪。
场景二:批量转换配音音频
- 训练好模型后,WebUI 单次推理适合试听,批量文件用 tools/infer_batch_rvc.py 一条命令跑完整个目录。
- 也可只启动推理服务:
python api_240604.py,用脚本或别的程序调接口。 建议:批量任务把 f0 方法固定为 rmvpe,index_rate 先取 0.5 左右,听感偏源音色就往 0.8–1 调,偏糊就往 0.3 调。
场景三:直播实时变声
- 启动实时 GUI,输入输出设备都选同一块声卡或 USB 麦。
- 延迟压不下来时,把推理采样率从 48000 降到 32000,模型选 32k 版本。 建议:追求 <100ms 延迟必须有 ASIO 驱动支持的设备,普通驱动下 170ms 是常态,别在驱动上花时间。
容易踩的坑
| 现象 | 原因 | 处理 |
|---|---|---|
| 训练中 OOM / CUDA out of memory | 显存不足 | 调小 batch_size,最低到 1 还炸就换卡或降采样率到 32000 |
| 报 ffmpeg error / utf8 error | 大概率不是 ffmpeg 的问题,是路径 | 音频路径去掉空格、括号、中文,文件重命名 |
| 训练显示完成但没有 added 索引 | 训练集太大,加索引步骤卡住 | 再点一次"训练索引"即可 |
| 推理端 CUDA 报错 | 显存吃紧 | 改 configs/config.py 结尾的 x_pad、x_max 等参数,调小它们 |
| Windows 报 llvmlite.dll 缺失 | VC++ 运行库没装 | 装上 VC++ 2015-2022 x64 运行库后重启 |
| 刷新音色看不到新模型 | 缓存未更新 / 训练真失败了 | 先点刷新;没有就查 logs 里对应实验名的日志 |
更多高频问题见 中文 FAQ,覆盖中断续训、中途加数据、模型分享格式等场景。
调出好效果的要点
| 参数 | 建议值 | 为什么 |
|---|---|---|
| 采样率 | 48000(48k) | 音质上限最高;实时场景或显存紧张换 32000 |
| 音高提取 | rmvpe | 效果显著最好、比 crepe 快、资源占用小;dio 次之,harvest 最慢 |
| total_epoch | 20–30(底噪大)/ 100–200(音质好、时长多) | 底噪大的数据堆轮数只会放大噪声,高音质数据才值得多训 |
| batch_size | 4(8GB 显存起) | 界面默认按显存自动算(显存÷2 的保守值);显存不够就往下调,1 都放不下说明 4G 以下显存,建议放弃训练 |
| index_rate | 0.5–1 | 音色要稳调高,音质要借底模调低;训练集优质时这个参数不重要 |
| 训练集时长 | 10–50 分钟 | 10 分钟是可用下限,音色统一有特色时多多益善 |
一句话总结优先级:先保数据质量(低底噪),再定采样率,最后才动 epoch 和 index_rate。参数再怎么调,都救不了底噪大的训练集。
什么适合,什么不适合
RVC 适合:手里有 10 分钟以上低底噪素材、目标是转换现成音频音色(配音、翻唱、直播)的场景,4GB 以上显存就能训练。不适合:想凭空生成台词的 TTS 需求、追求 <100ms 延迟但没有 ASIO 设备、以及只有几十秒碎片音频的情况。
下一步建议:先用 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),仅供参考