3 个阶段跑通 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
RVC(Retrieval-based-Voice-Conversion-WebUI)是一套基于 VITS 架构的检索式语音转换框架,也就是社区常说的 RVC 变声器:喂10 分钟低底噪素材,就能在普通显卡上训出一个可用的专属 AI 音色模型。这篇教程按三件事推进:把 RVC WebUI 跑起来、把素材喂给模型、生成索引并试听。读完照做,你手里会多出一个能反复调参的音色模型,以及一套出问题时按图排查的速查表。
开跑自检:先查三类前置条件
RVC 安装教程里九成翻车不在代码,在前置条件没打齐。先过下面这份清单,缺哪条补哪条,再动终端。
硬件与版本
- 显卡显存≥ 4GB—— 4GB 以下训练基本跑不动,能训但会反复爆显存
- Python3.8~3.10(64 位)—— 3.11+ 容易触发
llvmlite依赖冲突,报错位置绕、不好修 - FFmpeg5.0+—— 切音频、转采样全靠它;Windows 用户可把
ffmpeg.exe直接放项目根目录 - PyTorch2.0+,版本必须和系统 CUDA 匹配 —— 对不上会训练慢、推理怪,排查成本很高
环境隔离
- 用
venv或 poetry 隔离依赖 —— 装进系统 Python 会污染全局环境,日后卸载和升级都是事故现场
素材
- 手头有至少10 分钟同音色、低底噪的音频 —— 现在没有可以先记着,阶段二前补上即可
两条命令验证地基,都能正常打印版本信息就合格:
python --version ffmpeg -version阶段一:配置 RVC 环境并启动 WebUI
完成标志:浏览器能打开 RVC WebUI 界面。
按显卡装依赖
先装 PyTorch 全家桶匹配你的显卡,再拉一份依赖清单。N 卡用requirements.txt;A 卡、I 卡用仓库里对应的-dml/-ipex变体——装错变体,RVC 运行时找不到加速路径,训练会慢一个量级。
pip install -r requirements.txtCUDA 对不上时(RTX30 系最常见),装 PyTorch 这一步指定cu117源。装完看一眼终端输出,torch相关包没有红色报错,再往下走。
补齐预模型与音高权重
训练和推理都依赖assets/下的一批预模型:assets/hubert/(特征提取)、assets/pretrained(底模)、assets/uvr5_weights(人声分离);要用 v2 底模再补assets/pretrained_v2。缺哪一份,流程就会卡在哪一步,不如一次补全。想要最好的音高提取效果,把rmvpe.pt放到项目根目录。tools/里附了下载脚本,照着跑一遍即可自动填好目录。
启动 WebUI 并验证端口
启动命令只有一条,默认监听7865端口,想换用--port传参:
python infer-web.py浏览器打不开时,先确认7865是否被别的进程占了:
netstat -ano | findstr :7865占了就换个空闲端口重启;另外注意那个黑色控制台窗口,它一关 WebUI 立刻断,训练期间尤其别碰。
完成标志:浏览器能打开 WebUI,"文件管理"选项卡能正常加载。
阶段二:训练首个 RVC 音色模型
完成标志:weights/目录出现 60+MB 的.pth模型文件。
素材规格:48k 统一,单段 5~10 秒
把素材统一转成 WAV,采样率对齐48k,剪掉首尾静音和明显底噪,再切段。质量优先于数量:总量10~50 分钟最稳——太短学不到音色,太长只是拖慢训练。
| 项目 | 建议值 | 不达标会怎样 |
|---|---|---|
| 格式 / 采样率 | WAV、48k | 与训练配置configs/v1/48k.json对不齐会中途报错;采样率中途不可改,改就得换实验名重训 |
| 单段时长 | 5~10 秒 | 过长容易爆显存、报张量尺寸错 |
| 总时长 | 10~50 分钟 | 低于 10 分钟音色不稳;音质高、音色统一可以再多 |
| 底噪 | 越低越好 | 底噪大时别把训练轮数拉高,会连噪声一起学进去 |
训练关键参数:先看三个
训练选项卡里,先认准这三个参数再点开始:
batch_size默认4—— 每次迭代处理几段音频,显存紧张就先降它,最低到1,先跑通再谈速度total_epoch—— 按素材质量定:低质20~30轮够用,高质可到200;轮数过多会过拟合,声音发"死"learning_rate默认1e-4,支持fp16的显卡默认开启 —— fp16 省一半显存、提速明显,不用手动干预
训练代码入口在infer/modules/train/,参数就定义在那里;你不需要读源码,知道去哪查就行。
显存自适应:这四个参数别手改
RVC 会按实际显存自动收缩configs/config.py末尾的x_pad/x_query/x_center/x_max——它们控制单次训练序列的长度,显存越小序列越短。知道它们存在即可,手动改会打破它算好的平衡,4GB 显存手动拉满就是直接 OOM。
完成标志:日志显示训练完成,weights/里多出一个60+MB的.pth。注意别把logs/下几百 MB 的大.pth当模型——那是训练存档,不是能直接推理的成品。
阶段三:生成索引并试听
完成标志:出声,且音色对得上。
模型和索引缺一不可
一个可用音色由两个文件组成:模型是weights/下的.pth,检索索引是assets/indices/下的added_*.index。模型决定"像谁",索引决定"音色保多少"——缺索引,推理页刷不出你的新音色,这是新手最常见的一步卡点。
训练索引→刷新音色→试听
按顺序做三步:点"训练索引"生成索引 → 到推理选项卡点"刷新音色"看到新模型 → 选中它、设好参数、点转换。生成后回assets/indices/确认有同名的added_*.index。
推理参数抓三个重点:
- Index Rate推荐0.6~0.8—— 它在"音色像不像"和"音质高不高"之间做取舍;拉满1理论上完全杜绝源音色"泄露",但声音会贴向训练集本身的音质。训练集音质高于推理源就调高,反过来调高只会更糊
- 音高提取选RMVPE—— 效果最好、最省资源,和阶段一放根目录的
rmvpe.pt配套 - 采样率与训练保持一致 —— 不一致会直接掉音质,别省事
完成标志:转换出的音频出声、音色和目标对得上,无明显机械感与杂音。
故障速查:四类情况对号入座
按"装不上 / 起不来 / 训崩了 / 听不出"分组,先看症状,再执行动作,别乱试:
| 分组 | 症状 | 原因与动作 | 优先级 |
|---|---|---|---|
| 装不上 | llvmlite.dll缺失 | 缺 VC++ 运行库;装 VC++ 2015-2022 运行库后重启 | 高 |
| 装不上 | ffmpeg / utf8 报错 | 项目路径含中文或空格;移到纯英文无空格路径 | 高 |
| 起不来 | 浏览器连接失败 | 端口被占或控制台被关;查7865,--port换端口,保持黑窗 | 中 |
| 起不来 | Expecting value(char 0) | 系统/全局代理干扰;关本地与远端代理再试 | 中 |
| 训崩了 | Cuda out of memory | 显存不够;降batch_size,4GB 以下考虑换卡 | 高 |
| 训崩了 | tensor 尺寸不匹配 | wavs16k里混了异常小的坏音频;删掉重训 | 中 |
| 听不出 | 看不到新训练的音色 | 索引没生成或没刷新;点"训练索引",再点"刷新音色" | 高 |
| 听不出 | 推理报 key 不存在 | 把logs/大.pth当模型用了;用 ckpt 选项卡提取 60+MB 小模型 | 中 |
| 听不出 | 中途加数据后声音错乱 | 采样率被改过;换新实验名从头训,或拷贝已提取特征加速 | 中 |
进阶提色:从能听到好听
跑通只是及格线,下面几处能让成品明显更耐听。
录音与剪辑细节
- 录音时盯底噪,目标低于-60dB—— 环境安静比后期降噪省心得多
- 剪掉首尾静音,响度大致归一,让每段能量接近,训练更稳
- 想做泛化能力增强:音高±3 个半音、适度混响、音量±3dB—— 别过量,加多了音色发脏
用 ckpt-merge 混音色
RVC 支持把多个.pth按权重揉成一个新音色:进 ckpt 处理选项卡,选好要融合的模型,新手从0.5 : 0.5起步,用不同风格素材对比融合前后,把最好听的那个比例记下来,下次直接复用。
资源地图:卡住之后去哪找答案
- 中文常见问题:docs/cn/faq.md
- 训练配置:configs/;依赖配置:
requirements.txt、pyproject.toml - 推理核心:
infer/lib/;训练核心:infer/modules/train/ - 报错先搜项目Issue与Wiki,搜不到再提问,附截图和
logs/里对应实验的日志
先跑通,再谈好听。第一个稳定的音色出来之后,提色技巧才有用武之地——好声音是调出来的,不是猜出来的。
【免费下载链接】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),仅供参考