10分钟语音数据训练你的AI音色:RVC WebUI完整上手指南
【免费下载链接】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
录10分钟一段歌手的人声,在自己电脑上训练一个音色模型,之后上传任意音频,都会用这个音色重新演唱——整个过程一个晚上就能跑通。Retrieval-based-Voice-Conversion-WebUI(下文简称 RVC WebUI)就是一个基于 VITS 的开源 AI 声音转换网页工具:小数据训练音色模型,做音频到音频的变声。
🎯 项目速览:RVC WebUI 做什么、不做什么
先建立正确预期,再动手:
- 基于 VITS 的变声框架,利用检索式特征替换技术,10分钟语音数据就能训练出可用模型
- 提供 Gradio 网页界面,覆盖"数据集处理 → 训练 → 推理"完整流程
- 由 RVC-Project 开源社区维护,有中文、英文、日文、韩文等多语言社区,问题排查有参照
- MIT 许可证,免费商用
它不做什么:
- 只做"音频 → 音频"的声音转换,不做文字转语音(TTS),你得有一段现成的人声音频作为输入
- 不会自动清理脏录音:背景乐、杂音需要你先分离,界面内置的 UVR5 选项卡可以做人声分离
🖥️ 环境与硬件检查单:按系统和显卡装依赖
这一节只回答两个问题:装哪些依赖、用什么命令启动。
前提条件(三件):
- Python 版本大于 3.8
- 系统安装 ffmpeg
- 预训练模型文件就位(仓库自带下载脚本 tools/dlmodels.sh,首次运行整合包时会自动拉取)
先克隆仓库:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI各平台依赖安装与启动方式:
| 系统 + 显卡 | 依赖安装命令 | 启动方式 |
|---|---|---|
| Windows + N卡 | pip install -r requirements.txt | 双击go-web.bat |
| Windows + A卡/I卡(DML加速) | pip install -r requirements-dml.txt | 双击go-web.bat |
| Linux/Mac + N卡 | pip install -r requirements.txt | bash run.sh或python infer-web.py |
| Linux + A卡(ROCm) | pip install -r requirements-amd.txt | python infer-web.py |
| Linux + I卡(IPEX) | pip install -r requirements-ipex.txt | 先执行source /opt/intel/oneapi/setvars.sh再启动 |
如果还没有 PyTorch,先执行:
pip install torch torchvision torchaudio pip install -r requirements.txtffmpeg 安装(Ubuntu/Debian):
sudo apt install ffmpeg硬件门槛:4GB 显存即可开始训练,6GB 以上更从容。
🚀 第一次跑通:准备10分钟语音数据并完成首次训练
这是全文核心,按"准备素材 → 关键配置 → 执行 → 验证"四段走,每段都有明确产出物。
准备语音素材
录音要求很短:
- 目标音色的干净人声,至少10分钟(30~60分钟效果更好)
- 无背景音乐、无底噪、单人声,避免破音失真
- WAV、MP3、FLAC 均可,推荐 44100Hz 采样率
- 带 BGM 的音频,先切到 UVR5 选项卡做人声分离,只留人声
- 全部放进同一个文件夹,例如
assets/abs/
产出物:一个只含干净人声 wav 文件的文件夹。
关键配置
启动后(Windows 双击go-web.bat,命令行python infer-web.py,浏览器打开http://127.0.0.1:7897),进入"0-前置数据集处理"选项卡,按下表配置:
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| 音高提取方法 | RMVPE | 效果最好、资源占用比 harvest 小 |
| 采样率 | 40k | 质量与速度平衡,显存紧张选 32k |
| 批大小(batch size) | 1~8 按显存 | 显存充足调大加速,OOM 就降到 1 |
| 训练轮数(epochs) | 100 | 新手够用,追求质量再上 300 |
执行训练
在"0-前置"选项卡选中你的音频文件夹,点击一键切片→训练→推理。界面会自动完成三件事:切片提取特征与 F0、训练模型、生成索引。
参考耗时:10分钟数据在 RTX 3060 上约 1~2 小时。
验证结果
看到以下产出即算跑通:
- 终端出现 "Training is done" 提示
logs/目录下出现该实验的训练日志和各轮 checkpointassets/weights/目录下出现最终.pth模型文件(如my_model_e100_s100.pth,几十 MB)- 切到"2-推理"选项卡,选中该音色转换一段音频,能听到目标音色即为成功
🎧 两条使用路线:离线音频转换与实时变声
离线转换(2-推理选项卡)
操作路径:选中音色模型 → 上传音频 → 设参数 → 点转换。关键参数:
| 参数 | 推荐值 | 作用 |
|---|---|---|
| F0 音高(f0up_key) | 0 | 原调;+12 升八度,-12 降八度 |
| F0 提取方法 | RMVPE | 比 harvest 更准更快 |
| 索引比率(index_rate) | 0.3~0.5 | 越大越贴近原音色,过大易发毛 |
| 保护清辅音与气息音(protect) | 0.33 | 防止高音处音调异常 |
| 重采样输出 | 0(同输入) | 想提升音质可设为 44100 |
想用命令行处理,调用 tools/infer_cli.py:
python tools/infer_cli.py --input_path in.wav --model_name my_model --f0method rmvpe批量处理则用tools/infer_batch_rvc.py。
实时变声
- Windows 双击
go-realtime-gui.bat,选择麦克风和输出设备即可边说边变 - 端到端延迟约170ms;使用 ASIO 输入输出设备可压到90ms,依赖声卡驱动支持
- 要点:缓冲区选小一点、关无关后台程序;延迟偏高优先换 ASIO 驱动
🎚️ 效果调优三档路线:能跑、更好、最佳
一次只动一个变量,听完效果再进下一档。
第一档:能跑
- 10分钟数据 + 100 轮训练,参数全部保持默认
- 产出:音色基本像,细节略有毛边,可接受
第二档:更好
- 数据加到 30~60 分钟,训练轮数提到 300+
- 索引比率调到 0.5,protect 保持 0.33
- 产出:咬字更干净,长句稳定性明显提升
第三档:最佳
- 数据堆到 100 分钟以上的高质量录音
- 在"ckpt处理"选项卡用 ckpt-merge 做模型融合,混合两个音色的优缺点
- 产出:接近原音色的翻唱级效果
🎬 四个真实落地场景
AI 翻唱:UVR5 分离歌曲的人声和伴奏 → 训练目标歌手模型 → 把人声部分转换音色 → 与伴奏重新合成。
视频解说:训练一个固定解说音色,整期系列视频统一用这一个声音配音,一致性远好于每期换人录。
直播实时变声:go-realtime-gui.bat+ ASIO 声卡,说话即变声,延迟约 90ms。
角色配音:同一句台词用 F0 音高 +12 / -12 生成高低两个版本,快速产出不同角色的对白。
🛠️ 排查速查表:训练与推理的高频问题
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 训练中途崩溃、显存不足 | 批大小过大 | 批大小降到 1,采样率降到 32k |
| 推理输出无声 | F0 提取失败或输入含 BGM | 换 RMVPE 提取,确认输入是干净人声 |
| 声音毛糙、机械感重 | 数据量或轮数不足 | 数据加到 30分钟+,轮数加到 300+ |
| 音调过高、鼻音重 | F0 音高调得过高 | f0up_key 降回 0 或 -12 |
| 实时变声延迟高 | 驱动缓冲区太大 | 换 ASIO 设备,调小缓冲区 |
| 报错但日志无明确信息 | 路径含中文或特殊字符 | 把项目移到纯英文、无空格的目录 |
更多问题查 中文FAQ,英文对照见 English FAQ。
🔌 进阶入口:API 与可修改的关键文件
api_240604.py:最新版对外 API,api_231006.py为兼容旧版;用法以文件内示例为准configs/config.py:全局配置,改批大小、保存策略等infer/modules/train/train.py:训练主逻辑infer/lib/infer_pack/models.py:模型结构定义
✅ 收尾行动清单
- 按系统表格装好依赖,双击
go-web.bat(或python infer-web.py)打开界面 - 准备 10 分钟干净人声放进
assets/abs/,在"0-前置"选项卡一键切片→训练→推理 - 确认
assets/weights/里出现.pth模型文件 - 到"2-推理"转换一段音频,索引比率 0.5,听效果
- 有余力再跑
go-realtime-gui.bat体验实时变声
从 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考