资讯详情

资讯详情

demucs 六源音频分离:从安装到 6 轨输出的完整指南

demucs 六源音频分离从安装到 6 轨输出的完整指南【免费下载链接】demucsCode for the paper Hybrid Spectrogram and Waveform Source Separation项目地址: https://gitcode.com/gh_mirrors/de/demucsDemucs 是一款开源音乐音源分离工具输入一首歌输出人声、鼓、贝斯、其他乐器htdemucs_6s模型另加钢琴与吉他共 6 轨。默认模型htdemucs在 MUSDB HQ 测试集上取得9.00 dB的 Overall SDRCPU 处理耗时约为歌曲时长的1.5 倍——知道这两点就能决定它值不值得在你的机器上跑起来。 一句话定位Demucs 和同类模型差在哪Demucs v4 是混合域时域频域架构的 Transformer 分离模型与 README 对比表中列出的模型相比它的差异可以用三句话说清处理域波形域、频谱域、混合域三者并存过htdemucs走混合域路线同时利用两个域的信息规模htdemucs_ft在 MUSDB HQ 之外只用800 首额外歌曲微调就做到 Overall SDR9.00 dB与用了25k首歌训练的 Spleeter5.9 dB拉开明显差距音源数标准 4 轨drums、bass、vocals、other之外htdemucs_6s实验性提供 6 轨官方明确提示 piano 轨leaking and artifacts较多模型处理域额外训练数据Overall SDRSpleeterspectrogram25k 首歌5.9Hybrid Demucs (v3)hybrid无7.7HT Demucs (v4)hybrid800 首歌9.0SDR 为论文口径的平均分离信噪比单位 dB数值越高越干净。⚙️ 装环境 跑通第一条分离命令只分离不训练的话一条 pip 命令即可无需 clone 仓库pip3 install -U demucs若要用仓库自带配置做训练按 docs/training.md 准备 conda 环境git clone https://gitcode.com/gh_mirrors/de/demucs cd demucs conda env create -f environment-cpu.yml conda activate demucs pip install -e .最小可用命令CPU 强制最通用python3 -m demucs -d cpu -n htdemucs test.mp3运行后你会看到首次运行自动下载所选模型的权重之后走本地缓存一行提示Separated tracks will be stored in 路径给出输出目录进度条走完后在separated/htdemucs/歌名/下得到 4 个 wavdrums.wav、bass.wav、vocals.wav、other.wav输出为44.1 kHz、int16 立体声 wav文件名含空格时路径要整体加引号 提取纯人声输出直接可用的卡拉 OK 伴奏适合想练歌、做翻唱的人--two-stems只输出两个文件比完整分离少一堆用不上的轨。python3 -m demucs --two-stems vocals --other-method minus test.mp3生成vocals.wav和no_vocals.wav两条轨。--other-method minus的伴奏是原曲直接减掉人声得到的混响尾巴保留得最完整若改用默认的add方式伴奏则由各声部相加得到两者音色略有差异可各跑一遍对比。注意two-stems 只是事后合并并不比全量分离更快、更省内存。 用 6 音源模型拆出鼓和贝斯给 remix 备料适合做 remix、编曲拆解的创作者-n htdemucs_6s一次分离出 6 轨其中鼓与贝斯的可用性较高可直接拖进 DAW。python3 -m demucs -n htdemucs_6s --mp3 test.mp3--mp3把输出转成 MP3默认320 kbps单轨体积比 int16 wav 小得多方便在网盘和素材库之间流转。提醒htdemucs_6s是实验模型piano 轨官方标注有大量伪影拿它做成品前建议先试听。 它是怎么工作的时频双支路 跨域 Transformer核心机制一句话两条 U-Net 支路并行卷积最深处用 Transformer 互相对齐。频谱支路先用 STFT 把波形变成频谱图沿频率轴卷积直到只剩单一频率再转回时间卷积时间支路直接在原始波形上做卷积。两路到达同一压缩尺度后在编码器与解码器之间接入跨域 Transformer 编码器域内用自注意力、域间用跨注意力结构见图注描述的双 U-Net 示意README.md 内嵌demucs.png为官方架构图。解码从粗到细重建各音源通过 CaC 复数频谱法从频谱还原为波形训练损失始终在时域计算保证输出是可直接播放的波形。 5 个高频参数速查参数作用什么时候用-n/--name选模型默认htdemucs要 6 轨用htdemucs_6s求稳用默认--two-stems只输出该音源混合轨卡拉 OK、只要某一条轨--segment每段长度秒GPU 爆内存时调小-d计算设备自动选 cuda/cpu强制 CPU 时显式写-d cpu--shifts随机平移预测并平均SDR 最多提升 0.2有 GPU 且追求质量时代价是耗时 ×N--mp3输出转 MP3默认 320 kbps需要小文件分发时完整参数--float32、--int24、--jobs、--overlap等见 docs/api.md。 避坑指南现象GPU 上跑着跑着 CUDA out of memory。原因默认参数大约需要7 GB显存。 解决--segment 8把分段调小官方建议下限 10 秒内再小质量会下降或直接-d cpu。现象给htdemucs传--segment 30被拒提示 Maximum segment is: 7.8。原因Transformer 模型只能按训练时的分段长度推理7.8 秒是硬上限。 解决htdemucs系模型不要传大于 7.8 的值长音频会自动分段处理。现象Linux/macOS 上读 mp3 报解码错误。原因torchaudio 0.12 起不再自带 mp3 解码器。 解决先装 ffmpegconda install ffmpeg -c conda-forge或sudo apt-get install ffmpeg。现象用htdemucs_6s分离出的 piano 轨噪点重、串音明显。原因这是官方确认的已知短板不是你的参数问题。 解决正式素材优先用 4 源模型htdemucs确需钢琴轨时做人工修音。 延伸阅读docs/api.mdSeparator类的 Python API适合写进自己的批处理脚本docs/training.md训练、微调与导出自定义模型docs/linux.md / docs/mac.md / docs/windows.md三平台安装细节跑通上面第一条命令你的 6 轨或 4 轨分离素材就齐了。最后留一个真实限制本仓库已不再活跃维护仅处理重要 bug 修复GPU 用户请预留约3 GB显存起步、默认参数约7 GB不够就--segment 8或-d cpu。【免费下载链接】demucsCode for the paper Hybrid Spectrogram and Waveform Source Separation项目地址: https://gitcode.com/gh_mirrors/de/demucs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →