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
想让 AI 用你的音色翻唱一首歌?RVC(Retrieval-based-Voice-Conversion-WebUI)是个把 VITS 做成网页界面的开源声音转换框架:准备 10 分钟左右的清晰人声,训出的模型能把任意一段音频"唱"成接近你的声音。
🚀 从 clone 代码到打开 Web 界面
先拿到代码,clone 之后进入项目目录。
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI环境要求 Python 3.8 以上,先装 PyTorch 核心三件套,再按显卡装依赖,N 卡用户直接装 requirements.txt 即可。
pip install torch torchvision torchaudio pip install -r requirements.txt| 显卡环境 | 对应依赖文件 |
|---|---|
| NVIDIA(CUDA) | requirements.txt |
| AMD / Intel(DirectML,Windows) | requirements-dml.txt |
| AMD ROCm(Linux) | requirements-amd.txt |
| Intel IPEX(Linux) | requirements-ipex.txt |
依赖之后还差一批预训练权重:Hubert 特征模型、f0 底模、v1/v2 基模都要放在assets/下,仓库自带下载脚本,跑一次全部拉齐。
python tools/download_models.py脚本会把 v1 和 v2 两套底模都拉下来,体积不小,耐心等它跑完。系统没装 ffmpeg 的话补一下,Linux 用sudo apt install ffmpeg,macOS 用brew install ffmpeg,它负责音频切片和转码。都齐了之后启动 Web 界面只需一行,浏览器会自动跳到 7865 端口。训练、推理、UVR5 分轨全在同一个页面里。
python infer-web.py界面跑起来之后,重点就剩两件事:数据备得干不干净,参数调得对不对。
训练数据怎么备、参数怎么调
数据是效果的大头。总量 10 到 50 分钟,底噪越低越好,安静房间人声直录即可;内容上覆盖正常说话和带情绪的表达,比纯念稿的效果更自然。格式以 wav 为主,采样率 32k 或 48k 两档都有对应底模,同一批数据别混用多个采样率。
在训练页签里指向数据目录、给实验起个名字,点开始之后它会自动切片、提取特征和 F0,然后进入训练。过程产物落在logs/,最终可以分享的模型文件(60MB 上下)会写到weights/。
| 参数 | 推荐值 | 一句话作用 |
|---|---|---|
| 训练轮数 epochs | 20–30 | 越多越贴近原音色,再往上收益很小 |
| 音高提取算法 | RMVPE | 精度最高,哑音和金属感最少 |
| 学习率 learning_rate | 默认 1e-4 | 调大容易发散,保持默认最稳 |
| batch size | 按显存,默认 4 | 显存紧张就降到 1 |
| 索引率 index_rate | 0.3–0.7 | 控制检索结果对音色的修正强度 |
| 音高偏移 pitch | 0,换性别 ±12 | 0 保原调,±12 约跨一个八度 |
轮数别盲目拉满,20 到 30 轮之间挑一段试听最顺的 checkpoint 就行。推理阶段把 index_rate 从 0 往上加,输出会越来越靠近训练集音色,听感"更像目标人"。
进阶玩法:实时变声、模型融合、人声伴奏分离
实时变声
一条命令拉起实时链路,官方做到端到端 170ms 延迟,换 ASIO 输入设备能压到 90ms,直播和语音聊天直接可用。
python tools/rvc_for_realtime.py输入输出设备的采样率要和模型匹配,卡顿多半出在缓冲参数上,先调这个。
模型融合
两个已训好的模型做权重混合,能调出一个谁都不完全像、又像两者的新音色,适合做差异化声音。
python tools/trans_weights.py两个源模型要同采样率同版本,跨 32k 和 48k 底模混合容易出杂音。
人声伴奏分离
UVR5 分轨直接内嵌在 WebUI 里,一首歌可以拆出干净人声,切片之后直接当训练数据,流程闭环。模型文件在assets/uvr5_weights/,勾选降噪模型后再分离,人声会更干净。
跑出来的干声如果还带混响,优先怀疑源音质量,而不是分离参数。
踩坑速查
- 训练报 CUDA out of memory。显存不够,把 batch size 降到 1 或改用 32k 配置,仍不行就先 CPU 跑通再换卡。
- 训练完找不到 index 文件。索引是独立一步,回索引页签重新生成一次即可。
- 实时变声延迟高、偶发断音。缓冲块太大或后台程序抢 CPU,调小 block 参数,关掉占声卡的软件。
- 转换结果带金属音或哑音。多半是 F0 提取失败或底噪太大,换 RMVPE 重抽音高,数据重新降噪切片。
- 输出音色泄漏了输入说话人。index_rate 太低,推理时调到 0.3 以上再对比听感。
- 启动报 onnxruntime 相关错误。A 卡/I 卡环境装错了依赖,按显卡重装对应的 requirements 文件。
想要"装得上、跑得通、效果够用"的个人级声音克隆,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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考