RVC WebUI完整指南:用10分钟音频克隆声音,完成AI变声训练与使用
【免费下载链接】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
Retrieval-based-Voice-Conversion-WebUI(简称 RVC WebUI)是一款开源的 AI 变声工具:收集 10 分钟左右的目标人声录音,就能训练出一个专属音色模型,再把任意音频或麦克风输入转换成该音色。它提供完整的网页操作界面,支持实时变声、批量文件处理、人声伴奏分离与模型融合,消费级显卡即可运行。本文按"安装—训练—调参"的顺序讲一遍完整流程。
它能做什么:三个贴近实际的使用场景
- 直播或通话实时变声。运行
python realtime_gui.py(Windows 下也可直接双击根目录的go-realtime_gui.bat),在界面里选好输入/输出设备即可说话输出目标音色。README 中说明常规设备端到端延迟约 170ms,使用 ASIO 设备可到 90ms。 - 替换已有音频里的人声。在"伴奏人声分离&去混响&去回声"选项卡中,用内置的 UVR5 模型从歌曲里抽出人声轨道,再到"模型推理"选项卡的"单次推理"里送入人声,输出保留原旋律与语调、换成目标音色的结果。
- 批量处理音频文件。"批量推理"选项卡支持指定整个文件夹或一次上传多个文件,转换结果写入指定输出目录(默认
opt),导出格式可选 wav、flac、mp3、m4a。
另外"ckpt处理"选项卡支持两个模型的音色融合;界面通过 i18n/locale/ 内置了十几种语言包,可按系统自动切换。
跑起来之前:环境要求与安装
环境要求明确:Python 3.12 x64,Ubuntu 24.04 或 Windows 均可。先克隆仓库并创建虚拟环境:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI python -m venv .venv激活虚拟环境后,按硬件安装依赖(注意仓库里依赖文件名是requirments而非requirements,照抄即可):
# CPU / AMD / Intel 显卡(Windows 可用 DirectML) python -m pip install -r requirments_cpu_py312.txt # NVIDIA 50 系以前的卡:先装 CUDA 11.8 版 Torch,再 python -m pip install -r requirments_cu118_py312.txt # NVIDIA RTX 50 系:先装 CUDA 12.8 版 Torch,再 python -m pip install -r requirments_cu128_py312.txt程序会根据显卡自动选择精度:显存低于 4GB 或架构低于 SM 5.3 的卡退回 CPU 与 fp32,较新的卡自动用 fp16。
代码本身不带预训练权重,需借助huggingface_hub按 README 给出的hf download命令,把 HuBERT、RMVPE 与底模文件下载到assets/下对应目录(assets/hubert_base/、assets/pretrained_v2/等路径是固定的,不要改动目录结构)。Windows 下还需 ffmpeg/ffprobe,官方提供两个 exe 放到项目根目录即可。
一切就绪后启动:
python webui.py浏览器会自动打开(默认端口 7865,被占用时代码会自动顺延找可用端口);无桌面环境的服务器可加--noautoopen。
第一次出效果:数据准备、训练与试听验证
训练全流程在"训练"选项卡完成,点"一键训练"会自动依次执行四步:数据切分、F0 与 HuBERT 特征提取、模型训练、索引训练,每一步都有独立的日志和停止按钮。
数据准备。把目标人声集中放到一个文件夹。项目建议录音 10~50 分钟;官方 FAQ 认为音质干净、音色有个人特色的情况下 5~10 分钟也能训出可用模型,低于 1 分钟不建议。录音需为单人、底噪低;过长的音频文件最好先手动切短,否则切分阶段容易因内存不足报错。格式上没有硬性限制,任何可解码的音频文件都能处理。
关键训练选项。填实验名(logs/下会生成同名文件夹),选目标采样率 40k/48k 与版本 v1/v2,"模型是否带音高指导"用于唱歌克隆时务必开启(官方注释:唱歌一定要,语音可以不要)。total_epoch 默认 20,FAQ 的经验是底噪大的数据 20~30 轮足够,音质高、时长多的数据可以往上加。batch_size 有一键训练的自动值,显存吃紧就往下调。
试听验证。训练结束后assets/weights/下会出现约 60MB 的小模型(.pth),并生成配套的 .index 索引。到"模型推理"选项卡点"刷新音色列表",选中模型上传一段测试音频点"转换",即可听到结果。不满意时调整变调、index_rate 再试,或用"ckpt处理"里的模型提取、融合功能处理中间轮次的权重。
参数怎么设:按实时、离线、批量三种诉求
推理的核心参数有:变调(半音数,0 不变,+12 升八度)、音高提取算法(pm/rmvpe/fcpe)、检索特征占比 index_rate(0~1)、清辅音与呼吸声保护 protect(0~0.5)、音量包络融合比例 rms_mix_rate(0~1)。
| 诉求 | 建议 |
|---|---|
| 实时低延迟 | 音高提取选 rmvpe(默认,速度快);使用 ASIO 输入输出设备;实时界面的 block_time、crossfade_length、静音阈值 threhold(默认 -60dB)可按听感微调 |
| 离线高质量 | 训练集音质高时把 index_rate 调高(接近 1)锁定音色;训练集音质低于输入源时调到 0.5 左右,让输入音质带高结果;protect 保持 0.33,出现电音撕裂时调低加强保护;用 48k 采样率训练、后处理重采样设为 0 |
| 批量处理 | 用"批量推理",默认 index_rate 为 1,按需选导出格式(mp3 可显著减小文件体积);音高算法与单次推理一致 |
index_rate 的作用官方 FAQ 有专门科普:调高后输出更贴近训练集音色,能抑制输入源和底模的"音色泄露";但如果训练集本身音质偏低,一味调高反而会拉低输出音质,需要权衡。
新手常见的几个卡点
报 ffmpeg error / utf8 error。大概率不是 ffmpeg 本身的问题,而是路径问题:路径里带空格、括号,或训练集用了中文路径。把目录改成简短的纯英文路径再跑即可。
CUDA out of memory。即显存不足。训练时调低 batch_size,降到 1 还爆显存只能换卡;推理时可调小configs/config.py末尾的 x_pad、x_query、x_center、x_max。4GB 以下显存的卡不建议尝试训练。
训练完找不到音色,或一键训练结束没有索引。先到"模型推理"点"刷新音色列表";仍没有就检查assets/weights/是否生成了 .pth。一键训练提示完成但缺少 added 开头的索引文件,多是训练集太大卡住了索引步骤,重新点一次"训练特征索引"即可。
WebUI 显示 Connection Error 或 Expecting value。前者通常是把黑色控制台窗口关了;后者是系统局域网/全局代理(包括服务器端 http_proxy)拦截了本地请求,关掉代理重启程序。
更多问题可查项目内的 常见问题解答,WebUI 里也内置了同名选项卡。
下一步
跑通第一个模型后,可以继续补充不同情绪和语调的录音开新实验继续训练,或用模型融合把两个音色合成新音色,这两个方法 FAQ 里都有对应条目。各版本的具体改动可跟踪更新日志。
【免费下载链接】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),仅供参考