
10分钟音频训练专属AI音色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你手里有 20 分钟自己的朗诵音频想让 AI 用你的音色唱一首歌。开源项目 Retrieval-based-Voice-Conversion-WebUI简称 RVC就是为这件事设计的用不少于 10 分钟的语音训练一个音色转换模型再在网页界面里完成批量与实时变声。 项目定位RVC 变声器是什么RVC 是一个基于 VITS 架构的开源语音转换变声框架MIT 协议。它的特点不是单纯复现 VITS而是在推理端用 top1 特征检索替换输入源特征从机制上杜绝音色泄漏即输出音色向底模或推理源漂移同时集成了 UVR5 人声伴奏分离和 InterSpeech 2023 的 RMVPE 音高提取算法并在 N 卡、A 卡、I 卡CUDA、ROCm、DirectML、IPEX、macOS MPS上都给了对应的运行方案。对比维度RVC原版 VITS 训练流程商业语音合成 API最少训练数据10 分钟低底噪语音数十分钟至小时级无需训练预设音色库音色泄漏防护top1 检索替换源特征内置无内置机制不适用硬件支持CUDA / ROCm / DirectML / IPEX / MPS以 CUDA 为主云端服务器使用形态WebUI 批量脚本 API训练脚本为主HTTP 接口成本本地免费本地免费按调用量收费 最短路径安装从克隆到启动 WebUI环境要求Python 大于 3.8建议 4GB 以上显存官方 FAQ 明确 4GB 显存可用4GB 以下不建议系统需安装 ffmpeg。第一步克隆代码git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI第二步按显卡安装依赖。N 卡执行pip install -r requirements.txtA 卡 / I 卡执行pip install -r requirements-dml.txtLinux 上 A 卡 ROCm 用requirements-amd.txtI 卡 IPEX 用requirements-ipex.txtpip install torch torchvision torchaudio pip install -r requirements.txt第三步补齐预训练模型。仓库assets/目录需要放入assets/hubert/hubert_base.pt、assets/pretrained/、assets/uvr5_weights/训练 v2 版本模型还需assets/pretrained_v2/使用 RMVPE 音高算法需下载rmvpe.pt放到根目录。tools/download_models.py和tools/dlmodels.sh就是用来批量下载这些文件的。第四步启动python infer-web.py浏览器打开http://localhost:7865端口默认值定义在 configs/config.py 的--port参数里。界面共 6 个选项卡模型推理、伴奏人声分离、训练、ckpt 处理、Onnx 导出按下面的流程走即可。 第一次变声端到端产出一条转换音频以用我自己的声音转换一段测试音频为目标按顺序操作准备数据把 10 分钟左右的清晰语音放进训练目录在训练选项卡填实验名、选 v2/48000Hz 配置点一键训练。它会依次完成切分、提取音高、提取 HuBERT 特征、训练模型、建立索引五步。预期结果控制台出现 Training is done 后weights/下生成 60MB 的.pth模型logs/实验名/下生成added_*.index索引文件。转换音频切到模型推理选项卡点刷新音色列表和索引路径在单次推理里输入待处理 wav 的路径音高提取算法选默认的 rmvpe点转换。预期结果页面返回输出音频人声音色变成训练集中的目标音色音高按你填的半音数偏移0 表示不变调。注意点音色下拉列表里找不到刚训的模型先点刷新音色列表仍没有就去logs/实验名/下看训练日志docs/cn/faq.md Q3。要分享或换机器部署的模型是weights/下 60MB 的.pthlogs/下的大文件是实验状态含完整 checkpoint不能直接用于推理FAQ Q4。显示训练结束后的紧邻报错是假的可以忽略FAQ Q2。⚙️ 推荐训练与推理参数配置真正影响出片质量的是下面这几个变量其余保持默认即可参数推荐值原因训练数据时长10–50 分钟低底噪语音FAQ Q10高音质且音色有特色时 5–10 分钟也可1–2 分钟仅极端情况不具备可复现性total_epoch底噪大20–30音质好时长多可到 200FAQ Q9低音质数据加高轮次底模音质也带不动它音高提取算法rmvpe界面默认值InterSpeech 2023 算法效果最好且比 crepe_full 快输入是歌声时可换 pm 提速index_rate0–1 之间微调批量脚本默认 0.66FAQ Q11调高削减音色泄漏但音质向训练集靠拢调 0 则不做检索保护protect0.33默认范围 0–0.5保护清辅音和呼吸声、抑制电音撕裂拉满 0.5 等于关闭采样率配置v2/48k48000Hz128 melhop 480configs/v2/48k.jsonv2 模型质量上限更高batch_size4v2/48k.json 默认显存不足降到 1–24GB 显存时 configs/config.py 会自动缩小 x_pad 等推理参数数据侧的要求比参数更关键录音环境底噪要低、用外置麦克风、覆盖多种语调语速的片段。模型融合ckpt 处理选项卡里的 ckpt-merge可以在两个已训模型之间按权重混出新音色用来微调像又不完全像的效果。 按你的角色组合 RVC 的三种用法个人创作者翻唱 / 虚拟角色训练一个 v2/48k 模型日常用批量脚本处理整目录音频比 WebUI 里一首首点更快python tools/infer_batch_rvc.py \ --f0up_key 0 \ --input_path todo-songs/ \ --index_path logs/实验名/added_IVFxxx_Flat_nprobe_7.index \ --model_name 实验名 \ --opt_path output/ \ --f0method rmvpe \ --index_rate 0.66实时演奏 / 直播用户运行 go-realtime-gui.batWindows启动实时变声界面。README 给出的指标是端到端 170ms配 ASIO 输入输出设备可降到 90ms但非常依赖声卡驱动。相关运行时参数阈值、block_time、crossfade保存在configs/config.json。工程集成用户不用浏览器直接走代码。api_240604.py 把 WebUI 的能力暴露成 HTTP 接口tools/infer_cli.py 和 tools/infer_batch_rvc.py 提供命令行推理便于接进 CI 或自动化流水线。️ 常见报错与排查方法以下五个问题来自 docs/cn/faq.md按现象→原因→解法整理现象ffmpeg error / utf8 error。原因不是 ffmpeg 的问题是音频路径带空格、括号或中文目录名。解法把训练集移到纯英文、无空格的路径。现象CUDA out of memory。原因显存不足。解法训练时把 batch_size 降到 1推理时缩小configs/config.py结尾的 x_pad、x_query、x_center、x_max4GB 以下显存直接放弃。现象训练成功但没有生成索引文件。原因训练集太大卡在添加索引步骤一次性 add 对内存要求过高。解法再点一次训练索引按钮走批处理 add。现象推理时看不到刚训好的音色。原因音色列表是启动时加载的。解法点刷新音色列表和索引路径仍看不到则查logs/实验名/下的日志确认训练是否真的完成。现象把 logs 下的大 pth 拷到 weights 强行推理报 f0、tgt_sr 等 key 不存在。原因实验状态文件和推理模型不是同一种文件。解法在ckpt 处理选项卡做小模型提取生成 60MB 的推理模型后再刷新音色。 工作原理与核心模块路径RVC 的推理链路是输入音频 → 音高提取F0→ 内容特征提取HuBERT→ 检索替换 → 声学模型 声码器合成。音高提取infer/lib/infer_pack/modules/F0Predictor/ 下并列实现了 rmvpe、crepe、pmpmf、harvest 四种算法训练和推理都从这里取。内容特征与合成模型infer/lib/infer_pack/modules/models.py 是 VITS 主模型含 HiFi-GAN 声码器infer/lib/jit/ 提供 HuBERT、RMVPE、合成器的 TorchScript 加速版本。检索防泄漏核心机制。推理时先对源音频特征在 faiss 索引中做 top1 检索用训练集特征替换输入源特征。索引由 tools/infer/train-index-v2.py 训练格式为IVF{n},Flat。训练流程infer/modules/train/ 负责数据预处理preprocess.py、音高/特征提取extract/ 子目录、训练循环train.pyinfer/lib/train/process_ckpt.py 处理 checkpoint 的合并、拆分与小模型提取。人声分离infer/modules/uvr5/ 封装了 UVR5WebUI 的伴奏人声分离选项卡直接调它常用于先拆人声再清洗训练集。 扩展方向模型融合与 ONNX 导出两个值得优先尝试的方向ONNX 导出WebUI 的Onnx 导出选项卡或 tools/export_onnx.py 可以把训练好的模型导出为 ONNX推理端参考 tools/onnx_inference_demo.py 和 infer/lib/infer_pack/onnx_inference.py脱离 PyTorch 运行时部署。模型融合ckpt 处理选项卡的 ckpt-merge 按权重混合两个 pth适合做主音色 目标音色的渐进微调比重新训练快得多。延伸阅读中文 FAQ 见 docs/cn/faq.md训练技巧英文版见 docs/en/training_tips_en.md更新记录见 docs/cn/Changelog_CN.md。下一步准备 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),仅供参考