ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

RVC 变声模型训练 6 步走:从 10 分钟录音到可用音色

RVC 变声模型训练 6 步走:从 10 分钟录音到可用音色

RVC 变声模型训练 6 步走:从 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

RVC(Retrieval-based-Voice-Conversion-WebUI)是基于 VITS 的开源变声框架,做 RVC 变声模型训练不用写代码:喂一段人声,就能训出一个把任意音频"换成"这个音色的模型。适合不想碰算法、只想用自己的声音或某个角色声做翻唱、配音、直播的普通人。

它适合哪些场景

先说能帮你干啥,再看怎么装 🎯

  • 翻唱换音色:把你唱的干声重唱成目标音色,或把一段人声克隆成可反复复用的"音色资产"。RVC 靠检索式特征替换(意思是转换后尽量不残留输入原声的音色痕迹)来减少这种"串味"。
  • 直播 / 游戏实时变声:对麦克风说话,输出即为目标音色,入口在 realtime_gui.py,端到端延迟能压到 170ms 左右,搭配 ASIO 更低。
  • 批量处理音频素材:一个文件夹里的多段音频一次性转换,适合做整批配音或多版本素材,WebUI 里单独开了"批量推理"页。

环境准备与安装

一条线走完,从拉代码到打开网页,别跳步。

1. 拿代码

git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI

2. 装依赖(当前分支面向 Python 3.12 x64)。按显卡三选一,装错路线会报一堆版本冲突:

  • N 卡:先装对应 CUDA 的 Torch,再装对应依赖列表。RTX 50 系用 CUDA 12.8,更老的卡用 11.8。
  • A 卡:直接装 requirments_cpu_py312.txt,Windows 上走 DirectML。
  • I 卡:同 A 卡,用 CPU 依赖方案。
python -m pip install torch==2.7.1+cu118 torchaudio==2.7.1+cu118 --index-url https://download.pytorch.org/whl/cu118 --extra-index-url https://pypi.org/simple python -m pip install -r requirments_cu118_py312.txt

这里以 CUDA 11.8 的 N 卡为例;50 系把版本号换成cu128、列表换成requirments_cu128_py312.txt即可。装完跑一下python -c "import torch; print(torch.cuda.is_available())",打印True才算显卡真正接上。

3. 补 FFmpeg 与预训练模型:切分、重采样全靠 FFmpeg,Windows 把ffmpeg.exe、ffprobe.exe丢到项目根目录,Ubuntu/Debian 用sudo apt install ffmpeg。模型权重要放进固定目录:assets/hubert_base/(特征模型)、assets/rmvpe/(音高提取)、assets/pretrained/(v1 底模)、assets/pretrained_v2/(v2 底模,效果更稳)、assets/uvr5_weights/(人声伴奏分离)。

4. 启动🚀

python webui.py

浏览器会自动打开,默认监听 7865 端口。命令行窗口(黑色控制台)别关,关了页面就断;Windows 用户也可以直接双击go-webui.bat省事。

训练流程六步走

全程在 webui.py 的"训练"选项卡里点按钮完成,底层逻辑在 train/train.py,不用你操心:

  1. 录音:准备 10 分钟以上、同一人的低底噪干声。建议值:WAV、单声道;易错点——路径带空格或中文括号最易翻车,挪到纯英文简单路径。
  2. 切分(处理数据):填训练文件夹路径点"处理数据",自动切片归一化。建议值:按 3–10 秒一段;易错点——没切出有效音频会报"数据切分没有生成有效训练音频",先确认素材能正常解码。
  3. 特征提取:音高算法选rmvpe(内置最新 RMVPE,比旧pm更快更准),点"特征提取"出 F0 音高和 Hubert 特征。建议值:采样率 40k;易错点——版本 v1/v2 要和底模路径对上,界面会自动切换,别手改。
  4. 训练:填实验名后点"训练模型"。建议值:total_epoch 先给 20;易错点——batch_size 是按每张显卡算的,显存不够就第一个降它,别硬撑。
  5. 建索引:训练完点"训练特征索引"生成.index文件。建议值:默认即可;易错点——数据集太大时这步容易内存不足卡住,重跑一次或缩小训练集。
  6. 推理验证:到"模型推理"刷新音色列表,选模型加索引传段测试音频。建议值:检索特征占比(决定向目标音色靠拢的强度)从 0.75 起步;易错点——没音色就先翻logs/实验名下的训练日志查报错。

参数与避坑速查

项目建议值说明
total_epoch20–30轮数太多易过拟合,音色发"塑料"
batch_size4–8(按显存)显存爆时第一个降的参数
保存频率每 5 轮多留检查点方便回退
检索特征占比0.5–0.8越高越贴训练集音色,也越易失真
protect 保护值0.33调低更护清辅音/呼吸声,但会削弱索引效果
报错"数据切分没有生成有效训练音频"—路径带空格/括号,或素材无法解码
CUDA out of memory—训练降 batch_size;推理调小 configs/config.py 里的检索长度
页面 Connection Error—命令行窗口被关,或 7865 端口被占用

进阶入口

  • 批量推理:在"批量推理"页给一个待转文件夹,输出到指定目录,整批素材一次搞定。
  • ONNX 导出:把模型转成 ONNX 后能塞进别的推理框架或更低延迟的设备,适合做二次集成。
  • API 调用:不想点网页的话,webui.py 基于 Gradio 暴露了接口,可以直接用脚本调转换。
  • 实时变声集成:realtime_gui.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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进