
10 分钟语音数据训一个专属变声模型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-WebUIRetrieval-based-Voice-Conversion-WebUI下文简称 RVC是一个基于 VITS 的开源变声框架主打「用少量语音数据训练音色还原度不错的变声模型」。本文面向第一次接触 AI 变声、打算在本地跑通「训练—推理」完整链路的人先讲清它替谁解决什么问题再带你按顺序装环境、放模型、启动并调参最后把高频报错按类型归拢起来排查。它替你解决哪几件事如果你手里有一段干净的人声想做出「用你的声音唱别人的歌」或「实时变声」的效果RVC 把整条链路都收进了一个网页界面里少数据也能出效果底模用接近 50 小时的高质量开源语料训成所以你只要提供目标说话人的语音官方推荐 10 分钟到 50 分钟即可精简且音色有特色时 5 到 10 分钟也够用。弱显卡也能快速训练框架针对显存做了适配普通消费级显卡可以跑训练速度较快。人声与伴奏一键分离内置 UVR5 能力先把混音里的人声、伴奏拆出来再拿纯人声去训练。实时变声除训练外还提供实时推理界面延迟可做到端到端百毫秒级别方便接入聊天、直播等场景。装依赖与放预模型先跑通环境这一步是新手最常卡住的地方。原则是「先装 Python 依赖再补齐预训练模型」顺序反了启动时会一路报错。按显卡选 requirements 装依赖要求 Python 大于 3.8。依赖入口在requirements.txt等文件里先装 PyTorch再按硬件装对应清单pip install torch torchvision torchaudioWindows 上如果是 RTX30 系Ampere 架构按经验需要指定 CUDA 版本pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117再按显卡类型安装pip install -r requirements.txt # N 卡 pip install -r requirements-dml.txt # A 卡 / I 卡DirectML pip install -r requirements-amd.txt # A 卡 ROCm仅 Linux pip install -r requirements-ipex.txt # I 卡 IPEX仅 Linux不想用 pip 的话也可以用 Poetry注意此时 Python 建议 3.7 到 3.10其它版本在装llvmlite0.39.0时容易冲突。MacOS 用户直接跑sh ./run.sh装依赖即可。把预模型放到指定目录依赖装好后还需要把一批预训练文件放进仓库对应目录否则训练和推理都起不来。需要准备的内容大致是./assets/hubert/hubert_base.pt./assets/pretrained./assets/uvr5_weights想用 v2 版本模型再额外补一个./assets/pretrained_v2tools目录下有现成的下载脚本如download_models.py能帮你把上面这些文件拉到正确位置。另外两件事装 ffmpeg训练预处理要调用它。Ubuntu/Debian 用sudo apt install ffmpegMacOS 用brew install ffmpegWindows 则下载ffmpeg与ffprobe的可执行文件放到项目根目录。音高提取模型想用效果最好的 RMVPE 算法把rmvpe.pt放到 RVC 根目录A 卡 / I 卡可再选rmvpe.onnx。启动 WebUI 并跑通第一次推理启动与一键训练的四个阶段装好依赖和预模型后启动命令就一条python infer-web.py若之前用 Poetry 装的依赖则换成poetry run python infer-web.py。浏览器会打开默认 7865 端口的界面端口可在启动参数里改。点「一键训练」时后台其实按四步串行执行理解这个顺序对你判断卡在哪一步很有帮助处理数据把训练集按约 3.7 秒一段切片、归一化、重采样到 16k切片阈值、静音长度等参数见 infer/modules/train/preprocess.py。提取音高与特征分别抽出 F0 曲线和内容特征。 3a.训练模型用infer/modules/train/train.py训练产物落在logs/实验名/下。 3b.训练索引用 Faiss 构建added_IVF...index检索库。推理时这几个滑块分别管什么训练完进入「单次推理」页几个关键参数值得记住变调整数半音数升八度填 12、降八度填 -12。音高提取算法可选pm/harvest/crepe/rmvpe。歌声用pm更快harvest低音好但很慢crepe效果好但吃显存rmvpe综合最好且资源占用小DirectML 环境没有crepe。检索特征占比控制「用训练集特征替换输入特征」的强度默认 0.75。保护系数默认 0.33防止清辅音、呼吸声出现电音撕裂。采样率v1 可选 40k / 48kv2 额外支持 32k。完整推理流程的实现在 infer/modules/vc/pipeline.py想看特征检索与音高融合的细节可以从这里入手。踩坑自查按报错反查原因把 FAQ 里的内容按「原因类型」归拢后排错会快很多。路径与环境类ffmpeg error / utf8 error多半不是 ffmpeg 的锅而是路径带空格、括号等特殊符号或训练集用了中文路径导致写filelist.txt时编码报错。把目录挪到纯英文、无空格的短路径再试。Expecting value: line 1 column 1关闭系统或全局代理包括服务端代理比如某些云平台的学术加速再刷新。Connection Error多半是你把控制台的黑色终端窗口关掉了保留该窗口即可。找不到llvmlite.dllWindows安装对应的 VC 运行库后重启 WebUI。显存与内存类Cuda out of memory训练时先缩小 batch size缩到 1 还爆只能换卡推理时则去 configs/config.py 末尾调小x_pad、x_query、x_center、x_max。显存低于 4G 的卡如 1060 3G基本可以放弃4G 还有救。训练时内存 error进程开太多把「提取音高和处理数据使用的 CPU 进程数」拉低或手动把训练集音频切短一点。训练完了为什么找不到音色或索引没有added开头的索引只要出现「Training is done」就说明模型训练成功紧随其后的报错可以忽略索引卡住多半是训练集太大重新点一次「训练索引」通常就能补上代码已改为分批 add 来省内存。推理页看不到刚训的音色先点「刷新音色」还没有的话回看训练是否报错logs/实验名/下的日志可直接拿去对照。中途换了采样率继续训会报 tensor 尺寸不匹配别在同一实验里改采样率需要改就换新实验名从头训。想分享模型时该给哪个文件logs/实验名/下的 pth 是「实验状态」用来复现或续训不要直接拿去推理。真正可分享的是weights下约 60MB 的 pth配合对应的added_...index一起打包成 zip 分发即可直接把 logs 下几百 MB 的 pth 塞进 weights 强行推理会报 f0、tgt_sr 等 key 缺失。边界与进阶选项数据时长怎么定推荐 10 到 50 分钟音质好、底噪低且音色有个人特色时可以更多精简且有特色的 5 到 10 分钟也够用1 到 2 分钟有人成功但不具备可复现的参考价值1 分钟以下不建议尝试。训练轮数 total_epoch训练集音质差、底噪大时 20 到 30 轮就够拉太高也带不动底模音质高、时长足时可上到 200 轮。检索占比与音色泄漏当底模和输入源音质高于训练集时结果音质会被带高但音色可能往它们靠这叫「音色泄漏」。检索占比调到 1 理论上不泄漏、但音质更贴训练集调到 0 则失去检索保护。训练集足够优质、轮数够多时泄漏本身就不明显索引文件甚至可以省。选卡与续训推理用哪张卡在config.py的device里改cuda:后的卡号想续训就用相同参数点训练模型会自动接上上次 checkpoint想中途加数据则新建实验名、拷入上次的 G/D 文件再一键训练。更多细节可查阅 中文 FAQ 与 更新日志。把一条干净的人声喂进去跑通一次推理听到自己的声音被换掉的那一刻你就真正上道了——剩下的只是调数据、调参数的事。【免费下载链接】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),仅供参考