ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

RVC 上手教程:10 分钟录音从零到出 AI 变声模型

RVC 上手教程:10 分钟录音从零到出 AI 变声模型

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、依赖、模型、启动

  1. 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI
  1. 进入目录,激活 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 依赖即可
  1. 补齐预训练权重:hubert_base、rmvpe、pretrained(V1 底模)、pretrained_v2(V2 底模)等目录从官方 Hugging Face 模型仓库拉取,脚本 tools/download_models.py 可以辅助下载。
  2. 装好 FFmpeg:Ubuntu 执行sudo apt install ffmpeg,macOS 用 Homebrew 安装,Windows 把ffmpeg.exe和ffprobe.exe放进项目根目录。
  3. 启动并验证:
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 epoch20–30轮数够了模型就收敛,再往上走会过拟合,音色开始发"塑料"
batch size4–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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进