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)是一个开源的变声框架,做的事情很简单:给你十几分钟到几十分钟的一段语音,它帮你训练出一个 AI 音色模型,之后任何音频都能转成这个音色。想给游戏角色配音、做一个 AI 歌手,或者直播时实时变声,都靠它一套流程搞定。全文按"跑起来 → 练成第一个模型"的顺序讲,你照着走就行。
🖥️ 先判断:你的机器能不能跑得动
开始之前先对一下配置,避免装完依赖才发现跑不了。
| 档位 | 显卡 | 内存 | 其他 |
|---|---|---|---|
| 最低能跑 | NVIDIA 显卡,4GB 显存 | 16GB | Python 3.8 以上,装好 ffmpeg |
| 体验更好 | 6GB 显存以上 | 16GB 或 32GB | 固态硬盘,磁盘预留 20GB 放模型和日志 |
补充几点:
- Python 版本要在 3.8 以上,依赖里有不少老版本锁定,3.11 装 llvmlite 时会冲突,3.8~3.10 最稳。
- Windows、Linux、macOS 都能跑;AMD 卡和 Intel 核显也有对应的依赖清单(requirements-dml.txt、requirements-amd.txt),只是速度不及 NVIDIA 卡。
- ffmpeg 是硬性依赖,切片、转码全靠它,没装会处处报错。
最快上手:从下载到看到第一个结果
这一节不训练,只验证环境。目标是加载仓库自带的预训练底模,直接听一段转换效果。
- 把仓库克隆到本地:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI- 安装依赖。先装 PyTorch,再装项目依赖,命令分别是:
pip install torch torchvision torchaudio pip install -r requirements.txt- 底模等预训练文件不在仓库里,用仓库 tools 目录下的 download_models.py 脚本下载,另外把 RMVPE 音高模型(rmvpe.pt)放到根目录,音高提取靠它。
- 启动推理界面:
python infer-web.py浏览器会打开 Gradio 页面。加载一个预训练底模,上传一段音频点推理,听到输出就说明环境通了。这一步的意义是:后面训练如果报错,你能立刻区分是环境问题还是数据问题。
一个完整任务:从零训出属于你的音色模型
下面是一次完整训练的路线,每步都说明为什么这么做。
- 准备训练数据。用安静环境录 10 到 50 分钟的目标音色语音,切成 5 到 10 秒的短句,放在一个不含空格、括号、中文的路径里。为什么这么挑:底噪是音色的地基,数据脏,后面怎么调参都救不回来;而 ffmpeg 读不了带特殊字符的路径,这是新手最常被卡住的一步。源音轨如果带伴奏,可以先用 UVR5 功能把人和伴奏分开。
- 数据集预处理。在 Web 界面的数据集处理区填好源路径,选 48k 采样率配置后运行。它会自动切片、去静音、用 RMVPE 提取音高、再提取声纹特征,中间结果都落在 logs 的实验目录下。存这些中间结果的目的是:换参数重跑时可以跳过最耗时的特征提取。
- 训练模型。在训练区填实验名和参数,重点只有一个:训练轮数。数据音质一般,20 到 30 轮就够,堆多了也带不动低音质;数据干净且量大,可以到 200 轮。训练完会在 weights 下生成一个 60MB 左右的 .pth,这才是能直接推理的小模型,别拿 logs 下那个几百 MB 的续训文件当成品。
- 训练索引。模型训完点一下训练索引,生成 .index 文件。索引是 RVC 的招牌机制:推理时按 top1 检索,用训练集的特征替换输入源的特征,把"源音色串味"挡在外面。没有它,转换结果容易带上你本人说话的味道。
- 推理调参。推理区刷新音色,加载刚训的模型和索引,上传测试音频。三个常用旋钮:音高移动(半音数,唱歌时常用)、音色相似度(越高越贴训练集,越低越贴源音色)、保护指数(防破音)。调参没有标准答案,靠多听几遍微调。
关于训练细节,可以看仓库里的 训练模块,切片、音高提取、损失函数都在这几份代码里。
最容易翻车的环节
以下都是真实高频问题,按"症状 → 解法"给出。
- 训练时显存爆了(CUDA out of memory):把 batch size 调小;降到 1 还不行,只能换显存更大的卡,4GB 以下的卡建议直接放弃训练。
- 报 ffmpeg error 或 utf8 error:九成是路径带空格、括号或中文,目录改名后重新预处理即可。
- 界面开着却提示 Connection Error:黑色的控制台窗口被关掉了,它才是服务本体,别关。
- 弹窗 JSON 解析错误:系统开了全局或局域网代理导致的,关掉代理重试。
- 一键训练结束但没生成索引:多半是数据量大、加索引那步卡死了,手动再点一次训练索引。
更多情况可以参考仓库里的中文 FAQ,覆盖了续训、中途加数据、模型分享等细节。
🎚️ 想让效果更好
- 先抠底噪,再谈时长。10 分钟干净的数据,效果好过 50 分钟带环境音的。录音时离麦 15 到 30 厘米,远离风扇和空调。
- 采样率按用途选。48k 音质上限高,32k 省显存、适合实时变声(实时模式端到端延迟可做到 170ms,配 ASIO 声卡能压到 90ms 左右)。中途换采样率会直接报错,要换就换实验名从头训。
- batch size 跟着显走。显存大就调大,本质是让单步吃下更多有效数据,加快收敛:
| 显存档位 | batch size 参考 | 感受 |
|---|---|---|
| 4GB | 1(起步) | 能跑,慢 |
| 6GB | 1~2 | 正常节奏 |
| 8GB 及以上 | 4 左右 | 明显快 |
- 想融合两个音色:ckpt 选项卡里有模型融合,两个模型按 0.5 对 0.5 起步,听着往一个方向偏再微调比例。
下一步怎么走
- 刚上手:先用预训练底模在推理区把音高、相似度两个旋钮听明白,再录 10 分钟数据完整走一遍上面的流程。
- 已经熟练:试一次模型融合,或者拿同一份数据对比 32k 和 48k 两套配置的差异,建立自己的调参手感。
- 想深入:读一遍 核心推理代码,搞清楚 VITS 结构和 top1 检索替换是怎么工作的;有批量需求的话,用 tools/infer_cli.py 跑命令行推理。
两件事记住就够了:底噪决定模型的天花板,其余调参都是在逼近这个天花板;分享模型时,给对方 weights 下的小 pth 加 index,不是 logs 里那个几百 MB 的续训文件。
【免费下载链接】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),仅供参考