RVC AI语音克隆与变声器: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(检索式语音转换 WebUI)是基于 VITS 的 AI 语音克隆与变声器,十几分钟干净人声即可快速训练语音模型,支持网页端单次、批量推理和实时变声,适合做声音创作、直播变声、AI 歌手的用户。
这个工具适合做什么
RVC 把"检索特征替换 + VITS 声码器"这套流程装进了一个网页界面:训练、推理、UVR5 人声分离、ckpt 处理都在同一页面完成,不用自己拼命令行。底模由约 50 小时的开源 VCTK 语料训练而来,版权上没有顾虑,可以放心使用。常见的用途有四类:
- 克隆特定人声做配音或翻唱,10 分钟语音克隆级别的数据量就能出可用音色
- 直播、连麦、游戏开黑场景的实时变声,README 标注普通设备端到端延迟约 170ms,ASIO 设备可压到约 90ms
- 给歌曲做音色替换:清唱、带伴奏的人声都能处理,UVR5 选项卡可以先把人声和伴奏拆开
- 批量处理已有录音,选一个文件夹,批量推理一次跑完
从 0 到听到第一句变声
把代码拉到本地,N 卡装requirements.txt即可,A 卡和 Intel 平台分别对应requirements-dml.txt与requirements-ipex.txt:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI pip install -r requirements.txtRVC 还需要一批预训练模型(HuBERT 特征提取器、预训练 G/D 权重等),tools/ 目录里的dlmodels.sh和download_models.py可以帮你把它们下全。启动 WebUI:
python infer-web.py --port 7865浏览器打开后能看到模型推理、训练、ckpt 处理几个分区。把目标人声素材放进一个文件夹,推荐 10 到 50 分钟、底噪低的录音,路径尽量避开中文和括号。训练页填好实验名、采样率和音高提取算法,点一键训练,它会依次完成切片重采样、音高提取、特征提取、模型训练和索引训练,中间产物落在logs/实验名下。训练完回到推理页点"刷新音色列表和索引路径",选中音色和对应的 index 文件,填入待转换音频的路径点转换,输出直接在页面里试听。想实时变声是另一条入口:
python gui_v1.py它背后是 tools/rvc_for_realtime.py 实现的低延迟链路,麦克风输入直接出转换后的声音。
按素材选参数
推理页真正影响听感的参数不多,核心是 F0 提取算法、index rate(检索特征占比)和 protect 三个,怎么选取决于输入素材长什么样:
- 清唱人声:音高曲线干净,F0 用默认的 rmvpe 就够;index rate 可以往 1 靠,让输出更贴近训练集音色,压制推理源的"音色泄漏"
- 带背景音的音频:先用 UVR5 分出人声再推理;如果伴奏残留或底噪明显,把 index rate 压回 0.5~0.7,同时适当调高 protect,保住清辅音和呼吸声不被"电音化"
- 说话声:rmvpe 效果最稳;追求速度可以换 pm;低音区多的素材 harvest 识别更准,但明显更慢
采样率决定模型大小和音质上限:32k 模型最小、实时变声首选,但只有 v2 底模支持这一档;40k 是 v1 的默认档位,速度和质量均衡;48k 音质上限最高,模型和训练耗时都更大。注意换采样率不能接着旧实验练,要新建实验名从头训;把上一轮logs里的 0/1/2/2b 特征文件夹拷过去,可以省掉重新提取的时间。
常见坑自查清单
这几条都是 中文 FAQ 里的高频问题,按报错倒推原因:
音频读不进来,报 ffmpeg error 或 utf8 error大概率不是 ffmpeg 坏了,是路径里带了空格、括号或中文。把素材挪到纯英文短路径下重试。
启动时 llvmlite.dll 加载失败Windows 缺 VC++ 运行库导致,装好微软官方的运行库后重启 WebUI。
页面弹 Expecting value: line 1 column 1系统开着局域网或全局代理(服务端配的 http_proxy 也算),关掉代理再刷新。
浏览器一直 Connection Error控制台黑窗口被关掉了,服务随窗口一起退出,重新启动入口脚本即可。
训练报 CUDA out of memory显存不够:训练就降 batch size,4G 以下显存基本无解,4G 还有救;推理阶段则调小 configs/config.py 末尾的 x_pad、x_query、x_center、x_max 四个参数。
训练报 tensor size 不匹配wavs16k里混进了异常短的音频,找出明显偏小的文件删掉重训;也可能是中途换了采样率,这种只能换实验名重新训。
从能用到好用
- 数据质量优先于数量:底噪大的素材把 total_epoch 压到 20~30 就够,硬堆轮次只会放大噪声;只有干净素材才配把 epoch 拉高去换细节
- 显存决定 batch size:WebUI 会按显存自动给默认值(约显存容量的一半),低显存卡手动降 batch 比调任何超参都直接
- 混合精度在 N 卡上默认开启,老架构显卡代码会自动降级到 fp32 并缩小特征缓存参数,基本不用手动干预
把模型交给别人直接用
logs/实验名里那几百 MB 的G_xxx.pth不是用来分享的,它保存的是训练状态,给别人直接推理会因缺 key 报错。真正的分享产物是 weights 目录下 60MB 左右的精简 pth——ckpt 处理页的"小模型提取"功能可以从 G 文件生成它——再加上对应的added_IVF*.index检索库,两个文件一起打包成 zip 发出去最稳妥。对方解压到 weights 和 assets/indices 下就能直接推理,无需重训。
去哪里继续深入
- 中文 FAQ:上面那些坑的原始出处,索引调参、中断续训、中途加数据都在里面
- 英文文档:包含 faiss 索引技巧和训练建议
- 推理与训练源码:预处理、F0 提取、训练主循环集中在 infer/modules/train/
- 采样率配置:v1/v2 各档 json 是底模超参所在
- 更新日志:版本行为变化看这里
RVC 的门槛不在模型本身,而在数据。先把一段干净的人声喂进去、听到第一句变声,再回头去抠 index rate 和保护系数,效果差距会比你想象的大。
【免费下载链接】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),仅供参考