RVC-WebUI训练完全指南:如何用10分钟音频克隆出高相似度AI声线
【免费下载链接】rvc-webuiliujing04/Retrieval-based-Voice-Conversion-WebUI reconstruction project项目地址: https://gitcode.com/gh_mirrors/rv/rvc-webui
RVC-WebUI(Retrieval-based-Voice-Conversion-WebUI)是一款开源的AI声音克隆与音色转换工具:只需目标说话人约 10 分钟的干净人声,就能训练出一个高相似度的声音模型,再把任何一段音频一键转换成"目标音色"。本指南带你从零开始:启动 WebUI → 整理音频 → 设置训练参数 → 产出可用模型 → 上线推理,全程无需手写代码。
一、3步启动 RVC-WebUI:安装与环境准备
- 获取源码:下载 RVC-WebUI 项目源码包并解压到固定目录。
- 双击启动:
- Windows:双击 webui-user.bat
- Linux / macOS:运行 webui.sh
- 浏览器打开:首次启动会自动创建虚拟环境并安装依赖(依赖清单见 requirements/main.txt),完成后自动打开网页版训练界面。
⚠️ 若安装报
Microsoft Visual C++ 14.0 or greater is required,请先安装 Visual Studio Build Tools 并勾选 C++ Build Tools(详见 README.md 的 Troubleshooting 章节)。参考测试环境:Windows 10 + Python 3.10.9 + torch cu118。
启动后你会看到 4 个核心页签:Split(音频切分)→ Inference(推理)→ Training(训练)→ Merge(合并),主流程对应前三者,页面定义在 modules/tabs/training.py。
二、录音与数据集整理:10分钟音频怎么准备
克隆效果 70% 取决于数据质量。推荐标准:
| 项目 | 建议 |
|---|---|
| 时长 | 10 分钟起步,20–30 分钟更佳 |
| 内容 | 同一人声、纯干声(无 BGM / 混响 / 噪音) |
| 格式 | wav / flac / mp3 / m4a 均可,单声道最好 |
| 切分 | 切成 3–10 秒的短句,避免超长整轨 |
两个小技巧:
- 先分离人声:如果手里是整首歌曲/带背景音的音频,可用项目的 modules/separate.py 提供的 UVR 人声分离能力或外部工具先把干声提取出来。
- 利用切分页签:WebUI 的 Split 页签可基于静音自动切分长音频(实现见 modules/tabs/split.py),切分结果可直接作为训练集。
整理好的音频放入一个独立目录(如data/我的声音/),训练时用 glob 指向它即可。
三、训练参数速查表:RVC-WebUI 关键设置一次看懂
打开Training页签,核心参数与推荐值如下(界面定义见 modules/tabs/training.py):
| 参数 | 说明 | 新手推荐值 |
|---|---|---|
| Model Name | 模型名称,产出文件以此命名 | 例如myvoice |
| Dataset glob | 训练音频路径,支持**递归与逗号分隔多目录 | data/**/*.wav |
| Model version | 模型架构版本 | v2(默认,效果更佳) |
| Target sampling rate | 采样率:32k 快 / 40k 均衡 / 48k 高音质 | 40k(对应 configs/40k.json) |
| f0 Model | 是否使用音高特征(男/女音、唱歌场景需要) | Yes |
| Embedding | 语音内容编码器 + 通道/层数 | v2 用contentvec + 768 + 12(可选编码器见 modules/models.py) |
| Pitch extraction | 音高提取算法:dio / harvest / crepe | crepe(精度高) |
| Batch size | 显存小就调小 | 4(显存紧张改 1–2) |
| Number of epochs | 训练轮数 | 30(数据量大可加到 50+) |
| Save every epoch | 每 N 轮保存一个 checkpoint | 10 |
| FP16 | 半精度加速(需较新 NVIDIA 显卡) | 勾选 |
| Pre trained | 预训练权重 | 默认models/pretrained/v2/f0G40k.pth |
| Train Index | 是否同时训练检索索引 | Yes(显著提升相似度) |
| Reduce index size | 用 kmeans 压缩索引 | 开启,maximum index size = 10000 |
填完直接点Train即可。状态栏会依次显示Preprocessing... → Extracting f0... → Extracting features... → Training model... → Training index...(流程编排见 modules/tabs/training.py)。
四、训练过程揭秘:你的音频经历了什么
了解原理有助于排错。RVC-WebUI 把训练拆成 4 个阶段,中间产物都存放在models/training/models/{模型名}/下:
- 预处理切片:长音频先经 48Hz 高通滤波去低频噪音,再由 Slicer 按静音(阈值 -42dB)切成短句,再均匀切为约 3.7 秒片段(保留 0.3 秒重叠)并做响度归一化,同时生成 16kHz 副本供声码器特征提取。参数见 lib/rvc/preprocessing/split.py 与 lib/rvc/preprocessing/split.py。产物:
0_gt_wavs/、1_16k_wavs/。 - 音高提取(f0=Yes 时):用你选择的算法(默认 crepe)提取每帧基频,得到
2a_f0/与2b_f0nsf/两组数据。 - 特征提取:用 Hubert 类编码器(contentvec)把 16k 音频编码为内容特征,写入
3_feature256/,并汇总成meta.json(见 lib/rvc/train.py)。 - 模型训练:基于 GAN(生成器+判别器)训练音色转换模型,每 N 轮保存一份 checkpoint;结束后训练faiss 检索索引——它存储了训练集全部特征,推理时用于"检索式"拉近音色相似度,并用 kmeans 压缩到 1 万条以内防止音色泄漏(实现见 lib/rvc/train.py)。
产出文件位置:
- 最终模型:
models/checkpoints/{模型名}.pth - 索引文件:
models/checkpoints/{模型名}_index/ - 每轮 checkpoint:
models/training/models/{模型名}/checkpoints/(可挑选中间轮次的版本试听对比)
五、推理体验:把任何音频变成目标声线
训练完成后,切到Inference页签(界面定义见 modules/tabs/inference.py):
- 下拉选择刚训练的
{模型名}.pth; - Source Audio填入待转换音频路径(支持通配符批量转换,如
data/in/**/*.wav); - 关键参数:
- Transpose:整体升降调,范围 -20 ~ +20 半音。男声变女声一般 +5~+12;
- Pitch Extraction Algorithm:与训练保持一致(crepe);
- Auto Load Index:勾选,自动加载同名索引;
- Retrieval Feature Ratio:索引检索强度,0 ~ 1。0.5–0.8 通常能兼顾相似度与自然度;
- 点击转换,结果输出到 outputs/ 目录。
🎯 小技巧:先用 10 秒小样本快速试不同 Transpose 与索引比例,确定后再接着跑批量转换,可以省下大量重复计算。
六、提升相似度与避坑清单
- 数据优先:干声不干净、混入他人声音,是相似度低的最常见原因;宁可多花 10 分钟清洗数据。
- 多试几个 checkpoint:30 轮训练会保存约 3 份中间模型(
G_10/20/30.pth等),并非最后一轮一定最好,逐个试听挑选。 - 显存不足:把 Batch size 降到 1,采样率降到 32k;推理管线对 4GB/5GB 显存显卡会自动缩小分块窗口(见 lib/rvc/pipeline.py)。
- 没有 NVIDIA 显卡:项目会自动回退到 Mac MPS 或 CPU(逻辑见 modules/shared.py),可用但训练速度明显变慢。
- 多说话人数据集:勾选 Multiple speakers,把每位说话人放入独立子目录,WebUI 会自动生成
speaker_info.json(实现见 lib/rvc/train.py)。 - 重复训练:勾选 Ignore cache 可清空旧缓存从头预处理。
- 不想用网页:项目自带 API 服务 server.py,可把 RVC 接入自己的应用。
七、常见问题 FAQ
Q:训练多久?10 分钟数据 + 30 轮,8GB 以上显存的显卡通常半小时内完成(含预处理与索引)。
Q:v1 和 v2 怎么选?新项目直接用 v2(默认值),通道数 768、输出层 12;v1 对应 256/9,配置文件对照 configs/32k.json 与 configs/48k-768.json。
Q:输出发闷/有电流声?优先检查数据是否干净、Transpose 是否过大、是否漏选索引(Retrieval Feature Ratio 设为 0 或未加载 index 都会降低相似度)。
Q:能合成没听过的内容吗?可以。模型学到的音色与文本内容解耦——给它任意一段"别人念稿"的音频,输出的就是目标声线在念相同内容。
按这份指南走完一遍,你只需要 10 分钟音频和 10 分钟操作,就能拥有属于自己的高相似度 AI 声线。祝你训练顺利!🚀
【免费下载链接】rvc-webuiliujing04/Retrieval-based-Voice-Conversion-WebUI reconstruction project项目地址: https://gitcode.com/gh_mirrors/rv/rvc-webui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考