10 分钟跑通一次 UVR5 人声提取:免费开源的伴奏分离实操笔记
【免费下载链接】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 里内置的 UVR5 人声提取,一次人声伴奏分离十分钟就能跑完。说白了这就是个免费开源音频分离工具,名字听着唬人,流程不复杂。
信号是怎么被拆成两路的
一首歌录出来的波形里,人声和伴奏在物理上是糊在一起的,UVR5 做的事就是按频谱规律把它们拆成人声、伴奏两路输出,你最后拿到的两个文件夹就是这么来的。它学的是统计规律而不是听音辨物,所以拆得越狠,两路互相串味就越多。伴奏里夹着几缕没抠干净的人声、人声轨里混进一点乐器声,别慌,残留是这类算法躲不掉的正常现象。目标从来不是完美抠净,而是把残留压到你耳朵能接受的范围。
从空仓库到第一次跑通
先拿代码,终端里执行:
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI进仓库目录,建一个 Python 3.12 的虚拟环境,然后装依赖——这一步只看你的显卡。CPU、AMD、Intel 用户装requirments_cpu_py312.txt;NVIDIA 50 系先装 CUDA 12.8 版 torch,再装requirments_cu128_py312.txt;更早的 N 卡对应requirments_cu118_py312.txt。
装完打一句python -c "import torch; print(torch.cuda.is_available())"验证,N 卡环境打出 True 就说明通了。卡住的话先确认虚拟环境激活了,这是新手最容易忽略的一环。
UVR5 的权重要单独拉一份:
hf download lj1995/VoiceConversionWebUI --revision main --include "uvr5_weights/*" --local-dir assets权重会落到assets/uvr5_weights/目录。如果这条命令卡住或报 404,多半是网络或代理的事,关掉代理重试一次;实在拉不下来,就手动把权重文件放进这个目录,效果完全一样。
启动界面:Windows 双击根目录的go-webui.bat,Linux 或 Mac 直接python webui.py,浏览器随后弹出主页面。点顶部「伴奏人声分离&去混响&去回声」这个标签,右边那一屏就是后面要用的全部字段。
参数只调这一个就够
模型选哪个,决定了参数有没有意义。HP2 和 HP3 是保留人声的一对:没有和声的歌用 HP2 最均衡,想让主人声更完整就换 HP3,代价是可能漏掉一点伴奏;歌里有和声、只想要主旋律时选 HP5,主人声会略微被削弱。去混响、去回声是另一组活:onnx_dereverb_By_FoxJoy(MDX-Net)负责双通道混响,DeEcho-Normal 和 DeEcho-Aggressive 管延迟和回声,Aggressive 更彻底,DeEcho-DeReverb 额外去混响但耗时接近翻倍。
搜"人声提取参数怎么填"的人很多,其实只有一个字段值得你动:人声提取激进程度,也就是聚合度,默认 10,范围 0 到 20。数值往上调,人声抠得更彻底,可伴奏里被顺走的频段也变多,听感上就是伴奏发干;往下调,人声更自然完整,但残留更容易冒头。UVR5 聚合度怎么调没有标准答案,稳的做法是每次只推 2 档,跑完整段听完再决定方向,来回两三圈基本就收敛了。
剩下几个字段一句话带过:导出格式默认 flac 无损,后面还要加工就留 flac 或 wav,纯存档分享选 mp3 更省地方;输入框填待处理音频的目录,也可以直接拖多个文件进去,目录和文件二选一、目录优先;两个输出文件夹保持默认 opt 就行。采样率不用管,程序会把非 44.1kHz 立体声的源先转成 44.1kHz 立体声再处理;源文件本身压得越狠,最后能拆出的细节就越少。
听感不对时,先核对这三处
如果你听到和声被当成主人声留了下来,大概率是模型选错了——原曲带和声,你却选了 HP2 或 HP3,和声就会跟着人声一起留下来。换成 HP5 重跑一遍再听。反过来,任务是去混响却选了 HP5,等于白跑,MDX-Net 那组才是干这个的。
如果伴奏里人声残留明显,多半是聚合度偏低,从 10 朝 12 到 15 的方向推;如果人声发薄、总带着一股伴奏味,就朝 8 降。每次只推 2 档,听完整段再推下一档,比一口气拉满靠谱得多。
如果整体听着闷、怎么调都到不了预期,问题多半在源文件上。单声道录音、码率很低的 MP3、早就削过波的音频,模型只能拆出录音里本来就存在的东西,缺的信息它变不出来——换一份无损源文件重跑,比调任何参数都管用。
要是「输出信息」窗口直接吐了报错堆栈,那是环境的事:权重没进assets/uvr5_weights/、torch 版本和显卡对不上(AMD 用户装错依赖文件最常见),对着 docs/cn/faq.md 里对应语言的条目查一遍基本都能定位。
把分离结果接进后续工作流
最常见的链路是翻唱:先用 HP3 把原曲跑成一条干净伴奏,然后开麦录自己的人声,最后在剪辑软件里把两轨叠到同一条时间轴上,按进拍点对齐即可。录完的人声轨还能直接接回 RVC 主界面走变声流程,等于顺手把音色也换了。
播客去混响更讲究顺序:先让 onnx_dereverb_By_FoxJoy 把双通道录音里的房间回声压下去,再用 DeEcho-Aggressive 扫掉剩下的毛刺。两个模型串起来跑,比只用其中一个干净得多。
今晚就做这一件事
挑一首最近循环的立体声歌曲,聚合度保持默认 10 先跑一遍,把两个输出文件夹各听一遍,用笔把残留人声最重的那个时间点记下来。剩下的——往 12 调、往 8 调、换模型、接进工作流——等把这首歌听熟了再逐个试,节奏就不会乱。
【免费下载链接】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),仅供参考