RVC语音转换实战指南:10分钟数据训出专属音色,实时变声延迟170ms

RVC语音转换实战指南:10分钟数据训出专属音色,实时变声延迟170ms RVC语音转换实战指南10分钟数据训出专属音色实时变声延迟170ms【免费下载链接】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 WebUI是一个基于 VITS 的开源语音转换与变声框架覆盖数据预处理、模型训练、离线推理到实时变声的完整链路。两个关键数字可以先记住官方实时变声界面已做到端到端 170ms 延迟配合 ASIO 设备可压到 90ms训练侧官方推荐至少收集 10 分钟低底噪语音数据就能得到效果不错的转换模型。把 WebUI 跑起来装依赖、备预训练模型Python 版本需大于 3.8。先安装 PyTorch 核心依赖再按显卡类型装对应依赖文件N 卡执行pip install -r requirements.txtA 卡/I 卡用requirements-dml.txtA 卡 ROCMLinux用requirements-amd.txtI 卡 IPEXLinux用requirements-ipex.txt。macOS 用户直接跑仓库根目录的run.sh即可。依赖装好后还需要一批预训练模型才能训练和推理。仓库的assets目录就是存放这些模型的位置如assets/hubert/hubert_base.pttools文件夹里提供了下载脚本。启动时 Windows 用户双击go-web.bat即可进入可选各项操作的训练推理界面。 底模基于接近 50 小时的开源 VCTK 训练集100 位说话人训练无版权顾虑直接下载即可使用。训练集怎么备时长与音质各卡多少官方建议训练集时长在 10 分钟至 50 分钟之间如果目标说话人音色统一且有个人特色数据越多越好。精简且音色有特色的高水平训练集5 分钟至 10 分钟也能训出可用模型1 至 2 分钟有人成功过但对音色特色要求极高经验不可复现不具备参考价值。动手前多做一步检查训练后wavs16k文件夹下会生成 16k 采样率的切分音频用文件管理器按大小排序删掉那些明显比其他文件小的片段。否则训练时容易报RuntimeError: The expanded size of the tensor (17280) must match the existing size (0) at non-singleton dimension 1一键流程会中断。一键训练与 total_epoch轮数怎么定total_epoch总训练轮数按训练集质量分两档音质差、底噪大的数据20~30 轮就够——轮数调再高底模的音质也带不动低音质训练集音质高、底噪低、时长充足的数据200 轮是合适的选择RVC 训练速度快多等一会儿通常值得。显存方面4G 显存的显卡还能用4G 以下基本可以直接放弃。训练报 Cuda out of memory 时优先缩小 batch size。训练成功时消息窗会显示 Training is done. The program is closed.其后紧邻的报错可忽略。⚠️ 中断后想继续训练只能关掉控制台重新双击go-web.bat网页参数需重新填写用相同参数点训练模型会从上次 checkpoint 接着跑。索引文件没生成怎么办一键训练结束后logs/实验名下应出现以 added 开头的索引文件。如果没生成常见原因是训练集太大导致添加索引的步骤卡住。处理办法很简单回到界面再次点击训练索引按钮FAQ 中 Q2 已说明该问题可通过批量 add 索引解决内存压力。索引文件的作用配合后面的 index rate 一起理解RVC 用 top1 检索把输入源特征替换为训练集特征从机制上压制音色泄露。所以索引不是可有可无的附件训练完成后记得确认它确实生成了。音色泄露怎么调index rate 的含义当底模和推理源的音质高于训练集时它们会带高结果音质的代价是音色往底模或推理源方向偏即音色泄露。index rate 就是控制这一混合程度的旋钮调到 1理论上不再有推理源的音色泄露但音质会倾向训练集。若训练集音质比推理源低调高反而拉低音质。调到 0失去利用检索混合保护训练集音色的效果。训练集优质且时长充足、total_epoch 调高后模型本身不太引用推理源和底模音色泄露问题很少出现此时 index rate 的重要性下降甚至可以不建立、不分享 index 文件。实时变声170ms 怎么来的还能再低吗运行go-realtime-gui.bat打开实时变声界面A 卡/I 卡用户用go-realtime-gui-dml.bat即可体验低延迟变声。当前端到端延迟为 170ms若输入输出设备都使用 ASIO可做到 90ms但这非常依赖硬件驱动支持。⏱️ 两个实操细节输入和输出设备应选择同种类型例如都选 MME实时界面支持参数热更新调参不必中止重启和模型懒加载加载过的模型不重复加载试参数时的等待会少很多。语音聊天、直播类场景可以先按默认参数跑一遍再针对性调整。分享模型找到 weights 里 60MB 以上的 pth最容易踩的坑是发错文件。rvc_root/logs/实验名下存储的 pth 是实验状态文件用于复现和继续训练不能直接拿来分享推理真正用于分享的是weights文件夹下大小为 60MB 的 pth 文件。若误把 logs 下几百 MB 的大文件复制到 weights 强行推理可能出现 f0、tgt_sr 等 key 不存在的报错——这种情况用 ckpt 选项卡最底部的ckpt 小模型提取功能提取一次即可提取完 weights 下会出现可用的 60MB pth。后续版本计划把weights/exp_name.pth和logs/exp_name/added_xxx.index合并打包成weights/exp_name.zip分享时省去填写 index 的步骤。若你要把转换流程集成到自己的程序里可参考 tools/infer_cli.py它提供了命令行推理入口。常见问题与下一步建议ffmpeg error / utf8 error大概率不是 ffmpeg 本身的问题而是路径含空格、括号等特殊符号或训练集音频为中文路径导致写入 filelist.txt 出错。Connection Error多半是关掉了控制台黑色窗口。WebUI 弹出 Expecting value: line 1 column 1 (char 0)关闭系统局域网/全局代理服务端代理如 http_proxy/https_proxy同样要 unset 掉。内存或文件页面 error把提取音高和处理数据使用的 CPU 进程数拉低或手动把过长的训练音频切短。完整问答见 docs/cn/faq.md。下一步建议先双击go-web.bat走一遍一键训练 训练索引完整流程确认 weights 下生成了 60MB pth 和 added 开头的索引再打开go-realtime-gui.bat实测 170ms 延迟下的听感最后按 index rate 从 0.5 起逐步上调对比音色泄露与音质的取舍。【免费下载链接】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),仅供参考