RVC 变声框架完整指南:10 分钟人声样本,训练出可换声线的 AI 声音

发布时间:2026/9/2 10:56:12
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-WebUIRetrieval-based-Voice-Conversion-WebUI社区通称 RVC是一个基于 VITS 的变声语音转换框架把一小段目标人物的声音喂给它训练之后你唱的、说的任何一段音频都能被换成那个人的音色。它的核心卖点就一句话——10 分钟以内的干净人声数据就能训出一个可用的变声模型普通消费级显卡几分钟内就能训完。一个下午的声音分身它替你解决什么假设你有两个很具体的需求给一首翻唱换一条别人听不出的 AI 声线或者给一段口播、游戏直播做实时变声。传统音效软件只能整体升降音调音色本身是换不掉的——音色是声带、口腔、发声习惯共同决定的只能靠模仿而模仿最省事的方式就是让机器学。RVC 接住的就是这个场景它不生成文字也不做翻译只干一件事——把 A 段音频的内容唱了什么字、什么旋律保留下来用 B 人的音色重新演绎一遍。数据门槛被压得很低官方推荐 10 分钟起步质量好的话 5 分钟也能见效这在同类方案里属于很友好的水平。先看链路RVC 是怎么把声音换掉的这一节不写代码先给你建立预期知道每一步在做什么后面调参不慌。整个系统分训练和推理两条链路中间用模型文件衔接训练链路一次性样本 → 特征 → 模型 索引你把目标人声的文件夹10~50 分钟录音指给训练页系统先把音频按静音切段、降噪、统一转成 16kHz 采样采样率指每秒记录多少个音频点16k 是语音识别与特征提取的通用规格用 HuBERT 模型把每段音频编码成 256 维的数字特征HuBERT 是一个语音特征编码器可以理解为把声音翻译成机器能比较的坐标VITS 主干一种语音合成模型负责特征 音高 → 波形从预训练底模出发微调学到这个人的音色最后用 faissFacebook 出品的向量检索库给训练集特征建索引存成.index文件。推理链路每次使用输入音频 → 音高 特征 → 检索混合 → 输出对你的输入音频提取音高曲线f0即每一帧的基频决定旋律和声调走向算法可选 RMVPE、harvest、pm、crepe 等同样用 HuBERT 提取特征然后到刚才的索引里做 top1 检索——找到训练集中最接近的特征替换掉输入里的部分源特征替换后的特征 音高一起送进 VITS 合成输出目标音色的音频。第 2 步的检索替换正是项目名字里 Retrieval-based 的含义也是 RVC 的招牌设计它从机制上掐断了原说话人音色泄漏的通道所谓音色泄漏就是输出听起来还是你原本的嗓门。理解了这一点后面所有参数你都会知道为什么存在。最短路径从克隆到打开 WebUI这一节解决最快怎么跑起来只保留必要命令其他平台差异见文末文档。1️⃣ 拿到源码需要 Python 3.8 环境git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI2️⃣ 装依赖。先装 PyTorch若已有可跳过再按显卡选清单N 卡用requirements.txtA 卡/I 卡用requirements-dml.txtpip install torch torchvision torchaudio pip install -r requirements.txt⚠️ 坑点RTX 30 系Ampere 架构在 Windows 上装 PyTorch 时建议指定 CUDA 版本源--index-url指向 cu117否则容易出现装得上但跑不起来的依赖冲突。3️⃣ 装 ffmpegRVC 内部用它读音频缺了会报 ffmpeg error。Linuxsudo apt install ffmpegmacOSbrew install ffmpegWindows 把 ffmpeg.exe / ffprobe.exe 放到项目根目录。4️⃣ 准备预训练模型把assets/hubert/、assets/pretrained/、assets/uvr5_weights/等预模型下载到对应目录tools/目录下有配套的下载脚本可参考。想用 v2 底模则额外下载assets/pretrained_v2想用效果最好的 RMVPE 音高算法再把rmvpe.pt放到项目根目录。5️⃣ 启动python infer-web.py浏览器自动打开 127.0.0.1:7865端口可在启动参数--port中改。看到页面上显卡信息栏正常显示、五个选项卡模型推理 / 伴奏人声分离 / 训练 / ckpt处理 / Onnx导出都在就表示环境通了 ✅。训练环节把样本音频变成你的声线模型这一节解决我的声音怎么进来。打开训练选项卡流程只有三步全部在网页里点填实验名给这次训练起个名字如my-voice所有中间产物会存在logs/my-voice/下。这里还要决定是否考虑音高——要唱就得开纯说话的模型可以关更轻更快。填数据文件夹 → 一键训练一键按钮会依次完成数据预处理切段、降噪、提取音高和 HuBERT 特征、模型训练、faiss 索引训练。看到 Training is done 即训练成功。收模型assets/weights/下会多出一个 60MB 的.pth文件logs/实验名/下有added_xxx.index。分享模型时打包这两样即可。数据准备的三条经验直接决定模型上限时长10~50 分钟最稳底噪小、音色有辨识度5 分钟也能出活。底噪这是第一优先级录音环境安静比多录一小时更重要。音质差的数据训练轮数total_epoch拉到 200 也带不动底模20~30 轮反而合适。路径音频直接放在文件夹根层子文件夹里的文件不会读路径里避免空格、括号和中文后面单独说。推理调优决定像不像的三个核心参数模型训好了在模型推理选项卡选音色、传音频即可出结果。但同一模型参数不同观感差距很大。按影响从大到小讲三个① 索引率index rate——治音色泄漏的总开关。它是检索混合的强度调到 1 时理论上完全用训练集特征替换源特征音色最像目标人但输出音质会被拉向训练集的音质水平调到 0 则完全不检索音质可能更好、但容易漏回你自己的嗓门。默认 0.6~0.75 是常见折中。如果你训练集本身质量高、时长长模型自己就不太依赖检索索引率怎么调差别不大。② 音高提取算法f0 method。旋律、声调全靠它选错会哑音或跑调。优先选 RMVPEInterspeech 2023 的先进算法效果和速度都是目前最好、资源占用最小harvest 精度高但慢适合离线精修pm 和 crepe 可作为对照。男低音场景 RMVPE 优势尤其明显。③ 音高移动key——变调旋钮。整数步长升降调男声换女声或反之常用 ±4 左右。它和检索是两回事检索管音色这个管音域互不替代。批量处理时用批量推理子页传一堆文件自动排队想省事的用户也可以直接看 tools/infer/ 下的命令行版推理脚本。进阶玩法实时变声与 API 集成这一节解决离线转完还不够快怎么办。实时变声Windows 用户双击go-realtime-gui.bat等价于运行 gui_v1.py就能边说边变声默认端到端延迟约 170ms用 ASIO 音频设备可压到 90ms 左右。界面支持参数热更新改了参数不用重启、模型懒加载切过一次的模型不再重复载入还有个响度因子让输出响度贴近输入避免忽大忽小。⚠️ 输入和输出设备要选同一类比如都选 MME 或都选 WASAPI跨类型容易无声。API 集成想把它接进自己的服务仓库自带 api_231006.py 和更新版的 api_240604.py暴露 HTTP 接口做推理与音色加载rvc_for_realtime.py 则是给实时场景用的服务入口。写业务代码时参考这几个文件里的请求字段即可。ONNX 导出Onnx导出选项卡可以把模型转成 ONNX 格式一种跨平台推理格式配合 infer/lib/infer_pack/onnx_inference.py 可以在没有 PyTorch 环境的地方推理适合部署到 A 卡/I 卡或嵌入式场景。排障最容易卡住的五个坑这里把官方 FAQ 里高频问题收成原因 → 做法对照着处理ffmpeg error / utf8 error多半不是 ffmpeg 的锅是路径问题——音频路径带空格、括号或训练集目录是中文路径。把路径改干净重来比升级 ffmpeg 有效。训练完没有 index 文件一键流程末尾加索引可能因数据集太大卡住。单独再点一次训练索引按钮即可。CUDA out of memory训练时把 batch size 往小调调到 1 还 OOM 只能换卡推理时去 configs/config.py 尾部把x_pad、x_query、x_center、x_max缩小。4G 以下显存1060 3G、各 2G 卡建议放弃训练4G 显存还能救。Connection Error / 打不开页面多半是启动 WebUI 的那个黑色控制台窗口被你关掉了服务已随进程终止。tensor 尺寸不匹配17280 vs 0 / 24 vs 16 之类前者去wavs16k文件夹删掉明显比别的文件小一截的异常音频再训后者原因是在训练中途改了采样率要么保持原采样率要么换实验名从头训。Windows 报 llvmlite.dll 找不到装一遍微软 VC 运行库再重启 WebUI 即可不是代码问题。下一步与资源服务已经跑起来了建议按这个顺序把能力摸熟先训一个 10 分钟样本的小模型用单次推理出一段结果试听不满意时只动 index rate 和音高提取算法这两个参数其他先不动这样你能分清是数据问题还是参数问题效果满意后再上批量推理跑整首歌最后尝试go-realtime-gui.bat体验实时链路。想深入时按这个索引走常见问题全集docs/cn/faq.md训练流程与参数详解docs/en/training_tips_en.mdfaiss 索引原理与 IVF 参数docs/en/faiss_tips_en.md推理核心逻辑检索混合、响度对齐都在这里infer/modules/vc/pipeline.py模型合并 / 提取 / 转 v2infer/lib/train/process_ckpt.py多语言更新日志docs/cn/Changelog_CN.md调优到瓶颈时方向只有一个换更好的训练集。参数是修车数据才是换发动机。【免费下载链接】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),仅供参考

相关新闻