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
你有没有想过,把自己的声音"复制"一份——翻唱某位歌手的歌、给自己的播客换个声线、或者做直播实时变声。RVC(Retrieval-based Voice Conversion WebUI)是一个开源的声音转换(音色转换)框架:喂给它10分钟左右的目标人声数据,它就能在网页界面里训练出一个专属音色转换模型,之后你录的任何干声,它都能用那个音色重新"说"出来。不用会深度学习,只需要会用终端敲命令。
为什么固定音效的变声器不好使
传统变声软件的原理是往声音上叠固定的音效滤镜,出来的是明显的电子味,换个词就露馅。RVC走的另一条路:先用约50小时的高质量开源语料训好一个底模,再用你自己的10分钟录音做微调,让模型"学会"这个音色的细节。出来的效果接近真人发声,而不是套一层壳。
这个项目的底模来自无版权顾虑的开源VCTK训练集,训练、商用都不必担心授权问题。
四步部署RVC变声环境
第一步,拿到源码。
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI第二步,装依赖。需要 Python 3.8 以上。先装 PyTorch(深度学习框架),再按显卡装对应依赖:
pip install torch torchvision torchaudio pip install -r requirements.txtN卡(NVIDIA显卡)用requirements.txt;A卡或核显用requirements-dml.txt。Mac 上可以直接跑仓库自带的 run.sh,它会自动建虚拟环境、装依赖并下载模型。
第三步,装 FFmpeg 并下载预训练模型。FFmpeg 是多媒体处理工具,RVC 用它切割和转换音频。
sudo apt install ffmpeg(macOS 用brew install ffmpeg)。之后运行tools/dlmodels.sh把底模等预训练文件下到assets/目录——没有这些文件,训练和推理都跑不起来。
第四步,启动。
python infer-web.py浏览器会自动打开网页界面,看到一排选项卡(UVR5模型推理、一键训练、模型推理、ckpt处理),说明环境已经通了。
一键训练出你的音色模型
网页里最常用的是"一键训练"选项卡:填一个实验名,把目标音色的录音文件夹指过去,点一键训练。这个流程会自动切分音频、提取音高、提取音色特征、训练并建立索引,全程不用管。
训练集有两个建议:时长10到50分钟为宜,音质干净、底噪小,音色风格统一。数据准备得越好,模型效果越稳。
训练完成后,去"模型推理"选项卡,选你刚训好的模型,上传一段你自己录的干声,点推理,就能听到用目标音色输出的新音频。f0up_key这个参数控制整体升降调,整数,比如-2低两个半音、12高一个八度。
批量处理整张文件夹
一首歌一首歌地点推理太慢,仓库自带批量脚本 tools/infer_batch_rvc.py,一次处理整个文件夹。核心参数:
python tools/infer_batch_rvc.py \ --input_path ./songs/ \ --index_path logs/exp1/added_IVF4096_Flat_nprobe_4.index \ --model_name exp1.pth \ --opt_path ./out--input_path放待转换的音频目录,--opt_path放输出目录,--model_name是 weights 目录下的模型名,索引文件用训练时生成、added_开头的那个。
另外,如果目标人声和伴奏混在一起,可以先用界面里的 UVR5(人声分离工具)把干声和伴奏拆成两条,再把干声送进去转换,最后自己用 FFmpeg 混回伴奏即可。
这几个报错先别慌
新手跑 RVC 最常撞上三个错,排查思路如下:
- ffmpeg error / utf8 error。大概率不是 FFmpeg 的问题,而是路径问题:音频路径里带空格、括号,或者训练集路径含中文。把素材挪到一个干净的短路径下重试。
- CUDA out of memory。显存不够。训练时把 batch size 调小;推理时缩小 configs/config.py 末尾的
x_pad、x_query、x_center、x_max几个参数。4G 以下显存基本可以放弃训练,推理还有一线机会。 - 浏览器一直转圈打不开 WebUI。先确认启动时的那个黑色控制台窗口还开着——关掉它网页就断连了。另外开着全局代理或局域网代理也会让页面报
Expecting value之类的 JSON 错误,把代理关掉再试。
更完整的问答(训练时长、index rate 怎么调、模型怎么分享)都在 docs/cn/faq.md 里,遇到新报错可以先翻一遍。
还能这样用
- 模型融合(ckpt merge)。ckpt 选项卡可以把两个音色模型按比例混合,比如 60% A 音色 + 40% B 音色,得到一个谁都不像、又像两者的新音色。想做"自家人声二重唱"效果就这么干。
- 实时变声。仓库提供了
go-realtime-gui.bat(Windows)入口,支持麦克风实时转换,端到端延迟 170ms 左右;配合 ASIO 声卡输入输出能压到 90ms,开麦聊天、直播都够用。 - ONNX 导出。
tools/export_onnx.py可以把你训好的模型导出成 ONNX 格式,之后用 tools/onnx_inference_demo.py 走纯 ONNX 推理,不依赖完整的训练环境,部署到别的机器或嵌入式设备都方便。
今晚就能开始
去录一段10分钟的目标人声干声——安静房间、手机架远一点、别加混响——存成一个文件夹。装好环境、跑起 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考