RVC 快速上手完整指南:10 分钟语音训练出可用的语音转换模型
【免费下载链接】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,基于检索的语音转换)是一个面向普通用户开源的语音转换项目:你给它 10 分钟以内的干净人声,它就能训出一个可用的音色转换模型,再用这个模型把你的声音"换"成目标音色。本文带你从零装环境、到批量换音色、再到训练自己的模型,全程按"做完一步再走下一步"的节奏推进,新手照抄命令即可,进阶参数也备好了位置。
三步跑通快速体验
最短路径:克隆仓库 → 装依赖 → 下载预训练模型 → 启动 WebUI。
# 1. 克隆项目(只需这一条命令涉及外部地址) git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI # 2. 安装依赖(Nvidia 卡 / CPU / DirectML 用户装这份) pip install -r requirements.txt # 3. 下载全部预训练模型(hubert、rmvpe、v1/v2 预训练、uvr5 人声分离权重) python tools/download_models.py# 4. 启动 WebUI,浏览器默认打开 http://127.0.0.1:7865 python infer-web.py打开页面后你会看到四个功能区:人声与伴奏分离、变声模型训练、推理(批量转换)、模型文件管理。此时项目已可完成全部核心操作。
[!TIP] Windows 用户如果不想折腾命令行,仓库根目录的
go-web.bat(Nvidia/CPU)和go-web-dml.bat(DirectML)可以双击直接拉起环境;实时变声对应go-realtime-gui.bat/go-realtime-gui-dml.bat。
按硬件选安装路线:一张表对号入座
先判断你手里是什么硬件,再决定装哪份依赖文件,装错路线是最常见的启动失败原因。
| 你的硬件 | 安装方式 | 说明 |
|---|---|---|
| Nvidia 独立显卡 | pip install -r requirements.txt | 默认路线,CUDA 加速,训练和推理最快 |
| AMD 显卡 | pip install -r requirements-amd.txt | 依赖 ROCm 版 PyTorch,需先装好 ROCm 环境的 torch |
| Intel 核显 / CPU(IPEX) | pip install -r requirements-ipex.txt | 基于 Intel Extension for PyTorch,适合无 N 卡机器 |
| Windows 无 N 卡(DirectML) | pip install -r requirements-dml.txt | 启动时记得加--dml参数走 torch_directml |
| macOS | pip install -r requirements.txt | 有 MPS 加速会自动走 mps,否则回退 CPU,自动降为 fp32 |
Python 版本要求 3.8 及以上(项目锁定了 torch 2.0 系列,见 pyproject.toml),推荐 3.9。另外系统必须装有 ffmpeg(音频切割靠它):
# Ubuntu / Debian sudo apt install ffmpeg # macOS brew install ffmpeg # Windows:把 ffmpeg.exe 和 ffprobe.exe 放到项目根目录即可程序启动时会自动探测设备:检测到显存 ≤4GB 会把预处理步长从 3.7 降到 3.0,检测到 mps/cpu 会自动切换 fp32 配置(逻辑见 configs/config.py),这些你不需要手动干预。
功能实操:三个场景各给最小参数集
场景一:批量转换音频(推理)
在"推理"页签完成,最小参数集四个:
| 参数 | 建议值 | 作用 |
|---|---|---|
| 索引率 index_rate | 0.0 ~ 0.5 | 检索相似度权重,越高越贴近原音色,过高会出现电流杂音 |
| 音调 shift | -12 ~ +12(半音) | 整体升降调,女转男通常 -2 左右,男转女 +4 ~ +12 |
| 音高提取方法 F0 方法 | rmvpe | 基频(F0)提取器,实时场景常用 fcpe/pm,精度与速度各有取舍 |
| 采样率 | 48k | 32k/40k/48k 三档,越高音质越好、速度越慢 |
流程:选择.pth模型 → 选择.index索引 → 上传音频 → 点"转换",结果在opt/目录。
场景二:实时变声(低延迟)
启动独立 GUI:
# 实时变声界面(PySimpleGUI),默认块处理时间 0.25s python gui_v1.py最小配置四步:① 选输入/输出音频设备;② 加载.pth模型和.index索引;③ F0 方法选rmvpe或fcpe(界面默认 fcpe);④ 点 Start。关键旋钮只有两个:
| 参数 | 默认 | 调节方向 |
|---|---|---|
| 阈值 threshold | -60 dB | 环境吵就调高(如 -50),避免噪音触发变声 |
| 相似度 index_rate | 0.0 | 实时场景建议 ≤0.3,保延迟 |
代码默认block_time=0.25s分块处理(见 gui_v1.py),配合 WASAPI 独占/ASIO 类设备可把端到端延迟压到百毫秒内,适合连麦和游戏语音。
场景三:训练自己的模型
数据要求很苛刻但量很少:10 分钟以内、低底噪的干净人声(WAV),底噪大比数据少更伤模型。
- 在"训练"页签输入模型名(如
my_voice)和采样率(32k/40k/48k); - 点"一键处理":自动完成人声分离(uvr5)→ 切分 3.7s 小段 → 提取 F0 与 Hubert 特征;
- 选训练设备,直接点开始训练。
训练产物是logs/train/48k/my_voice_e{s}_s{步}.pth(按轮次/步数滚动保存),配套的.index索引在同一目录。v1 配置默认batch_size=4、learning_rate=1e-4(见 configs/v1/48k.json),显存不够时按显存GB÷2粗估 batch_size 下调。
[!WARNING] 切分出来的小段里若有背景音乐、混响重、响度不一致的片段,模型会学进这些缺陷。预处理后先抽查
logs下的小段音频,比调任何训练参数都管用。
进阶调优:值得动的参数只有这几个
改之前记住原则:一个参数一次只动一个,听完再动下一个。
| 参数 | 位置 | 默认 | 作用与副作用 |
|---|---|---|---|
| index_rate | 推理界面 | 0.0 | 检索增强权重。调高音色更像但易出"电流声",0.5 是常见上限 |
| batch_size | 训练配置(如 configs/v2/48k.json) | 4 | 越大显存越吃紧;OOM 时先砍它,其次再降采样率 |
| x_pad / x_query / x_center / x_max | configs/config.py 的device_config() | 按显存自动 | 推理分块长度。手动调小省显存,但太小会造成衔接断裂 |
| f0method | 推理/实时界面 | rmvpe | 五种可选:rmvpe、fcpe、pm、harvest、crepe。harvest/crepe 慢,pm/fcpe 快,实时优先 pm/fcpe,离线追求精度用 rmvpe |
| 采样率 | 训练时选 | 48k | 48k 音质最好;显存或速度吃紧时降到 32k |
配置文件分 v1/v2 两代、按 32k/40k/48k 分档,首次启动会从 configs/ 拷贝到configs/inuse/,之后你改inuse/下的文件即生效。
避坑手册:症状 → 原因 → 解决
| 症状 | 常见原因 | 解决办法 |
|---|---|---|
启动报FileNotFoundError: *.pt | 预训练模型没下全 | 重跑python tools/download_models.py,确认assets/hubert/hubert_base.pt、assets/rmvpe/rmvpe.pt存在 |
pip install中途报编译错误 | Python 版本不在 3.8+,或平台架构与依赖 wheel 不匹配 | 确认python --version≥3.8;AMD 换requirements-amd.txt,IPEX 换requirements-ipex.txt |
| CUDA out of memory(训练) | batch_size 超过显存承受 | 调小 batch_size;显存 ≤4GB 时程序已自动放宽预处理步长,仍不够就换 32k 配置 |
| CUDA out of memory(推理) | 分块参数过大 | 调小 configs/config.py 中的 x_pad/x_query 等分块长度,关其他占卡程序 |
| 音频有杂音/失真 | 源音频底噪大;index_rate 过高 | 先用 uvr5 人声分离再转;index_rate 压到 0.5 以下 |
| 音调忽高忽低、跑调 | F0 提取方法不匹配人声类型 | 换 F0 方法试(女声试 rmvpe,实时试 pm/fcpe);音调偏移别超过 ±12 半音 |
| 实时变声有爆音 | 系统音频设备缓冲不足 | 换 WASAPI 独占或低延迟驱动设备;输出加淡入淡出(crossfade 默认 0.05s) |
| 中文界面乱码/翻译缺失 | i18n 语言包未生效 | 语言包在 i18n/locale/,界面顶部可切换,改动后重启 |
更多细节可查 docs/cn/faq.md 和 docs/en/faq_en.md,多语言文档齐备。
最后说清能力边界
RVC 的边界很清楚:10 分钟数据出可用模型、N 卡上接近实时的批量转换、百毫秒级实时变声、支持 v1/v2 两代模型与 ONNX 导出(tools/export_onnx.py)。但它不解决源音频质量——底噪重的录音训出来也是底噪重的模型。遇到本文没覆盖的问题,直接翻 docs/ 目录下的 FAQ 和各语言文档,或在项目社区提 issue,都写得比你想象得详细。
【免费下载链接】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),仅供参考