RVC(Retrieval-based-Voice-Conversion-WebUI)一文详解:用 10 分钟干声训练出自己的变声模型

发布时间:2026/9/4 10:17:56
RVC(Retrieval-based-Voice-Conversion-WebUI)一文详解:用 10 分钟干声训练出自己的变声模型 RVCRetrieval-based-Voice-Conversion-WebUI一文详解用 10 分钟干声训练出自己的变声模型【免费下载链接】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 变声的人最常见的抱怨。Retrieval-based-Voice-Conversion-WebUI社区一般简称 RVC就是一个网页界面版的变声框架它基于 VITS一种端到端语音合成架构用不超过 10 分钟的干声就能训出一个效果可用的变声模型并且把人声伴奏分离、音高提取这些前置环节都做成了按钮本地跑通之后整个流程其实比想象中短。RVC 变声和同类工具的不同之处top1 特征检索让目标音色不串味RVC 的核心思路是检索Retrieval推理时从训练集特征里找出与输入最相近的那条top1直接替换输入源的音色特征再喂给合成网络。这么做的好处是训练集里没有的音色不会混进来也就是常说的杜绝音色泄漏。效果上表现为目标音色更纯粹不容易带出录音时的底噪音色或环境音色。对显卡不挑剔整个训练和推理链路的设计偏向低显存消耗配置一般的显卡也能在合理时间内把模型跑完。对不想为了一个玩具项目专门升级硬件的开发者来说这条比支持多平台更实际。RMVPE 音高提取哑音问题基本消失变声效果差的一大来源是音高提取不准传统算法对哑音没有明确基频的声带状态经常直接丢失。RVC 集成了 InterSpeech 2023 的 RMVPE 算法这类情况下的提取效果明显更稳同时速度和资源占用都比旧方案低。配套的 assets/rmvpe/ 目录就是放这套模型参数的位置。从零到跑通一条时间线走完先把依赖装好要求 Python 版本大于 3.8。第一步是 PyTorch 及其配套库装过就跳过Windows Ampere 架构RTX 30 系显卡时按 PyTorch 官方指引指定对应的 CUDA 版本安装即可。pip install torch torchvision torchaudio然后按自己的显卡装项目依赖pip install -r requirements.txtN 卡用上面的requirements.txtA 卡 / I 卡DirectML用requirements-dml.txtLinux 上 A 卡走 ROCm 用requirements-amd.txtLinux 上 I 卡走 IPEX 用requirements-ipex.txt。这几个文件都在仓库根目录结构一目了然。MacOS 用户不需要逐条敲直接跑sh ./run.sh即可对应根目录的 run.sh。如果习惯用 Poetry 管理依赖Python 建议 3.7–3.10因为更高版本在装 llvmlite 时会冲突。把预训练权重拉到本地RVC 自己不带权重文件需要另外下载放到指定目录。清单不长都在 assets/ 下assets/hubert/hubert_base.ptHubert 特征提取模型assets/pretrained/v1 版本预训练参数assets/uvr5_weights/UVR5 人声分离权重assets/pretrained_v2/v2 版本预训练参数想用 v2 才需要仓库的 tools/ 目录里有批量下载这些文件的脚本不用逐个手敲命令。另外两个容易被漏掉的ffmpeg训练推理都会调用它Ubuntu/Debian 直接装sudo apt install ffmpegMacOS 用 Homebrew 装 ffmpegWindows 用户把 ffmpeg.exe、ffprobe.exe 放到 RVC 根目录即可。rmvpe.ptRMVPE 音高提取模型参数放到根目录。A 卡 / I 卡用户如果想要 DirectML 版本下rmvpe.onnx替代。启动 WebUI 并打开页面一切就绪后一条命令启动python infer-web.py浏览器打开本地端口就是完整界面音频切分、批量推理、一键训练、训练索引全在网页上操作。用官方整合包的话Windows 双击go-web.batMacOS 跑sh ./run.sh省掉手动装依赖的步骤。IPEX 用户启动前记得先source /opt/intel/oneapi/setvars.sh加载 Intel 环境。高频踩坑从现象到处理现象报 ffmpeg error 或 utf8 error原因大概率不是 ffmpeg 本身的问题而是音频路径的问题。路径里带空格、括号等特殊字符时 ffmpeg 读取会失败训练集音频带中文路径在写 filelist.txt 时容易触发 utf8 编码错误。处理把音频挪到纯英文、无空格的路径下再重试基本都能解决。现象一键训练显示完成但没有生成索引原因控制台出现 Training is done. The program is closed. 说明模型训练本身是成功的紧随其后的报错是假象。真正的问题出在训练后的索引构建步骤训练集太大时内存方式建索引会卡住索引文件以 added 开头没生成。处理手动点击界面上的训练索引按钮走分批构建的批处理流程内存占用会低很多。现象训练结束推理时找不到训练集的音色原因音色列表没有刷新或训练过程中有真实报错被忽略了。处理先点刷新音色按钮还没有的话把控制台输出和logs/下对应实验名的日志调出来比对报错信息定位到具体是特征提取还是训练阶段失败。写在最后数据量方面官方口径是 10–50 分钟音质高、底噪低的前提下 5–10 分钟的高质量干声也够用。下一步建议先切 10 分钟干声跑一遍训练 → 索引 → 推理完整流程确认链路通了再去折腾音色和参数。【免费下载链接】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),仅供参考