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)是一个基于VITS的开源语音转换项目:你提供十几分钟的人声录音,它训练出一个能模仿该音色的模型,再把任意音频转换过去。新手按其Web界面操作,约10分钟数据即可得到可试听的结果。
RVC能帮你做什么
三个最常见的用法。
给短视频换音色:把旁白或歌曲人声换成某个训练好的声音,常用于二创内容。
直播实时变声:RVC内置实时推理链路,README给出的端到端延迟约170ms,配合ASIO设备可压到90ms,基本不拖后腿。
分离人声做伴奏:它集成了UVR5,在Web界面里可直接把人声和伴奏拆开,拿到干净的人声素材还能反过来当作训练数据。
上手前一次备齐
先确认三件事:Python大于3.8、Git已安装、磁盘留足约10GB(预训练模型加训练产物会占空间)。
依赖安装按显卡区分,装错文件是最常见的环境问题,对照下表选一份:
| 硬件环境 | 依赖文件 |
|---|---|
| NVIDIA显卡(主流方案) | requirements.txt |
| AMD/Intel显卡(DirectML) | requirements-dml.txt |
| AMD显卡(ROCm,仅Linux) | requirements-amd.txt |
| Intel显卡(IPEX,仅Linux) | requirements-ipex.txt |
另外需要系统装好ffmpeg,Linux可用apt安装,macOS用brew。
从克隆到出声:完整走一遍
流程是:拉代码、装依赖、下预训练模型、训练、试听。
先获取代码:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI进入目录后,按你选的显卡装依赖,以NVIDIA卡为例:
pip install -r requirements.txt然后下载推理和训练所需的预训练文件(hubert、rmvpe、pretrained等,脚本会自动放入assets/对应子目录):
python tools/download_models.py接下来启动训练与推理界面:
python infer-web.pyWindows用户也可以直接双击go-web.bat,macOS和Linux可以用run.sh(它会自动建虚拟环境并下载模型)。
浏览器打开后按界面提示操作:指定一个装有训练音频的目录,设置实验名,跑切片、特征提取,选RMVPE做音高提取,然后训练并训练索引。训练用的就是界面里的模型选项卡,产物是weights/目录下的pth文件和logs/目录下的index文件。最后切到推理选项卡,上传一段音频,选刚训好的模型点转换,就能听到结果。
效果调优:三个参数最关键
出现什么现象就调什么,按这个思路排查。
音色不像或漏了原声:调索引率(index_rate),它控制检索特征的替换比例,默认0.0,调到0.3到0.7之间。
音色不稳、有哑音或音高跑偏:换音高提取算法,首选RMVPE(基于InterSpeech 2023的算法,精度高且占用小),其次才是crepe、harvest这类。
变声后调性不对:调pitch偏移,男转女一般加12左右,微调范围在-12到15之间,正值为升调。
| 参数 | 默认值 | 建议调整 |
|---|---|---|
| index_rate(索引率) | 0.0 | 0.3-0.7 |
| f0method(音高提取算法) | fcpe | rmvpe |
| pitch(音高偏移) | 12 | -12到15 |
这些参数在configs/config.json里也有记录,Web界面里改的是同一份配置。
进阶玩法:实时变声与模型融合
实时变声:独立脚本python tools/rvc_for_realtime.py可以脱离Web界面跑,适合接语音聊天和直播,配合ASIO输入输出延迟更低。
模型融合:把两个训好的模型按权重混成一个新音色,命令是python tools/trans_weights.py,适合你想在两个音色之间找个中间态的时候。
原理速览
一行流程:原始语音 → 特征提取 → 检索匹配 → 特征替换 → 语音合成。
第一,RVC底模是VITS(一种端到端语音合成模型),用约50小时的开源语音数据预训练,你只需在自己的数据上微调。第二,它的特色是top1检索:从训练集里找出与输入最接近的特征去替换,以此杜绝原声音色泄漏。第三,音高由独立的提取算法(如RMVPE)单独算出再喂给模型,所以换声后音高曲线依然稳定。
避坑指南
训练完没有索引文件?索引和模型是分开生成的,回训练选项卡手动点一次训练索引即可。
分享模型时该发什么?发weights/目录下几十MB的pth文件加对应的index文件,不要发logs/下几百MB的检查点。
训练数据要多少?官方建议至少10分钟低底噪语音,干净的话5到10分钟也能出可用效果,关键是环境安静、内容多样。
实时变声延迟高?换ASIO设备,调小缓冲区,关掉占用声卡的后台程序。
显存不够?批量大小调到1,推理可切CPU模式;4GB以下显存训练会比较吃力。
资源指引
想深入代码,语音转换核心在infer/modules/vc/,训练逻辑在infer/modules/train/,音频处理在infer/lib/audio.py。界面语言文件都在i18n/locale/,含简中、英文、日文、韩文等十余种。文档入口在docs/目录,各语言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),仅供参考