ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

RVC 声音转换排坑实录:推理 OOM、音色串、启动校验失败的 5 个真实原因

RVC 声音转换排坑实录:推理 OOM、音色串、启动校验失败的 5 个真实原因 RVC 声音转换排坑实录推理 OOM、音色串、启动校验失败的 5 个真实原因【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data 10 mins!项目地址: https://gitcode.com/gh_mirrors/ret/Retrieval-based-Voice-Conversion-WebUI训练明明成功了一推理声音里却混着原始音色甚至直接 CUDA 显存溢出。RVCRetrieval-based-Voice-Conversion-WebUI就是那套用 10 分钟音频能训出可用音色转换模型的 VITS 框架。demo 跑通不等于能上真项目这些坑你八成正在踩。装完依赖30 秒把 WebUI 拉起来先 clone再装依赖最后启动三步走完浏览器就能打开页面git clone https://gitcode.com/gh_mirrors/ret/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI pip install torch torchvision torchaudio # CUDA 版本按显卡选对应 index-url pip install -r requirements/main.txt python web.py打开http://127.0.0.1:7865就是训练/推理主界面。Python 建议用 3.11更高版本会卡在 fairseq 的依赖上。⚠️ 首次启动会按sha256.env逐个校验 assets 下的预训练权重。控制台提示 hash mismatch 时别硬跑见后面坑位一。四块能力训练、推理、资产、配置各管一摊交互式训练WebUI 的 train 页签是主入口。填实验名、指音频文件夹点 One-click training它按 预处理 → 提 f0 和 HuBERT 特征 → 训模型 → 训索引 四步跑完产物落在logs/实验名/下。命令行推理不想起 WebUI 时tools/cmd/infer_cli.py一条命令出结果适合脚本化# 单文件推理rmvpe 是目前质量最好的 f0 提取法 python tools/cmd/infer_cli.py --input_path test.wav \ --model_name myvoice --f0method rmvpe --opt_path out.wav资产校验启动参数控制权重检查行为。想自动补全缺失文件python web.py --update # 校验失败时自动下载补齐推理参数真正常改的是configs/inuse/v1/40k.json首次启动从configs/v1/自动复制一份x_pad、x_max、is_half都在里面。显存不够时它是第一个要动的文件。五个坑现象、根因、解法一次说清坑一启动校验失败音色列表是空的现象控制台打印sha256 hash mismatch. please add parameter --updateWebUI 里可用音色一个都没有。根因assets 下的权重是手工下载的残缺版启动时 rvcmd.py 按sha256.env逐个对哈希缺一个就拦一个。解法python web.py --update让它自动补齐网络差就手动下hubert_base.pt和pretrainedv1/v2 目录。--nocheck能跳过检查但只是把报错推迟到推理时。坑二CUDA OOM3 分钟音频直接崩现象短音频没事转一段 3 分钟的音频就抛torch.cuda.OutOfMemoryError。根因配置文件里x_pad、x_max默认偏大整段音频一次性进显存且is_half没开。解法打开 configs/inuse/v1/40k.json调小x_max确认is_half为 true。换个思路4G 显存的卡直接改用 32k 采样率的模型比 48k 省一大截显存听感差距很小。坑三Windows 上 llvmlite.dll 加载失败现象依赖装完python web.py一行就抛OSError: Could not load shared object file: llvmlite.dll。根因缺 VC 运行库numba 的依赖链断在这里和 RVC 代码本身无关。解法装 VC Redistributablefaq_en.md Q15 有出处装完还不行就把 numba/llvmlite 钉到互相兼容的版本。坑四页面弹窗 Expecting value: line 1 column 1现象WebUI 页面弹这个 JSON 解析错误浏览器一直转圈。根因系统代理把127.0.0.1:7865的请求劫持走了代理返回的内容不是 Gradio 期望的 JSON。这是典型的时序问题——代理规则改了页面行为就跟着变。解法把 localhost 和 127.0.0.1 加进代理 bypass 列表关掉局域网代理刷新页面。坑五音色串或直接报 index mistatch现象推理结果里混着源声音俗称串音或者推理时直接抛index mistatch。根因索引文件和模型版本不匹配——v1 模型配了 v2 的 index或续训后没重训索引。解法在训练页签重跑 Train Index串音严重就把index_rate拉到 1.0。换个思路如果训练集音质好、时长够索性不用索引index_rate置 0让模型自己扛反而更干净。两个真实工作流批量转换和续训批量转换拿到一个文件夹的待转音频时CLI 加循环就是生产级的批处理# 遍历 input/ 下所有 wav统一升 4 个半音输出到 output/ mkdir -p output for f in input/*.wav; do python tools/cmd/infer_cli.py \ --input_path $f \ --model_name myvoice \ --index_path logs/myexp/added_16k.index \ --f0method rmvpe --f0up_key 4 \ --index_rate 0.8 --protect 0.33 \ --opt_path output/$(basename $f) done--protect控制气声保护0.33 是默认值转唱的歌建议再调大一点。续训新录了一批干净数据想接着旧实验练别从零开始# 旧实验最新的 G/D 权重拷进新实验目录epoch 接着算 cp logs/exp1/G_199.pth logs/exp1/D_199.pth logs/exp2/然后在 WebUI 选 exp2 点 train the modeltraining_tips_en.md 里有完整四步。 续训期间别动采样率改采样率会触发 tensor size mismatch换实验名从头训更干净。边界清单哪些场景别硬上场景判定一句话理由10~50 分钟干净独白能用官方推荐区间20~30 epoch 就够带噪长录音直接喂训练慎用先用内置 UVR5 分离人声再切短段4G 显存卡慎用换 32k 模型 is_half还 OOM 就放弃训练分享 logs 里几百 MB 的 pth别用那是训练 checkpoint分享 weights 下 60MB 的成品续训时改采样率别用直接 tensor 尺寸报错换实验名重训更省事拉下仓库用 10 分钟音频跑一条试试。【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data 10 mins!项目地址: https://gitcode.com/gh_mirrors/ret/Retrieval-based-Voice-Conversion-WebUI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表