RVC 变声器完整实战教程:5 步跑通环境安装、训练、参数调优与模型分享
【免费下载链接】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
Retrieval-based-Voice-Conversion-WebUI(RVC)是一个语音转换框架,用 10 分钟以内的音频数据就能训练出一个可用的变声模型。下面按你实际操作任务的顺序走:先装好环境跑起来,再备数据、训模型、调参数,最后把成果整理成能分享的成品。每个环节都给到可以直接照抄的数值,不做"适当调整"这种模糊表述。
RVC 分显卡类型安装依赖并启动 WebUI
装 RVC 只需要两条单行命令,选错依赖文件才会出问题。先按你的硬件查表:
| 硬件情况 | 装 PyTorch | 装依赖 | 启动方式 |
|---|---|---|---|
| Nvidia 显卡 | pip install torch torchvision torchaudio | pip install -r requirements.txt | Windows 双击go-web.bat,或python infer-web.py |
| AMD 显卡(Windows) | 同上 | pip install -r requirements-dml.txt | 双击go-web-dml.bat |
| Intel 核显 | 同上 | pip install -r requirements-ipex.txt | python infer-web.py |
| 无独显 / Mac | 同上 | pip install -r requirements.txt | ./run.sh(脚本会自建 venv 并拉取底模) |
Nvidia RTX 30 系列若遇到 CUDA 报错,改用官方索引安装:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
启动后浏览器会打开 7865 端口的 WebUI。两个安装期高频报错,先记结论:
OSError: Could not load shared object file: llvmlite.dll→ 装 Visual C++ 运行库,重启 WebUI 即可。- 音频处理阶段 FFmpeg 相关报错、或索引路径提示含中文 → 把 RVC 克隆目录和音频素材都放到纯英文路径下(例如
D:\rvc\src)。仓库克隆地址:https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI。
RVC 训练集准备:时长、质量与训练轮数取值表
训练集不是越长越好,是越干净越好。判断标准就三条:人声清晰、背景噪音低、说话人音色和情绪稳定。把多段音频统一成同一种格式(如 wav、44.1k)再丢进训练文件夹,能省掉切片归一化阶段的不稳定。
| 训练集时长 | 适合 | 预期效果 | 建议 total_epoch |
|---|---|---|---|
| 1-2 分钟 | 音色特征非常鲜明的声音 | 能换出音色轮廓 | 20 左右 |
| 5-10 分钟 | 质量不错的语音样本 | 音色还原良好 | 50-100 |
| 10-30 分钟 | 主力区间 | 音质明显更好 | 100-200 |
| 30-50 分钟 | 覆盖多种说话场景 | 表现稳定全面 | 200 起步,观察 loss 决定 |
两条反直觉的取值:
- 数据本身音质差(底噪大、混响重)时,total_epoch 压到 20-30。轮数越多,噪音被学进模型得越牢。
- 高质量数据才值得上 150-200 轮,同时勾选"缓存所有训练集至显存"(10 分钟以内的小数据集开缓存能明显加速训练,大数据集别开,显存会炸且提速有限)。
RVC 训练不翻车:常见报错症状诊断清单
训练页的三步是固定顺序:step2a 处理数据(切片归一化)→ step2b 特征提取(CPU 提音高 + GPU 提特征)→ step3 训练模型与索引。报错基本只发生在后两步,按症状对号入座:
| 症状(日志/控制台原文) | 先做哪个动作 |
|---|---|
Cuda out of memory(训练时) | batch_size 直接减半重试;减到 1 仍炸就换卡或关"缓存至显存"选项 |
Cuda out of memory(推理时) | 改 configs/config.py 里的x_pad / x_query / x_center / x_max,4G 显存一组是1 / 5 / 30 / 32 |
训练结束提示 "Training is done. The program is closed.",但没有生成.index文件 | 训练集太大导致建索引时内存不足。去训练页单独点"训练特征索引"补跑;仍失败就分批处理 |
| 推理页音色下拉框里找不到刚训好的模型 | 先点"刷新音色列表和索引路径";再确认weights文件夹里有对应.pth且训练日志无致命错误 |
The size of tensor a (24) must match the size of tensor b (16) | 训练集里混了异常音频。检查logs实验目录下wavs16k等文件夹,删掉体积显著偏小的坏文件,重跑"处理数据" |
Expecting value: line 1 column 1 (char 0) | 本地代理在干扰网络请求。关掉全局代理、清掉环境变量里的http_proxy/https_proxy,重启 WebUI |
排查入口永远是实验文件夹下的
train.log和logs目录,别只看网页弹窗里的一句话。显存紧张时也可以把batch_size和"提取音高用的 CPU 进程数"同时调小,前者管显存、后者管内存。
index_rate 参数取值对照与调音顺序
调参从"模型推理"页开始,按这个顺序动滑块:先定 f0 偏移 → 再定 index_rate → 最后碰 filter_radius。
index_rate:决定"像不像原唱"的关键
| index_rate | 听感特点 | 适用场景 |
|---|---|---|
| 0.3-0.5 | 自然,轻微保留输入音色 | 日常对话、聊天变声 |
| 0.6-0.8 | 目标音色明显占主导 | 配音、模仿特定歌手 |
| 0.9-1.0 | 几乎完全替换成训练音色,基本不泄露输入嗓音 | 对音色保护要求高的场合 |
注意 index_rate 拉到 0 时,索引检索完全不生效,也就没有任何"防音色泄露"的作用。另外:训练集质量越高,index_rate 越可以往低走;训练集差就守在 0.8 以上。
其余滑块给默认值
| 参数 | 默认起点 | 怎么动 |
|---|---|---|
| f0_change(音调偏移,半音) | 0 | 男转女 +12 起步,女转男 -12 起步,±4 内微调 |
| 变调 key | 0 | 与 f0_change 作用相近,二选一即可 |
| filter_radius(音色平滑) | 3 | 输出发毛就调大到 5-8,太糊就调小 |
RVC 模型管理与分享:小模型提取和 .index 配套
训练完的原始文件在logs的实验目录里,是几百 MB 的大 ckpt,不能直接拿去分享。成品整理成四步:
- 打开"ckpt处理"页 → "模型提取",输入 logs 下的大模型路径(如
.../G_20.pth)。 - 确认三项信息:目标采样率(32k/40k/48k)、是否带音高指导(唱歌选带,纯语音可不带)、模型版本(v1/v2)。提取大模型路径后这三项会自动识别。
- 填保存名后点"提取",得到
weights文件夹下 60MB 左右的小模型.pth。 - 把同实验名对应的
.index文件和.pth放在一起,交给对方——推理时两者都选中。
❌ 分享logs下几百 MB 的.pth大文件 ✅ 分享weights下提取好的 60MB 左右.pth+ 同名.index
❌ 只发模型文件,漏掉索引(效果会差一截) ✅ 两个文件配套发送,并告知对方训练时的采样率
再记三个进阶用法:
- 训练中途反悔:哪怕没训满轮数,也能对中间的
G_xxxx.pth执行第 1-3 步提取出可用小模型。 - 模型融合:"ckpt处理"页的"融合"功能支持把 A、B 两个模型按权重(默认各 0.5)混合,用来试音色组合。
- 改采样率没有捷径:想从 40k 模型变成 48k,必须新建实验名重训一遍;但之前提取的音高和特征可以复用,能省掉大半预处理时间。
收尾两句:实验跑多了就清理logs下不用的旧实验目录,把configs/config.py改过的参数记下来,避免下次换机要重调。遇到新报错,顺序固定——查train.log→ 核对依赖是否装对了文件 → 用最小数据集复现。
【免费下载链接】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),仅供参考