RVC 语音克隆实战教程:从环境配置到第一次变声,30 分钟出第一个模型
【免费下载链接】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)是一款开源变声框架,新手用 10 分钟录音就能克隆出一个人专属的 AI 音色,之后任何音频都能换成这个声音。本文带你走完「装环境 → 启动 WebUI → 训练模型 → 跑通第一次变声」的完整闭环,面向零基础用户,命令全部可照抄。中途掉坑,下文「掉坑了怎么办」一节有答案,对号入座就行。
适合谁、不适合谁 🎯
先说清项目能干啥,避免白折腾:
- 数据门槛低:10 分钟低底噪录音就能出可用模型,作者用 5 分钟数据也训练成功过;
- 硬件友好:NVIDIA、AMD(DirectML)、Intel 核显(IPEX)都有对应加速方案,显存 4G 只能做推理,训练建议 6G 以上;
- 内置工具链:UVR5 人声伴奏分离、RMVPE 音高提取、模型融合都在同一个网页里,不用东拼西凑;
- 防音色泄漏:推理时用 top1 检索替换输入特征,输出的声音不会残留原音色的影子。
明显不适合:显存 4G 以下还想自己训练的场景。替代做法:只用云端 GPU 或租机器训练,本地只做推理;或者干脆直接用别人训好的公开模型变声。
怎么跑起来 🚀
三样东西备齐再动手:Python 3.8 以上、与显卡匹配的依赖、FFmpeg(Windows 用户把ffmpeg.exe、ffprobe.exe放到项目根目录即可)加预训练模型。依赖选型照表抄:
| 你的环境 | 安装命令 | 说明 |
|---|---|---|
| NVIDIA 显卡 | pip install -r requirements.txt | 大多数用户的选择 |
| AMD 显卡(Windows) | pip install -r requirements-dml.txt | 走 DirectML 加速 |
| AMD 显卡(Linux) | pip install -r requirements-amd.txt | 需先装 ROCm 驱动 |
| Intel 显卡(Linux) | pip install -r requirements-ipex.txt | 走 IPEX 加速 |
💡 懒人方案:Windows 用户可直接下载整合包解压,双击
go-web.bat就启动,跳过下面所有手动步骤。预训练模型不想手搬的,运行python tools/download_models.py批量拉取assets/hubert、assets/rmvpe、assets/pretrained、assets/uvr5_weights等目录,想用 v2 版本模型还要有assets/pretrained_v2。
获取代码并安装依赖:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI pip install -r requirements.txt启动 WebUI:
python infer-web.py看到什么算成功:控制台滚完日志后打印本地地址,浏览器自动打开http://localhost:7865,页面出现「变声 / 训练 / 模型推理 / ckpt 处理」等标签页,就算跑通了。端口被占就换端口:python infer-web.py --port 7861。
⚠️ 最常见的误操作:把启动时弹出的黑色控制台窗口关了。这个窗口就是后端服务本体,一关,浏览器立刻 Connection Error。想停止服务请关它,想看界面别关它。
怎么做出来 🧠
核心流程六步,每步在 WebUI「训练」标签页里点按钮就行,很机械。
- 填实验配置——给这次训练起个名,数据落在
logs/实验名下。关键参数:输入实验名(如mi-test,纯英文)、目标采样率(默认 40k)、模型是否带音高指导(翻唱必选,纯语音可不选)。 - 处理数据——把长音频自动切成训练用的等长片段并归一化。关键参数:输入训练文件夹路径,里面放你的录音(WAV 优先,单声道,10~30 分钟,先去底噪、剪静音)。
- 特征提取——生成 F0 音高数据和声学特征,是训练的原料。关键参数:音高算法选rmvpe_gpu,显存紧张就退回rmvpe。
- 开始训练——按轮数跑模型,过程不断产出
G_xxx.pth(生成器)和D_xxx.pth(判别器)。关键参数:总训练轮数 total_epoch(默认 20)、每张显卡的 batch_size、保存频率 save_every_epoch(默认 5)。 - 生成索引——训练完点「训练索引」,产出
added_xxx.index特征检索库,这个文件在推理时用来把声音锁在目标音色上。 - 提取小模型——到「ckpt 处理」标签页做小模型提取,把训练存档转成 60+MB 的轻量
.pth存进assets/weights,这个才是能直接推理和分享的模型。
💡参数怎么选:
total_epoch按素材质量给区间——数据有底噪、20~30 轮封顶;音质干净、素材足,大胆拉 50~200。盲目加轮数不会让低质量数据变好听。batch_size显存 6G 左右从 8 起试,爆显存就减半。
怎么做好 🔧
模型能跑了,声音不像、不够自然,先调这三个参数,都在「模型推理」标签页:
- 变调:按半音升降调,
12升八度、-12降八度,0不变。作用一句话:控制音高高多少。建议区间:男翻女 8~12、女翻男 -8~-12。走极端(如 ±24):音高脱离人声正常范围,出来的是怪物音。 - 检索特征占比(Index Rate):越大越像训练集音色,越小越自由。建议区间 0.5~0.9,清唱素材从 0.7~0.8 起,带伴奏的 0.5~0.6。走极端:拉满到 1 会牺牲音质变机械;压到 0 会混进原音频的音色,即「音色泄漏」。
- F0 音高算法:
rmvpe效果最好且微吃显存,默认就选它;harvest低音好但巨慢;crepe吃 GPU;pm最快适合纯语音提速场景。走极端(选错算法配错素材,如对唱歌用 pm):跑得快但音高不准,副歌直接破音。
调完参数还不行,按这个优先级排查:
- 数据(性价比最高)。诊断问句:训练集里有没有底噪、爆音、其他人的声音?素材是不是同一个音色?最有效动作:重新剪一遍素材,去掉噪音段,只留干净单人录音——这一步比任何调参都管用。
- 参数。诊断问句:Index Rate 试过 0.5、0.6、0.7 三档吗?最有效动作:每次加 0.1 逐个试听,记录最顺耳的值。
- 采样率配置。诊断问句:你的素材和目标用途配 40k 还是 48k?最有效动作:音乐/配音选 48k,实时变声选 40k 以下。训练中途千万别改采样率,改了只能换实验名从头训。
掉坑了怎么办 🕳️
报错一:ffmpeg error / utf8 error。原因不是 ffmpeg 坏了,是音频路径含空格、括号或中文。解法:音频改名、挪到纯英文无空格路径,重跑。
报错二:WebUI 弹 Expecting value 解析错误。原因几乎全是系统代理(全局/局域网代理)干扰了 JSON 请求。解法:关掉代理,同时 unset 服务器端http_proxy环境变量,重启 WebUI。
报错三:llvmlite.dll 缺失。原因:Windows 缺 Visual C++ 运行库。解法:装好 vc_redist 安装包,重启电脑。
报错四:CUDA out of memory。原因:显存不够。解法:训练侧把 batch_size 减半;推理侧到 configs/config.py 把x_pad、x_query、x_center、x_max调小(4G 显存参考 1/5/30/32)。
报错五:tensor 尺寸不匹配。原因二选一:训练目录里有异常短音频,或中途改过采样率。解法:检查wavs相关目录删掉明显偏小的文件;改过采样率的只能换新实验名从头训。
报错六:训练完成了但没有added_索引文件。原因:训练集太大导致索引生成卡住。解法:确认控制台出现 "Training is done" 提示后,手动再点一次「训练索引」。
报错七:推理列表里找不到新模型。原因:训练中断或文件位置不对。解法:先点「刷新音色列表和索引路径」,还没有就翻logs/实验名下的日志和 官方 FAQ 对报错。
💡 综合排查提示:如果报内存不足(Memory error),多半是 CPU 进程开太多,把「提取音高和处理数据使用的 CPU 进程数」调低,同时手工把训练音频切短一点再跑。
收尾 📤
把全流程串起来:备环境 → 起 WebUI → 处理数据 → 特征提取 → 训练 → 训练索引 → 提取小模型 → 推理变声。
最后点破一件事:真正决定效果的从来不是参数玄学,而是训练数据够不够干净、音色够不够统一——10 分钟干净录音,效果稳赢 1 小时带噪音的素材。
想分享模型给别人,记住:logs/实验名下的 pth 是训练存档(几百 MB),不能直接给人推理用;要打包的是assets/weights里的小模型 +added_xxx.index索引文件,工具都在 tools/infer/。
最小起步动作:找一段 10 分钟的干净录音,今天就把流程从第一步跑到第六步走通一遍,跑通之后再谈调优。去吧,你的第一个克隆音色离你只差一条python infer-web.py的距离。
【免费下载链接】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),仅供参考