3步上手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
Retrieval-based-Voice-Conversion-WebUI(简称 RVC)是一个基于 VITS 的开源语音转换框架,它的核心能力是 AI 语音克隆——只要 10 分钟低底噪的录音,就能训练出可实时变声、可替换他人音色的声音模型。适合想快速体验 AI 变声的创作者、配音爱好者,以及不想折腾命令行的新手。
🧭 一图看懂 RVC 能做什么
先花 30 秒建立全局印象,下表覆盖你最常用的四类操作:
| 核心功能 | 帮你解决什么 | 在哪里操作 |
|---|---|---|
| 模型训练 | 把几十分钟录音变成一个专属音色模型 | WebUI「训练」选项卡 |
| 离线推理 | 把一段音频换成目标音色 | WebUI「推理」选项卡 |
| 实时变声 | 说话或唱歌时低延迟换声,端到端可低至 90ms | 实时变声界面gui_v1.py |
| 人声伴奏分离 | 调用 UVR5 把歌声和伴奏拆开 | WebUI「UVR5」选项卡 |
它最大的优点是门槛低:即使显卡不算顶级,也能跑得动;数据量小也能出可用结果。
📦 装完就能跑:一条路径备齐环境
环境准备按「系统要求 → 装依赖 → 拿预置资源」三步走,走完整机就可用。
系统要求:Python 3.8 以上,并安装好 ffmpeg(Ubuntu/Debian 用sudo apt install ffmpeg,MacOS 用brew install ffmpeg,Windows 把 ffmpeg.exe 放到项目根目录即可)。
装依赖:按你的显卡选一行,其余照搬官方说明。
| 你的环境 | 先装 PyTorch | 再装项目依赖 |
|---|---|---|
| N 卡 | pip install torch torchvision torchaudio | pip install -r requirements.txt |
| A 卡 / I 卡 | 同上 | pip install -r requirements-dml.txt |
| MacOS | 运行sh ./run.sh一键装好 | 同一脚本自动处理 |
拿到代码只需一条命令,克隆后进入目录即可:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI拿预置资源:RVC 还需要几个预训练模型才能工作。跑下面这条脚本,它会自动把 Hubert、预训练权重、UVR5、RMVPE 音高模型都下载到assets对应目录:
python tools/download_models.py💡 提示:下载慢时不必慌。这些文件都能从 Hugging Face 上的官方 space 手动补下,脚本只是替你省去了逐个点对应目录的麻烦。
🚀 第一次运行:先启动,再做一件事
启动方式按平台挑一个:
| 平台 | 启动动作 | 打开地址 |
|---|---|---|
| Windows | 双击go-web.bat | 自动弹出浏览器 |
| MacOS | sh ./run.sh后自动起 | 自动弹出浏览器 |
| 通用 | python infer-web.py | 默认http://localhost:7860 |
界面打开后,先做的一件事是看顶部「显卡信息栏」:它会列出你每张卡的型号和显存,帮你确认 RVC 认出了正确的卡。认对了,后面训练和推理才不会莫名走 CPU。想换推理用的卡号,改configs/config.py里device的cuda:后面数字即可,映射关系就显示在显卡信息栏里。
🎬 按场景上手
场景一:训练一个专属音色模型
你要达成什么:把目标声音的录音变成一个可复用的音色模型。
分步操作:在「训练」选项卡填入训练集音频路径和实验名,点一键训练;流程会自动切分音频、提取音高与特征、训练模型并建立索引。
你会看到什么:控制台打印处理日志,完成后weights文件夹下出现 60MB 以上、可推理的.pth小模型,同时生成added_开头的索引文件。
💡 提示:分享或推理要用weights下那个 60MB+ 的模型,而不是logs里几百 MB 的中间文件。后者的作用只是复现和续训,直接拿去推理会报缺 key 的错。
场景二:把一段音频换成目标音色
你要达成什么:上传一段录音,输出换成目标音色后的版本。
分步操作:在「推理」选项卡选择刚训好的模型和对应索引,填入待转换音频,选定音高提取算法(RMVPE 效果最好),点转换。
你会看到什么:生成一段新的音频文件,可直接试听对比原声。
常见卡点:转换出来「像底模、不太像训练的人」,这多半是音色泄露,把推理时的 index rate 往 1 拉可缓解。
场景三:实时低延迟变声
你要达成什么:对着麦克风说话或唱歌,实时听到换声后的效果。
分步操作:用go-realtime-gui.bat(或gui_v1.py)启动实时变声界面,加载模型,选输入输出设备并点启动。
你会看到什么:说话的同时输出换声后的声音,端到端延迟在普通设备上约 170ms,用 ASIO 输入输出设备可压到 90ms 左右。
常见卡点:输入输出设备类型要一致(例如都选 MME 类),类型混选会出杂音或无声。
🎛️ 调参避坑手册
新手先用默认值,效果不满意再按下表微调。训练相关参数集中在configs/下的 JSON 配置里,推理切分参数在configs/config.py结尾。
| 参数 | 新手默认 | 什么时候调 |
|---|---|---|
| 总轮数 total_epoch | 按配置默认(约数万轮) | 数据差底噪大调低、数据优质时长多可拉高 |
| batch_size | 4 | 显存不够就往下缩到 1 |
| index rate | 0.5 附近 | 出现音色泄露往 1 拉,音质偏低往回调 |
| x_pad / x_query / x_center / x_max | 脚本按显存自动填 | 推理报显存不足时手动缩小 |
- 训练集越长越干净,total_epoch 才有上调空间;数据本身就嘈杂,调太高也带不动音质。
- 显存吃紧时,训练缩 batch_size、推理缩 x_ 系列参数是两条独立出路,别混着改。
🩺 出了问题先查这里
| 症状 | 可能原因 | 解决动作 |
|---|---|---|
| ffmpeg error / utf8 error | 音频路径带空格、括号或中文 | 把训练集路径改成无特殊符号的纯英文路径 |
| Cuda out of memory | 显存不够 | 训练缩 batch_size,推理缩小 x_ 参数,4G 以下显卡基本放弃 |
| 训练完没看到新音色 | 索引没建好 | 点刷新音色,再试一次「训练索引」 |
| WebUI 弹出 Expecting value 报错 | 系统开了代理 | 关闭局域网/全局代理再重启 |
| Connection Error | 控制台黑窗口被关掉 | 保持命令行窗口不关闭 |
| llvmlite.dll 报错 | 缺 VC 运行库 | 装上 Microsoft VC 运行库再重启 WebUI |
更多排查可参考仓库自带说明:中文常见问题、更新日志。
🤝 参与项目与授权
RVC 采用 MIT 许可证,个人学习和商用都友好,具体见 LICENSE。想参与,可以从这几个入口入手:
- 提 Issue 反馈问题与复现步骤
- 改进代码:推理核心在 infer/lib/infer_pack/,训练逻辑在 infer/modules/train/,界面入口是 infer-web.py
- 补全 i18n/locale/ 里的多语言翻译
- 训练出好模型后分享给社区
贡献前请先读 CONTRIBUTING.md。
RVC 的价值就在于:把「克隆一个声音」这件事压缩到 10 分钟数据、几次点击就能完成。你现在就可以:
- 按「装完就能跑」把环境和预置模型备齐
- 启动 WebUI,用一段真实录音跑通一次训练
- 在实时变声界面里试听效果,再按「调参避坑手册」微调音色
现在就动手,用你自己的声音跑通第一遍吧!
【免费下载链接】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),仅供参考