十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RVC 变声器实战指南:从装环境到训模型,一篇跑通 RVC 语音转换全流程

RVC 变声器实战指南:从装环境到训模型,一篇跑通 RVC 语音转换全流程 RVC 变声器实战指南从装环境到训模型一篇跑通 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-WebUIRVCRetrieval-based-Voice-Conversion-WebUI是一个基于 VITS 的开源变声框架给它不到 10 分钟的干净人声就能训练出可用于语音转换、AI 变声的音色模型还自带网页界面和实时变声功能。这篇指南不按问答组织而是跟着你从零到一的实际操作走先装好环境再备数据、跑训练然后是推理调音、模型分享最后附一份按类别归好的报错速查表。全程第二人称照着做就行。 第一次跑起来环境准备与启动检查RVC 对硬件不算苛刻一块能跑的 N 卡、一块 A 卡甚至 CPU 都能转起来但依赖装错是最常见的翻车点。下面按顺序做四件事每做完一件验证一次。1. 拿到代码。如果你还没有项目文件克隆仓库git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI2. 确认 Python 版本。建议用Python 3.83.10其中 3.7–3.10 与固定依赖llvmlite0.39.0兼容性最好3.11 装 poetry 依赖时容易撞上冲突。在 Python 环境里执行python --version3. 装 PyTorch 和依赖。先装 torch按你的 CUDA 版本选再按显卡类型选对应的依赖清单——仓库根目录就放好了四份你的显卡安装的依赖文件N 卡CUDArequirements.txtA 卡 / I 卡DirectMLrequirements-dml.txtA 卡Linux ROCmrequirements-amd.txtI 卡Linux IPEXrequirements-ipex.txtpip install torch torchvision torchaudio pip install -r requirements.txt装完后用导入测试确认没有缺库这一步能提前暴露llvmlite.dll之类的底层缺失python -c import torch, faiss, librosa, numba; print(依赖OK)4. 补齐预训练模型文件。RVC 推理和训练都依赖一批底模用约 50 小时 VCTK 数据训练无版权问题需要放到assets/下assets/hubert/hubert_base.ptassets/pretrained/v1 底模、assets/pretrained_v2/v2 底模assets/uvr5_weights/人声伴奏分离用根目录的rmvpe.ptRMVPE 音高提取强烈推荐解决哑音问题这些文件仓库里没有需要从官方 Hugging Face 空间lj1995/VoiceConversionWebUI下载。仓库也提供了下载脚本Windows 下双击tools/dlmodels.bat或 Linux/macOS 下运行 tools/download_models.py 即可。5. 安装 FFmpeg。训练切分、格式转换全靠它缺了它预处理会直接报 ffmpeg 错# Ubuntu/Debian sudo apt install ffmpeg # macOS brew install ffmpegWindows 用户把ffmpeg.exe和ffprobe.exe两个文件放到项目根目录即可。装完执行ffmpeg -version能打印版本信息才算数。6. 启动。确认上面都绿了启动 WebUIpython infer-web.py浏览器打开控制台给出的地址默认 7860 端口就能看到训练/推理界面。Windows 用户也可以直接双击 go-web.bat整合包用户同理。如果打不开页面先看网络类报错那一节。遇到问题别慌先把 docs/en/faq_en.md 过一遍环境类报错 90% 都能在上面找到对应条目。️ 备数据录音规格与预处理模型好不好七成看数据。先说清什么样的数据算合格再讲怎么喂给 RVC。录音规格直接抄作业时长至少10 分钟干净人声5–10 分钟的高质量数据就够出效果30 分钟以上属于锦上添花。底噪要低。带风扇声、键盘声、电流声的录音训练出来会带噪。宁可短不要脏。格式统一成wav / mp348000 Hz最省心如果素材是 32k 或 44.1k 混着来先转一致否则预处理时特征维度容易对不上后面Tensor 尺寸不匹配就是它。内容只保留目标说话人的声音。拿歌来练先用 UVR5 分离——RVC 内置了 UVR5 功能页或调用 infer/modules/uvr5/ 下的分离模块把干声和伴奏拆开只拿干声。预处理做什么点击 WebUI 训练页的一键切片/预处理后RVC 会做三件事——按静音把长音频切成 1–4 秒的小段、统一重采样到 16k 训练采样率、归一化响度。切分参数藏在 infer/modules/train/preprocess.py 里的Slicer静音阈值 -42dB、最短保留 1.5s 语音一般不用动。三个容易忽略的点切片结果先听一遍。切完的 16k 小文件里如果混进大段静音或别的声音直接删掉坏样本比少样本更伤模型。同一人的声音要一致。混入变声器处理过的音频会让音色发飘。中途想补数据不要直接往老实验目录里塞。正确姿势见后面续训一节开新实验 拷入旧权重。⚙️ 训练实操epoch、数据量与关键参数怎么选进入训练页你只需要关心这几个参数其余保持默认。参数大白话解释建议值实验名这轮训练的文件夹名必须唯一如exp_singer_48k采样率训练精度v1 可选 32k/40k/48kv2 可选 32k/48k48k显存紧张选 32k模型版本v2 底模更大、更稳v1 更省资源优先v2epoch完整过一遍数据叫 1 个 epoch数字越大越贴合但也越容易过拟合见下表batch_size一次喂几条样本直接决定显存占用默认爆显存就减epoch 怎么定参考下面这张数据量 × 质量对照表然后凭耳朵做最终裁决——每隔几十个 epoch 拿最新保存的G_*.pth去推理试听一次音色稳定后就可以停了继续硬训只会过拟合数据质量数据时长建议 epoch 范围高低噪、干声、录音规整5–10 分钟100–150中略有环境音10–30 分钟150–200低噪点偏多30–50 分钟200–300训练配置文件按版本和采样率分好放在 configs/ 下比如 48k 的 v2 配置在 configs/v2/48k.json不用手改界面上选的参数会自动写进去。显存爆了的三步降配法看到CUDA out of memory报错别重装环境按顺序降每降一级试一次减 batch_size界面上调小或改配置文件里的batch_size这是第一顺位显存占用与它近似线性。采样率从 48k 降到 32k计算量明显下降。开半精度界面上的半精度开关N 卡默认就建议开。4GB 以下显存建议直接切 CPU 推理训练则租一块云卡在 4GB 卡上硬训 v2/48k 只会反复中断。另外训练前先用nvidia-smi看看显存是否被别的程序占着关掉浏览器硬件加速、游戏之类的大户。Tensor 尺寸不匹配先查数据再查代码The size of tensor a (24) must match the size of tensor b (16)这类维度报错九成是样本长度/格式不一致某些音频是单声道某些是双声道、采样率混着来、或切出来有异常短的残段。处理办法用ffprobe抽查几个文件确认都是同一采样率、同一声道数删掉体积异常小比如几十 KB 以下的切片清空该实验的预处理目录重新跑一遍预处理再训练。不要试图去改模型代码数据齐了就自然消失。 推理与调优让音色更像、更稳训练跑完权重G_*.pth会出现在weights/目录logs/下也有中间存档。推理页选不到新音色先做两件事点刷新音色列表等 2 秒确认weights/里真的有那个.pth文件正常大小约 60–100MB几 KB 的文件是没训完的残骸。索引RVC 的防串味机关索引.index是什么简单说它存的是你训练集里所有音频片段的特征向量推理时 RVC 从里面检索最接近当前片段的那条特征去顶替输入特征——这一步是杜绝源音色泄漏听起来像原唱/原说话人混进来的核心机制。索引缺失的修复训练完去训练索引页选对应实验一键生成索引存在assets/indices/下。生成依赖磁盘空间几百 MB 起空间不足会静默失败所以刷不出音色时先df -h看一眼。也可以手动跑索引训练脚本 tools/infer/train-index.py 或 v2 版本 tools/infer/train-index-v2.py。index_rate一个旋钮决定像谁这是推理页最值得调的滑块它控制检索特征替代原始特征的比例index_rate效果适用场景0完全不检索纯靠模型本体模型训练得好、源音频特征与目标音色差异大0.6–0.8音质与相似度平衡默认起步值1完全替换源特征源音频音色太冲明显串味时调法从 0.7 起听着像原声就往上调听着糊就往回调。其他常用旋钮变调key整段升降半音男转女常 12 左右起步再细调。保护阈值protect防破音的关键默认 0.33出现金属音、嘶啦声就往上加代价是边缘保真度略降。RMS 混合目标人声音量忽大忽小时拉到 0.5–1 让响度向源音频靠拢。重采样率输出想要更高频细节时选 48000显存紧可留 0不升采样。详细调参思路可对照官方文档 docs/en/training_tips_en.md 和 docs/en/faq_en.md。 模型分享与部署该交哪些文件分享模型最常见的新手错误是把整个logs/文件夹打包发出去——几个 GB 的中间产物对方根本用不上。正确的交付包长这样my_model/ ├── README.md # 训练数据概况、采样率、推荐参数 └── 模型文件 ├── xxx.pth # 核心模型60–100MB必给 └── xxx.index # 索引文件强烈建议一起给对方拿到后.pth放进自己项目的weights/.index放进assets/indices/回推理页点刷新即可使用。README 里写清采样率48k 还是 32k和推荐 index_rate能省双方很多调试时间。中途断档用检查点续训训练跑到一半机器要重启RVC 会定期在logs/实验名/下存G_xxx.pth/D_xxx.pth检查点。续训方法新建一个新实验名如exp1_continue把最新的G_*.pth和D_*.pth拷进新实验目录在界面选拷贝最新模型/继续训练入口后从该 epoch 接着跑。想把 v1 的权重转成 v2 格式用 tools/infer/trans_weights.py。想换采样率开新实验别原地改32k 训练的模型不能中途切到 48k 继续训特征维度对不上。正确流程新实验名 → 选新采样率 → 重跑预处理 → 重新训练。想省时间的话可以复用同一批音频的原始切片数据本身没变但特征提取结果必须按新采样率重来。不想开界面命令行也能跑服务器环境或者想批量处理音频时tools/infer_cli.py 就是命令行推理入口参数都是--选项式python tools/infer_cli.py \ --model_name my_model \ --input_path input.wav \ --index_path assets/indices/my_model.index \ --index_rate 0.7 \ --f0up_key 0 \ --f0method rmvpe \ --device cuda:0 \ --opt_path output.wav批量转一个文件夹就循环调用它或参考 tools/infer_batch_rvc.py 的写法。长时间任务丢后台nohup python infer-web.py webui.log 21 高频报错速查按类别定位把最常碰到的报错按环境类 / 训练类 / 推理类 / 网络类归了个总表每条都是现象—原因—解决一句话带走。环境类还没开始干活就报错现象原因解决启动即报llvmlite加载失败 / 缺 dllPython 版本过新或 VC 运行库缺失换 Python 3.8–3.10Windows 补装 VC 运行库后pip install llvmlite --force-reinstall --no-cache-dir重装预处理时报 ffmpeg / utf8 错缺 ffmpeg 或路径含中文、特殊字符按平台装好 ffmpeg 并ffmpeg -version验证项目与音频路径改纯英文启动时Expecting value: line 1 column 1JSON 解析错配置文件被截断/写坏或代理干扰了下载用python -m json.tool configs/config.json校验坏了就按 configs/ 里同版本模板恢复顺手unset http_proxy https_proxy清掉代理训练类训练中途或结束时现象原因解决Cuda out of memory显存不够三步降配减 batch_size → 采样率降 32k → 开半精度4GB 以下显存直接 CPU 推理或云卡训练Tensor 尺寸不匹配音频采样率/声道/长度不一致ffprobe抽查 → 删异常切片 → 清目录重新预处理训练完了logs/里却没有能用的权重进程被杀/磁盘满导致保存中断df -h查空间查进程是否异常退出用最近检查点续训推理类界面能开声音不对现象原因解决推理页刷新后看不到新音色列表没刷新、.pth没落盘或文件残缺点刷新音色ls -lh weights/确认文件存在且约 60–100MB残缺的重新从logs/拷贝完整版索引文件缺失、检索不生效索引没生成或磁盘不足静默失败到训练索引页重新生成到assets/indices/或手动跑 tools/infer/train-index.py先df -h保证空间输出带原声串味检索比例不够index_rate 从 0.7 往 1 上调确认索引与模型匹配同源数据训练输出破音、金属音保护阈值太低protect 从 0.33 逐步上调检查源音频有没有失真段网络类界面访问不到现象原因解决打不开 7860 页面端口被占或服务没起lsof -i :7860或 Windowsnetstat -ano \| findstr 7860看占用换一个端口启动局域网其他设备访问不到默认只绑本机回环启动时加--host 0.0.0.0并放行防火墙对应端口下载底模慢/失败代理或网络不稳清代理重试或换网络环境重跑tools/download_models.py️ 避坑与进阶四个误区 提速技巧误区一epoch 越多越好。不是。过了稳定点继续训只会让模型死死咬住训练集细节过拟合出现唱歌像机器人的僵硬感。听感优先数字其次。误区二原始录音直接上。带伴奏的人声、带混响的直播录音直接训效果一定差。先 UVR5 分离、再切片、最后听检多花 20 分钟省 10 次重训。误区三分享整个 logs。几百 MB 到几 GB 的中间产物没人要.pth .index README才是标准交付见上一节。误区四无视硬件上限。在 4GB 显存上开 48k 大 batch 是反复中断的起点。先定硬件预算再定训练参数。性能调优清单按收益排序素材预处理成48k 单声道 wav再入库训练阶段少做转换保持默认学习率0.0001 量级RVC 对这个参数相当稳健乱调反而慢N 卡开半精度 显存充足时把 batch_size 提到 4–8吞吐明显音高提取选RMVPE比 crepe 快且资源占用小assets/rmvpe/里的测试文件也印证了它是默认推荐长任务放服务器跑时用nohup加日志文件别指望前台终端一直开着。✅ 收尾一张表走完整个旅程把全文压成一张操作清单照着从上到下过一遍就能交付一个可用的变声模型阶段关键动作验收标准环境克隆仓库 → 装 torch/依赖 → 下载底模 → 装 ffmpegpython -c import torch, faiss, librosa无报错ffmpeg -version有输出数据10 分钟低噪人声 → UVR5 分离 → 切片听检切片全是目标人声、无长静音训练48k / v2 / 100–200 epoch爆显存走三步降配试听G_*.pth音色稳定无源声泄漏推理刷新音色 → index_rate 0.6–0.8 起步微调连续两句听感自然、不破音分享.pth.index README 三件套对方放入weights/、assets/indices/即能用你现在可以做的三件事先按环境一节的验收命令把机器过一遍手里有素材的话今天就能切出第一批 16k 试听片段训练跑起来后把每 50 个 epoch 试听一次设成习惯。RVC 的迭代成本很低多训几版、多比几次比任何玄学调参都快。更多背景可以看 docs/en/README.en.md 与更新日志 docs/en/Changelog_EN.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),仅供参考
返回列表