5 步跑通 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)是一个靠检索替换源特征来做 RVC 语音转换的 Web 框架。它的卖点是数据量小、训练快、界面友好,最少 10 分钟左右的干净人声就能训出可用模型。下面按执行顺序,把克隆、装依赖、拉模型、启动这几步需要复制的命令一次讲清楚,并附上语音转换过程中最常见的几类报错怎么处理。
读懂项目
RVC 的定位很直接:把"训练 + 推理"打包进一个网页里,让你在浏览器里完成从切分音频到导出模型的全流程,而不需要盯着命令行。几个值得留意的点:
- 靠检索压制音色泄漏:推理时用 top1 检索把源特征替换成训练集特征,底模和输入源的音色不容易串进来,出来的声音更像目标人物而不是"输入源本人"。
- 小数据可跑:推荐 10 到 50 分钟低底噪人声。数据精简且音色有特色时,几分钟也能出效果,这对普通玩家很友好。
- 网页化操作:训练、推理、模型处理都在 Gradio 界面里点按钮,不用记参数。
- 自带 UVR5 人声分离:混音里先把人声和伴奏拆干净,再进训练,省一道手工处理。
- RMVPE 音高提取:用 RMVPE 算法取人声音高,比传统方法更稳,哑音更少。
- 多硬件适配:N 卡走 CUDA,A 卡/I 卡可用 DirectML 或 IPEX,Mac 走脚本自动装依赖。
启动前准备
先确认环境,再依次执行。整体是一条"装 Python → 拉代码 → 装依赖 → 装 FFmpeg"的链路。
| 项目 | 要求 |
|---|---|
| 系统 | Windows 10/11、Linux、macOS |
| Python | 3.8 及以上 |
| 显卡 | N/A/I 卡皆可,显存建议 ≥4GB |
| 磁盘 | 预留约 10GB |
先拉代码:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI装 PyTorch 核心,再按显卡装对应依赖:
pip install torch torchvision torchaudio # N 卡 pip install -r requirements.txt # A 卡 / I 卡(DirectML) pip install -r requirements-dml.txt # A 卡 ROCm(Linux) pip install -r requirements-amd.txt # I 卡 IPEX(Linux) pip install -r requirements-ipex.txt如果是 Windows + N 卡 Ampere 架构(RTX 30 系),指定 CUDA 版本:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117Mac 用户直接跑脚本装依赖:
sh ./run.sh音频处理依赖 FFmpeg,按系统装一下:
# Ubuntu / Debian sudo apt install ffmpeg # macOS brew install ffmpegWindows 把 ffmpeg.exe 和 ffprobe.exe 放进项目根目录即可。
拉取与配置模型资产
RVC 推理和训练都要一批预训练权重,项目提供了自动下载脚本。关键点:脚本依赖 aria2,没装会直接退出,先确认aria2c可用。
# Windows tools\dlmodels.bat # Linux / macOS sh tools/dlmodels.sh跑完会补齐这些文件:
assets/hubert/hubert_base.pt(Hubert 特征模型)assets/pretrained(v1 的 D/G 系列权重)assets/pretrained_v2(v2 的 f0D/f0G 等权重,用 v2 模型时需要)assets/uvr5_weights(UVR5 分离权重)assets/rmvpe/rmvpe.pt(RMVPE 音高模型)
用 A 卡 / I 卡的话,再额外准备一份rmvpe.onnx放进项目根目录,走 onnxruntime 的 DirectML 推理。
启动与首次运行
装好依赖、拉好模型后,直接启动推理训练界面:
python infer-web.pyWindows 用户也可以双击 go-web.bat,它等价于带 7897 端口启动。实时变声界面走另一个入口:
python gui_v1.py或双击 go-realtime-gui.bat。实时变声默认端到端约 170ms 延迟,配 ASIO 设备可压到约 90ms,但很吃硬件和驱动。
I 卡 IPEX 用户在 Linux 上需要先进 oneAPI 环境:
source /opt/intel/oneapi/setvars.sh python infer-web.py怎么确认启动成功:控制台不再刷报错、出现 Gradio 服务就绪信息,浏览器会自动打开;没自动打开就手动访问http://localhost:7897。能看到选项卡、点"刷新音色"能列出模型,就说明跑通了。
排错手册
按"现象 → 原因 → 解决"三条看,基本覆盖语音转换时的高频坑。更多细节见 docs/cn/faq.md。
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| ffmpeg error / utf8 error | 路径带空格、括号,或训练集是中文路径 | 把音频移到无特殊符号、非中文的目录再重跑 |
| 一键训练结束没有 added 索引 | 训练集过大,添加索引步骤卡住 | 手动再点一次"训练索引"按钮 |
| Cuda error / out of memory | 显存不足 | 训练时把 batch size 调小(最低 1);推理时改小 configs/config.py 末尾的x_pad、x_query、x_center、x_max。4GB 以下显存基本可放弃 |
llvmlite.dll加载失败 | 缺 VC 运行库 | 安装 Visual C++ Redistributable(x64)后重启 WebUI |
| Connection Error | 控制台黑窗口被关掉了 | 重新打开控制台并启动 |
Expecting value: line 1 column 1 | 客户端或服务端开了代理 | 关闭全局/局域网代理,服务端代理也要 unset |
| 推理后看不到训练集音色 | 音色缓存未刷新,或训练有报错 | 点刷新音色;仍不行就查 logs/实验名 下的日志 |
| 训练中途张量 size 报错 | 存在异常小音频,或中途改了采样率 | 删掉 wavs16k 里明显偏小的音频;改采样率请换实验名重训 |
进阶玩法与拓展
- 分享模型:要分享的是
weights文件夹下约 60MB 以上的 pth,不要发logs下那个几百 MB 的"继续训练用"大文件。推荐把模型 pth 和同名 index 一起打包成 zip 再发出去。 - 继续训练:关闭控制台,双击 go-web.bat 重启,用相同的实验名和网页参数再点训练,会接着上次的 checkpoint 往下跑。
- 中途加数据:新建一个实验名,把上一轮最新的 G/D 文件拷进去,一键训练即可续上进度。
- 调 epoch:底噪大的训练集 20~30 就够;音质高、时长足可拉到 200。
收尾
把依赖装好、模型拉齐、端口打开,RVC 就能在一台普通电脑上跑起语音转换流程。卡住了优先查路径和显存两件事,多数报错都落在这上面。
相关文档:
- 官方说明:README.md
- 中文 FAQ:docs/cn/faq.md
- 中文更新日志:docs/cn/Changelog_CN.md
- 英文训练技巧:docs/en/training_tips_en.md
- 配置入口:configs/config.py
【免费下载链接】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),仅供参考