RVC变声器完整教程:10分钟录音克隆音色,4G显存也能从零跑通
【免费下载链接】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 的语音转换框架)做的事很简单:你喂给它 10 分钟目标人声的录音,它吐出一个音色模型,之后任何音频丢进去都会"变成"那个人的声音。给视频配音、给游戏角色换声、做翻唱,都是它的典型场景。这篇按"能不能跑 → 数据 → 环境 → 训练 → 调好效果 → 进阶"的顺序走一遍,全部命令在项目根目录执行。
先判断门槛:RVC 显存要求与硬件条件
装环境之前先确认机器够不够格,省得装完才发现问题。
| 你的配置 | 结论 | 说明 |
|---|---|---|
| 4G 及以上显存的 N 卡 | ✅ 可训练 + 推理 | 启动时程序自动读取显存并调整内部参数 |
| 显存低于 4G(3G、2G 老卡) | ❌ 官方 FAQ 建议放弃 | 见 docs/cn/faq.md Q8:batch size 缩到 1 还 OOM 就是卡不够 |
| 无 N 卡(AMD / Intel / 纯 CPU) | ⚠️ 能跑,走 CPU 或 DirectML | Windows 上 A 卡可用 DirectML,Linux 走 CPU,速度明显慢 |
两个容易踩的坑:
- 系统内存别忽略。切分音频和提取音高是 CPU 多进程干的活,内存吃紧时把训练页的"CPU 进程数"调低,或手动把训练音频切短些(FAQ Q14)。
- 采样率不用纠结。预处理会自动重采样到你选的档位,原始录音多少 Hz 都行。
准备 RVC 训练数据:10 分钟录音就够
数据是效果上限,也是整个流程里唯一不可逆的一步,所以放在装环境之前想清楚。
官方建议总时长10~50 分钟;录音干净、底噪低、音色有辨识度时,5~10 分钟也能训出可用模型。录制时抓三点:
- 环境安静。底噪会原样进模型,轮次堆得再高也压不掉。
- 语气有变化。别只念一种腔调,语速、语调、情绪的多样性决定了模型能覆盖多少发音状态。
- 单条别太长。几十秒到一两分钟一段即可,过长的录音在切分阶段拖内存。
录完统一转成 WAV 放进一个文件夹。这一步就是 RVC 10 分钟录音的最低要求——数据够干净,后面的调参才有发挥空间。
RVC 训练环境搭建:拉代码、装依赖、下底模
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI python -m venv rvc-env激活虚拟环境后,按显卡选依赖清单(注意本仓库文件名是requirments_*,少了个 e):
# CPU / AMD / Intel(Windows 可走 DirectML) pip install -r requirments_cpu_py312.txt # NVIDIA RTX 50 系之前:先装 CUDA 11.8 版 Torch,再装 pip install -r requirments_cu118_py312.txt # NVIDIA RTX 50 系:同上但换 cu128 版 Torch + requirments_cu128_py312.txt按硬件精确的分步命令写在 README.md 的"环境配置"一节,照着抄即可。
然后补两样必需品:
- ffmpeg:切分和重采样全靠它。Ubuntu
sudo apt install ffmpeg,macOSbrew install ffmpeg。 - 预训练底模:按 README 的
hf download命令把 hubert_base、rmvpe、pretrained 等文件拉到assets/目录。缺底模的话训练和推理都起不来,这一步没有替代方案。
启动 RVC WebUI:三个入口按钮
python webui.py浏览器会自动打开7865 端口的训练网页;不想折腾环境变量的 Windows 用户直接双击 go-webui.bat 走整合包路线。
训练页的工作流:填训练集文件夹路径 → 起一个实验名(后面找模型、看日志全靠它,建议带日期)→ 点"一键训练"。它会按顺序跑完切分、音高提取、特征提取、训练四步,日志全部落在logs/实验名/下,训练核心代码在 train/ 目录,出问题翻日志和这里即可。
RVC 三个必调参数与两档关键选项
网页上值得动的数字其实就三个,其余保持默认:
| 参数 | 怎么设 | 为什么 |
|---|---|---|
| 总轮数(epoch) | 数据有底噪:20~30 轮;干净且时长足:可到 200 轮 | 底噪大的数据训太多轮,模型会把噪音也学进去(FAQ Q9) |
| 保存间隔 | 每 10 轮存一个点 | 间隔小才能逐个试听,挑最早达标的那个,避开过拟合 |
| 批次大小(batch size) | 用页面默认值,OOM 就往下调 | 默认值约为显存 GB 数的一半(见 webui.py),是稳定起步值 |
另外两档顺手设好:
- 采样率选 48k,对应 v2 底模——官方配置里质量上限最高的一档,参数见 configs/v2/48k.json。
- 音高提取选 rmvpe(界面默认值):效果最好且只占少量显存;
pm适合歌声输入时提速。
设置确认无误后点"一键训练",剩下的就是等日志滚完。
RVC 训练后必做的两步:索引 + 推理调参
第一步:训练索引
索引文件决定输出保留多少训练集的音色。跳过它,音质可能不错,但相似度会打折。
在训练页点"训练索引",它用 faiss 把训练特征聚成检索库,产物是logs/实验名/下added_开头的.index文件。如果一键训练结束没看到索引文件,多半是训练集太大卡住了索引步骤,重按一次"训练索引"就好(FAQ Q2)。
第二步:推理页调两个滑条
切到"模型推理"页,点"刷新音色",选你的模型和索引,上传音频转换。重点调的是检索特征占比(index rate),范围 0~1,默认0.75:
| 取值 | 效果 |
|---|---|
| 调高接近 1 | 音色完全锚定训练集,不会漏出输入源或底模的音色,但音质上限被训练集锁死 |
| 调低到 0 | 不做检索保护,音质可能更好,"音色泄露"问题会回来 |
| 训练集本身优质且时长足 | 这个值反而不重要,模型自己很少引用外部音色 |
两个辅助旋钮:保护滑条(protect)默认 0.33,专防清辅音和呼吸声撕裂,输出有电音就往高调;变调是整数半音,+12 升八度、-12 降八度。
进阶:RVC 批量推理与实时变声
批量转换不用逐条点。WebUI 的"批量推理"页直接填输入文件夹(或一次上传多个音频),指定输出文件夹,格式可导 wav / flac / mp3 / m4a,参数与单次推理相同(index rate 批量页默认 1.0)。
实时变声:双击 go-realtime_gui.bat 启动实时界面(入口代码 realtime_gui.py)。官方给出的延迟数据是端到端170ms;换用 ASIO 输入输出设备可压到90ms,但那依赖声卡驱动支持,普通 USB 声卡别期待这个数字。
到这里流程闭环了:打开推理页,挑一个保存点模型,把 10 分钟录音里没用过的一段扔进去转换——音色对上了,这套 RVC 训练流程就算跑通了。后续想深入训练细节,可以翻 docs/ 下的多语言文档和 configs/ 里的各采样率档位配置。
【免费下载链接】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),仅供参考