10 分钟音频训练一个 AI 音色: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
用 RVC(Retrieval-based-Voice-Conversion-WebUI)做 AI 声音克隆,投入和产出的账很好算:10 分钟无背景音乐的干净干声、一张 4GB 显存的显卡、1 到 2 小时训练,你就能拿到一个可以实时变声的.pth模型。新手翻车集中在两处:把带 BGM 的脏音频直接喂进去,以及 batch_size、epoch 这类参数凭感觉拉满。环境、数据、训练、调音、落地——这五个环节各有一个必须做的选择,本文就按这 5 道选择题展开,每题只告诉你选哪个、怎么选、错了往哪查。
1. 环境这道题:按显卡选依赖,别按感觉装
结论:Python 3.12 x64,依赖清单按硬件三选一,路径全程避开中文。仓库锁死了依赖版本,装错清单是新手最常见的死法。
| 你的硬件 | 安装方式 |
|---|---|
| 无独显 / A 卡 / I 卡 | 直接装requirments_cpu_py312.txt(Windows 走 DirectML,Linux 走 CPU) |
| NVIDIA RTX 50 系之前的老卡 | 先装 CUDA 11.8 版 Torch,再装requirments_cu118_py312.txt |
| NVIDIA RTX 50 系 | 先装 CUDA 12.8 版 Torch,再装requirments_cu128_py312.txt |
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI python -m venv .venv && .venv\Scripts\activate # Linux: source .venv/bin/activate python -m pip install -r requirments_cpu_py312.txtWindows 用户也可以直接双击go-webui.bat,脚本自带打包好的运行时,上面的四行全省了。装完后跑python -c "import torch; print(torch.cuda.is_available())",输出True才算 GPU 识别成功,否则训练会慢到没法用。另外别忘了 ffmpeg:终端敲ffmpeg -version出不了版本号,后面的切分、降噪全都会报错。
2. 数据这道题:宁要 10 分钟干净,不要 30 分钟脏的
结论:10 分钟以上、无 BGM、底噪低的干声;先降噪再切片,顺序不能反。RVC 卖的就是小数据量,但小数据量的前提是数据干净——50 分钟带噪声的录音,效果大概率打不过 10 分钟干净录音。
三条硬指标
- 总量 10–50 分钟,低于 10 分钟音色特征学不全;
- 内容尽量覆盖不同音高和语速(正常叙述加几段高音),比单纯堆时长更值钱;
- 格式统一为 48kHz 16bit WAV,混采样率会让切片后的片段长短不一。
切片阈值怎么定
有背景音的素材先用 WebUI 里的 UVR5 标签页分离出人声,再进切片环节。切片阈值决定"多安静算静音、该切刀":安静房间录的用默认 -60dB 就行;环境偏吵的往上提到 -30 ~ -40dB,不然切出来的片段会夹带底噪。目标片段长度落在 3–10 秒,过长会把换气声一起切进去。
判断标准:随手抽 3 个切片听一遍,开头结尾干净、没有半截气声,数据环节就算过。
3. 训练这道题:采样率与 batch_size 按显存定档
WebUI 的训练流水线固定是四步:切片归一化 → Hubert 特征提取 → F0 提取 → 模型训练,你真正要动的只有训练页那几个输入框。
结论:架构选 v2,采样率默认 48k,F0 选 rmvpe,学习率 1e-4 不动。三档采样率配置在 configs/v2/(48k/32k)和 configs/v1/(48k/40k/32k),v2 是当前主力架构;48k 听感最好、显存占用也最高,32k 是低配卡的保底。F0 有三个选项(pm / rmvpe / fcpe),rmvpe 速度快、对歌唱场景稳定,直接默认值就行,没必要换 harvest 之类的老办法。学习率三套配置都是 1e-4,新手动它只会把结果搞坏。
| 显存档位 | batch_size | epoch 怎么选 |
|---|---|---|
| 4GB(紧张) | 1–2,可切 32k 配置 | 100 起步,听感不够再加 |
| 6–8GB(常规) | 3–4(v2 配置默认值) | 100–200 |
| 8GB+(充裕) | 4–8 | 150–200 |
epoch 是总轮数,不是越小越好:太短模型只学到音色的皮毛,太长则容易过拟合到训练集的杂音上。想省时间可以开"保存频率 save_every_epoch=5",每个检查点都留一份,回头试听挑最好的。
判断标准:assets/weights/下出现了.pth文件,且用它跑一次推理不出哑音、电音,训练环节才算过关。显存爆了就把 batch_size 砍半重跑,别怀疑是模型不行。
4. 调音这道题:索引文件解决"像但差口气"
结论:训练完必须生成.index索引文件,再用同一首测试歌微调检索占比。RVC 名字里的 Retrieval-based 指的就是 top1 检索:把训练集每一帧的音色向量建成 faiss 索引,推理时逐帧去索引里找最接近的音色来修正输出,机械感就是被这一步磨掉的。索引训练在 WebUI 的独立标签页里一键完成,产物放进assets/indices/与.pth成对使用。
精修只动两个旋钮:
| 调什么 | 默认值 | 手感 |
|---|---|---|
| 检索特征占比 index_rate | 0.75 | 0.5 起步每次 +0.1 试听;0.6–0.8 最稳;拉到 1.0 逐帧检索,最像人但也最容易出颗粒感 |
| 清辅音保护 | 0.33 | 合成出现电音、撕裂感时把它调低加大保护,但保护过强会反过来压索引效果 |
用同一首歌、同一参数只改 index_rate 对比试听,比凭感觉快得多。索引检索的原理细节在 docs/en/faiss_tips_en.md,想深挖时看。
5. 落地这道题:实时、单曲、批量三选一
模型训好之后有三种用法,按使用场景挑一个:
| 场景 | 入口 | 关键参数 |
|---|---|---|
| 实时变声(游戏 / 语音) | go-realtime_gui.bat(对应 realtime_gui.py) | block_time 默认 0.13s,调小更跟手,低于 0.1s 会断裂 |
| 单次转换(一首歌) | WebUI 推理页,上传音频出结果 | 与调音环节同一套参数 |
| 批量转换(整目录) | WebUI 批量推理,指定输入/输出目录 | 跑完整个文件夹 |
实时链路 Windows 下需要 VoiceMeeter 这类虚拟声卡把麦克风接到虚拟输入,这是新手最容易漏的一步;官方链路端到端延迟约 170ms,ASIO 设备可到 90ms。
6. 报错速查:先看最后一行
| 症状 | 最可能的原因 | 处理动作 |
|---|---|---|
| 装依赖反复失败 | Python 版本不是 3.12 x64,或依赖清单选错 | 对照第 1 节硬件表重建虚拟环境 |
| 网页打不开 | 7865 端口被占 | 启动时加--port换一个端口 |
| 切分/降噪直接报错 | ffmpeg 不在 PATH | 装好 ffmpeg,确认ffmpeg -version可用 |
| 训练中 CUDA out of memory | batch_size 超显存 | 砍半,或切 32k 配置 |
| 输出哑音、电音 | F0 没提好或特征没对上 | 确认 F0 选了 rmvpe、清辅音保护调低 |
| 音色不像目标 | 数据脏或量不够 | 重录 10 分钟干净干声,别堆时长 |
想继续深挖的 8 个位置
- configs/v2/:主力训练配置,学习率、betas、batch_size 全在这;
- train/preprocess.py:切片与归一化主逻辑,阈值参数在内部;
- train/train.py:模型训练主脚本;train/train_index.py:索引训练脚本;
- tools/uvr5/:UVR5 人声分离的独立实现;
- docs/en/faq_en.md:英文 FAQ,排障条目最全;
- docs/en/training_tips_en.md:训练技巧;
- docs/cn/Changelog_CN.md:更新日志,功能变化都在这;
- i18n/locale/:界面多语言词条。
最小可执行下一步:安静房间录 10 分钟干声存进独立文件夹 → WebUI 按 v2/48k、batch_size=1、100 epoch 跑完四步流水线并生成索引 → 推理页合成一段 30 秒试听。预期产出是一段"像"(不是完美)的目标音色;听到它之后,你就有了继续调 index_rate 或升参数的底气。
【免费下载链接】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),仅供参考