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
把 10 分钟左右的人声录音丢进 RVC(Retrieval-based-Voice-Conversion-WebUI),你就能在浏览器里得到一个自己的音色转换模型,之后上传任意音频,输出的都是目标音色的声音。这个开源框架的技术路线是 VITS 合成加检索式特征替换,所有操作都在 Gradio 网页界面里完成,内置人声伴奏分离和音高编辑,属于目前上手门槛最低的一条 AI 变声 / 音色克隆路线。
开工前先回答三个问题
| 你要确认的事 | 达标线 | 说明 |
|---|---|---|
| 显卡够不够 | 4GB 显存起步 | N 卡最顺;A 卡、I 卡走 CPU / DirectML 路线,能跑,只是训练慢 |
| 素材有没有 | 10–50 分钟低底噪人声 | 同一个人录,尽量 WAV、44100Hz、单声道;素材干净程度决定效果天花板 |
| 时间花多少 | 环境 20 分钟,训练 30–60 分钟 | 全程不写脚本,网页上点按钮 |
另外两件事:机器上要能装 FFmpeg(切分、重采样全靠它),磁盘空出约 5GB 放预训练模型和训练日志。
一次装好:clone、依赖、模型、启动
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI- 进入目录,激活 Python 3.12 虚拟环境,先装好 PyTorch,再按硬件装依赖:
| 你的硬件 | 做法 |
|---|---|
| N 卡(RTX 50 系以前) | 装 CUDA 11.8 版 Torch,再执行pip install -r requirments_cu118_py312.txt |
| N 卡(RTX 50 系) | 装 CUDA 12.8 版 Torch,再执行pip install -r requirments_cu128_py312.txt |
| A 卡 / I 卡 | 执行pip install -r requirments_cpu_py312.txt,Windows 走 DirectML,Linux 走 CPU |
| macOS | 同样装 CPU 依赖即可 |
- 补齐预训练权重:hubert_base、rmvpe、pretrained(V1 底模)、pretrained_v2(V2 底模)等目录从官方 Hugging Face 模型仓库拉取,脚本 tools/download_models.py 可以辅助下载。
- 装好 FFmpeg:Ubuntu 执行
sudo apt install ffmpeg,macOS 用 Homebrew 安装,Windows 把ffmpeg.exe和ffprobe.exe放进项目根目录。 - 启动并验证:
python webui.py浏览器自动打开http://localhost:7865且能看到训练 / 推理选项卡,就算装好了。Windows 用户也可以直接双击 go-webui.bat 省掉这一步。
最短路径:六步出第一个能用的模型
第 1 步 备料。把录音放进一个纯英文、无空格的文件夹。完成标志:文件夹里是一批 WAV 文件,单段时长在 3 秒以上。
第 2 步 切分。打开"切分音频"选项卡,填入文件夹路径,按 3–10 秒一段切片。完成标志:logs/下出现切好的短片段。
第 3 步 提取特征。在"特征提取"选项卡选音高算法rmvPE,跑 F0 与 Hubert 特征提取。完成标志:日志提示完成,训练集目录下多了 f0 和 hubert 特征文件。
第 4 步 训练。在"训练"选项卡填实验名,total epoch 给 20–30,batch size 按显存给 4–8。完成标志:logs/实验名/下生成了 60MB 左右的.pth模型文件。
第 5 步 建索引。回到"特征提取"选项卡点"训练索引"。完成标志:实验目录里出现added_IVF*.index文件,并同步进了assets/indices/。索引记录的是训练集的音色分布,推理时按它做特征检索,控制结果往目标音色靠多近。
第 6 步 推理验证。打开"推理"选项卡,点刷新音色列表,选中你的模型和索引,上传一段测试音频。完成标志:试听输出,是目标音色的声音,节奏对得上。
六步走完,你手里有两个文件:.pth模型和.index索引——分享或迁移时发这两个就够了。logs/下几百 MB 的实验状态文件只在"换机器接着训"时才需要。
从"能跑"到"好听":四个参数各讲一句原理
| 参数 | 建议值 | 为什么这么设 |
|---|---|---|
| total epoch | 20–30 | 轮数够了模型就收敛,再往上走会过拟合,音色开始发"塑料" |
| batch size | 4–8 | 显存不够时第一个该降的参数,降它不影响效果,只影响速度 |
| index_rate(索引占比) | 0–1 之间试 | 越高越贴近训练集音色。可以把它理解为调音台推子:推到底音色最像本人但细节跟着输入音频走,推得低则相反,一般从 0.5 起调 |
| f0up_key(半音数) | 按需 ±3–6 | 控制输出的音调升降,跨性别转换基本都要动它 |
底模可以选 V1 或 V2:V2 底模基于约 50 小时的开源高质量语料(VCTK)预训练,效果更稳,默认选 V2 即可。
卡住了怎么办:四个高频报错
现象:ffmpeg error / utf8 error。原因:不是 FFmpeg 的锅,是音频路径带空格、括号或中文。解法:素材挪到简单纯英文路径重跑。
现象:CUDA out of memory。原因:训练 batch 太大或推理段太长。解法:训练时降 batch size;推理时调小 configs/config.py 里的x_pad、x_query、x_max等检索参数。
现象:训练完却没生成索引。原因:训练集太大,索引步骤内存不够。解法:再点一次"训练索引",或缩小训练集规模。
现象:推理列表里找不到你的音色。原因:列表没刷新或训练中途报错。解法:点刷新音色;还没有就去logs/实验名下的日志看训练报了什么错。
浏览器提示 Connection Error 通常是终端窗口被关了——保持它开着,或者确认 7865 端口没被别的程序占用。更完整的排查清单在 docs/cn/faq.md。
走出 WebUI:四个进阶入口
- 实时变声:go-realtime_gui.bat 启动 realtime_gui.py,端到端延迟约 170ms,配 ASIO 声卡能压到 90ms,调参热更新、模型懒加载,直播和游戏都能用。
- ckpt 融合:WebUI 的"ckpt处理"选项卡能把两个训练好的模型混成一个新音色,也支持微调。
- 批量推理:WebUI 的"批量推理"选项卡直接指定一个音频文件夹整批转换,
f0up_key(音调升降半音数)和index_rate(索引占比)都能在界面上调。 - 文档:版本改动看 docs/cn/Changelog_CN_CN.md,英文调参经验在 docs/en/training_tips_en.md。
下一步
现在就录 10 分钟干净人声,把上面六步完整走一遍——哪怕第一版效果一般也别停,先让流程闭环,再回头精调素材和索引占比。RVC 里素材的干净程度比任何参数技巧都管用。
【免费下载链接】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),仅供参考