RVC变声器用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)干的就是这件事:喂它 10 分钟目标音色的录音,它训出一个音色模型,之后任何音频进去都以那个音色出来。面向配音、游戏换声、翻唱场景,不碰音频工程的新手也能走完全程。
显存与系统最低门槛
先确认机器合格,不合格先别开始录音。
- NVIDIA 显存 ≥4GB 可训练可推理;3GB、2GB 老卡按官方 FAQ 建议直接放弃
- AMD/Intel 或无独显:走 DirectML(Windows)或 CPU 依赖包,只是训练慢
- 系统 Windows 10 以上或 Ubuntu 24.04,Python 3.12 x64
- 内存 8GB 以上更稳,切分和音高提取是多进程 CPU 任务
- 不需要服务器,RVC 训练页就是本地 7865 端口的网页
开跑前要备齐的材料清单
| 材料 | 获取位置 | 数量与质量要求 |
|---|---|---|
| 仓库代码 | gitcode 仓库,见主流程一命令 | 最新版 |
| 底模文件 | HuggingFace 模型仓库 lj1995/VoiceConversionWebUI,用 huggingface_hub 下载 | hubert_base、rmvpe、pretrained、pretrained_v2 四组,缺一不可 |
| 目标音色录音 | 自录或收集 | 总时长 10~50 分钟,单条 30 秒~2 分钟,底噪低 |
| ffmpeg | Ubuntu 用 apt、macOS 用 brew、Windows 把 ffmpeg.exe 丢进项目目录 | 近期任意版本 |
录音是整个流程里最不可逆的一步:环境安静、语调有变化、别只念一种腔调。音色有辨识度且底噪低的话 5~10 分钟也能出可用模型,但建议留余量。
主流程一:装依赖并下载底模
做三件事:拉代码、建环境、按显卡装依赖,再下四组底模到 assets/。
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI python -m venv rvc-env激活虚拟环境后按硬件装依赖:NVIDIA 非 50 系pip install -r requirments_cu118_py312.txt,50 系requirments_cu128_py312.txt,CPU/AMD 用requirments_cpu_py312.txt。
底模下载:
pip install huggingface_hub hf download lj1995/VoiceConversionWebUI "hubert_base/*" --revision main --local-dir assets hf download lj1995/VoiceConversionWebUI "rmvpe/rmvpe.pt" --revision main --local-dir assets hf download lj1995/VoiceConversionWebUI "pretrained/*" "pretrained_v2/*" --revision main --local-dir assets完成标准:assets/ 下能看到 hubert_base、rmvpe、pretrained、pretrained_v2 四个目录;跑python -c "import torch; print(torch.cuda.is_available())"打印 True。底模不全,训练和推理都起不来。
主流程二:启动训练页并跑一次训练
python webui.py浏览器自动打开 7865 的训练页,无桌面环境用python webui.py --noautoopen后手动访问。训练页改四处:训练集文件夹、实验名(全局唯一,以后找模型全靠它)、采样率 48k 对应 v2 底模、音高提取算法 rmvpe。其余保持默认,点一键训练,流程依次过切分、音高提取、特征提取、训练,数据预处理逻辑在 train/preprocess.py。
完成标准:日志打出 Training is done;logs/实验名/ 下出现几百 MB 的 D_*.pth 检查点文件。
主流程三:训练索引并转换第一段音频
一键训练结束不会自动加索引。回训练页点"训练索引",logs/实验名/ 下出现 added_ 开头的 .index 文件即成功。
进 RVC 的模型推理页:刷新音色,选中刚训的模型和索引,上传一段音频转换,在页面输出区听转换结果。
完成标准:输出应是"训练集那个人在说输入的内容"。听出输入源音色,说明发生了"音色泄露",对照下表调 index rate。
参数速查表
| 参数 | 怎么设 | 为什么 |
|---|---|---|
| 总轮数 | 底噪大 20~30 轮;干净且时长足 200 轮 | 底噪大的数据训太多轮,模型会把噪音也学进去(官方 FAQ 明确说法) |
| batch size | 用页面默认,OOM 往下调一档 | 默认按显存自动估算(约为显存 GB 数的一半),是稳定起步值 |
| index rate | 默认 0.75;音色泄露就往 1 调 | 越接近 1 越锚定训练集,输入源音色漏得越少 |
| protect | 默认 0.33,输出有电音再调高 | 专门防清辅音和呼吸声撕裂 |
| 底模与采样率 | 48k + v2 底模 | 官方配置里质量上限最高的一档,见 configs/v2/48k.json |
验证与排错
验证动作:从录音里挑一段没用进训练集的音频,在推理页转换后听——音色对得上,整条 RVC 换声链路就跑通了。
常见失败症状:
- 训练报 CUDA out of memory:batch size 调小;降到 1 还 OOM 就是显存不够,换卡或租云 GPU
- 训练完成但没有 added 索引:训练集太大卡住加索引步骤,重按一次"训练索引"
- ffmpeg error 或 utf8 error:多半不是 ffmpeg 本身,而是音频路径带空格、括号或中文,改成纯英文路径
- 音色偏输入源:调高 index rate;训练集优质且时长长时模型本身不怎么写外部音色,这个值反而不重要
跑通之后两条进阶路线值得试:实时变声入口 realtime_gui.py,官方端到端延迟 170ms,用 ASIO 设备可压到 90ms;以及 tools/uvr5/ 的 UVR5 人声分离,先把伴奏和人声拆开再转换。
【免费下载链接】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),仅供参考