Demucs音频分离保姆级全流程:从单曲拆解到整张歌单批量处理
Demucs音频分离保姆级全流程从单曲拆解到整张歌单批量处理【免费下载链接】demucsCode for the paper Hybrid Spectrogram and Waveform Source Separation项目地址: https://gitcode.com/gh_mirrors/de/demucs想给朋友的翻唱视频做伴奏想剪一支只留人声的混剪却发现网上的在线分离工具不是排队就是限时长导出的音质还常常打折扣。Demucs 正是为这种场景而生的开源音频源分离工具它能把一首歌拆成鼓、贝斯、人声与其他四条独立音轨其默认模型在标准测试集上的分离得分高达 9.0 dB普通电脑上处理一首 4 分钟的歌曲也只需几分钟全程只有一条命令。一、先花 30 秒把一首歌拆给你看与其先铺垫一堆概念不如直接上手。打开终端依次执行下面两条命令# 1. 安装 Demucs若提示权限不足可去掉 --user pip3 install --user -U demucs # 2. 对当前目录下的 test.mp3 做人声分离 python3 -m demucs -d cpu test.mp3安装完成后Demucs 会自动下载模型权重约 80MB只需一次然后开始处理。如何确认成功处理结束后当前目录下会出现separated/htdemucs/test/文件夹里面躺着drums.wav、bass.wav、other.wav、vocals.wav四个文件——这四份就是被拆开的歌曲。随便用播放器打开vocals.wav如果你能听到干净的清唱、几乎听不到乐器声说明第一单已经跑通了。说明-d cpu是显式指定用 CPU 计算。如果机器有 NVIDIA 显卡且装好了 PyTorch 的 CUDA 版本去掉这个参数即可自动使用 GPU速度会快上数倍。Windows 用户请把命令里的python3换成python.exe并在 Anaconda 终端里执行。二、安装前的环境体检与两条安装路线Demucs 对环境的要求并不苛刻但也别跳过体检直接装否则容易在运行时才报错。2.1 三分钟环境自检依次执行下面三条命令检查版本是否满足python3 --version # 需要 3.8 及以上 ffmpeg -version # 需要已安装 ffmpeg pip3 --version注意torchaudio 0.12 之后解码 MP3 必须依赖 ffmpeg没有它你会直接看到 FFmpeg not found 之类的报错。Linux 上可用sudo apt install ffmpeg补齐。各系统的完整安装说明分别见 docs/linux.md、docs/mac.md、docs/windows.md。2.2 普通用户路线一条 pip 命令如果你只是想拆歌、做伴奏最省事的做法就是第一章里的pip3 install --user -U demucs。它只装了分离所需的最精简依赖不会污染系统的其他 Python 环境。如何确认安装成功运行python3 -m demucs --list-models能看到一长串可用模型名。2.3 开发者路线源码环境如果你想改代码、看实现甚至自己训练模型则建议走源码路线git clone https://gitcode.com/gh_mirrors/de/demucs cd demucs python3 -m venv venv source venv/bin/activate pip install -r requirements.txt没有 GPU 的话用 CPU 版依赖即可有 GPU 时requirements.txt之外再单独安装配套 CUDA 的 PyTorch 即可。依赖清单区分了仅分离与可训练两档可参考项目根目录的requirements_minimal.txt与environment-cpu.yml/environment-cuda.yml。三、第一次分离的完整流程与模型怎么选跑通一次之后就该弄清楚拆出来的是什么、用哪个模型拆这两个问题了。3.1 读懂输出目录所有输出默认落在separated/模型名/歌曲名/下里面的四条音轨都是 44.1kHz 的立体声 WAV。它们的含义是vocals.wav人声drums.wav鼓与打击乐bass.wav贝斯低频other.wav剩下的所有伴奏部分。Demucs 采用时域 频域双分支的混合架构再由跨域 Transformer 融合两路特征最终把混音拆回四个源。其架构简图如下3.2 三组高频命令速查# 只要人声伴奏二选一输出 vocals 和 no_vocals卡拉 OK 模式 python3 -m demucs --two-stemsvocals song.mp3 # 输出压缩为 MP3避免 WAV 占空间 python3 -m demucs --mp3 --mp3-bitrate 320 song.mp3 # 指定模型与输出目录 python3 -m demucs -n htdemucs_ft -o my_out song.mp33.3 模型家族怎么挑-n参数控制使用哪个预训练模型这是影响速度-质量平衡最关键的一个旋钮模型名定位一句话点评htdemucs默认模型混合 Transformer速度与质量的均衡之选htdemucs_ft精细调优版耗时约 4 倍质量略胜一筹htdemucs_6s六音源实验版额外拆出 guitar 与 pianohdemucs_mmiv3 重训版经典混合模型稳健mdx / mdx_extra比赛级模型训练数据更多质量上限高mdx_q / mdx_extra_q量化版体积小、下载快质量略降如何确认选对了跑--list-models查看全部可用模型日常用默认的htdemucs就足够追求极致质量且时间充裕再上htdemucs_ft。四、跑得慢、显存爆三条提速通路分离速度取决于算力但掌握下面三个开关能让你在有限硬件上榨出更多性能。4.1 CPU 用户接受现实善用并行没有 GPU 时Demucs 的处理耗时大约是音频时长的 1.5 倍——一首 4 分钟的曲子约 6 分钟出结果。若 CPU 是多核可用-j开启并行python3 -m demucs -d cpu -j 4 song.mp3注意-j的并行度会成倍抬高内存占用机器内存不大时别贪多先看自己的核心数与内存再定。4.2 GPU 用户显存不够就切段Demucs 会把整首歌按段切分后逐段预测--segment参数控制每段秒数段越短越省显存代价是质量略降。显存与配置的对应关系如下显存规模推荐配置8GB 及以上默认参数直接跑约 3GB加--segment 8约 2GB再加环境变量PYTORCH_NO_CUDA_MEMORY_CACHING1注意 Transformer 系列模型对段长有硬性上限约 7.8 秒--segment超过上限会被程序直接拒绝并提示。如何确认生效运行后观察进程的显存占用不再报CUDA out of memory即为通过。4.3 想要更稳的分离质量加次数--shifts会让模型对输入做多次随机平移预测后取平均能带来最多约 0.2 dB 的质量提升论文里用的就是 10 次。代价是时间成倍增加只有 GPU 用户建议尝试python3 -m demucs --shifts 10 song.mp3五、从单曲升级成整个歌单的批量处理手动一首一首敲命令太累写个几行的循环脚本把整个歌单交给它就好。5.1 一个可直接套用的批处理脚本把 MP3 放进songs/目录后运行#!/bin/bash mkdir -p separated for f in songs/*.mp3; do echo 正在处理$f python3 -m demucs -d cuda --segment 8 -n htdemucs $f done echo 全部完成结果在 separated/ 目录下建议同一时间排队处理的文件不要超过 4 个避免内存与显存被瞬间占满。5.2 按需定制输出格式输出默认是 16bit 的 WAV占空间较大。下面这些开关可以按场景调整# 无损压缩存 FLAC python3 -m demucs --flac song.mp3 # 32 位浮点 WAV适合后期制作 python3 -m demucs --float32 song.mp3 # 避免爆音默认自动缩放也可改为硬削波 python3 -m demucs --clip-mode clamp song.mp3想完全掌控输出文件名还可以用--filename指定模板语法说明见 demucs/separate.py。六、新手高频翻车的六个场景与应对清单现象常见原因处理办法FFmpeg not found / 打不开 MP3缺少 ffmpeg安装 ffmpeg 后重试CUDA out of memory显存不足按 4.2 节调小--segmentFile does not exist路径含空格未被引号包裹给整个路径加引号demucs my song.mp3Could not find a pre-trained model模型名拼错或下载失败核对--list-models的名称segment 超长被拒绝超过 Transformer 模型上限把--segment调回 7.8 秒以内人声里明显残留乐器声模型或参数选择问题换htdemucs_ft或调大--shifts其中模型下载失败最常见于网络不稳。模型权重通过torch.hub下载并缓存到本地删掉本地缓存后重跑命令即可重新下载如果公司网络被墙可以提前用浏览器下载权重放入缓存目录。模型清单可参考 demucs/remote/files.txt各模型配置文件在 demucs/remote/。七、把 Demucs 请进你自己的代码里命令行只是 Demucs 的入口之一它同样提供了干净的 Python API适合写进自己的工具链。7.1 最省事的一行式调用import demucs.separate demucs.separate.main([--mp3, --two-stems, vocals, -n, htdemucs, song.mp3])7.2 面向对象的 Separator APIimport demucs.api separator demucs.api.Separator(modelhtdemucs) origin, stems separator.separate_audio_file(song.mp3) for name, audio in stems.items(): # 注意save_audio 不会自动创建目录 demucs.api.save_audio(audio, fout/{name}.wav, samplerateseparator.samplerate)如果中途遇到显存不足不需要重建实例直接调separator.update_parameter(segment8)即可热切换参数。完整的类与方法说明见 docs/api.md。7.3 再进一步训练与性能基准想微调出自己的专属模型项目提供了完整的训练框架配置示例在 conf/variant/finetune.yaml训练流程参考 docs/training.md想量化不同模型在自家机器上的速度可以跑 tools/bench.py 生成对比数据。八、收尾要点回顾与下一步进阶最后把全文关键点浓缩成一张备忘清单安装普通用户pip3 install --user -U demucs前提是 Python 3.8 且装了 ffmpeg上手python3 -m demucs -d cpu 歌曲.mp3结果在separated/模型名/歌曲名/下选型默认htdemucs最均衡求质量上htdemucs_ft求轻量用mdx_q提速GPU 用户用--segment压显存CPU 用户用-j开并行批量循环脚本 --mp3/--flac控制体积进阶Python API 可无缝嵌入自己的应用训练入口在docs/training.md。如果你只是偶尔做做伴奏、剪剪混音到第三步就可以毕业了如果你想把分离质量压榨到极限或接入自己的播放器、剪辑软件做自动化后面几章已经为你铺好了路。动手拆第一首歌吧那将是整条学习曲线里最爽的一步。【免费下载链接】demucsCode for the paper Hybrid Spectrogram and Waveform Source Separation项目地址: https://gitcode.com/gh_mirrors/de/demucs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

IDM激活脚本实操记录:永久锁定30天试用期的每一步

IDM激活脚本实操记录:永久锁定30天试用期的每一步

IDM激活脚本实操记录:永久锁定30天试用期的每一步 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 上周四晚上十一点多,朋友发来一张 IDM …

2026/10/20 2:39:20 阅读更多 →
平板端秘塔 AI 表格复制转换教程|借助 AI 导出鸭实现多平台 AI 表格无损格式导出

平板端秘塔 AI 表格复制转换教程|借助 AI 导出鸭实现多平台 AI 表格无损格式导出

一、平板端秘塔AI表格复制转换现存技术痛点 秘塔AI自带的表格复制、格式转换功能,在Windows、桌面浏览器环境下运行逻辑相对成熟,但适配iPad、安卓平板两大移动端系统时,存在多层技术壁垒。首先是平板触控交互机制限制,秘塔网页端…

2026/10/20 6:18:01 阅读更多 →
【MySQL】MySQL数据库基础

【MySQL】MySQL数据库基础

文章目录一、数据库1.1、认识数据库1.2、主流的数据库1.3、数据库基本使用1.3.1、连接数据库服务器1.3.2、使用案例1.3.3、服务器、数据库与表关系1.4、SQL分类1.5、MySQL架构1.6、存储引擎一、数据库 1.1、认识数据库 在我们安装好MySQL后,系统中一定会存在这两个…

2026/10/16 15:40:02 阅读更多 →

最新新闻

音视频服务为何是互联网的终极压力测试仪

音视频服务为何是互联网的终极压力测试仪

1. 为什么“音视频服务”是互联网真正的压力测试仪你有没有试过在地铁里点开一个4K直播,画面卡成PPT,而旁边的人刷短视频却丝滑如初?或者深夜和朋友连麦打游戏,语音断断续续,但微信文字消息秒回?这些不是玄…

2026/10/20 19:23:50 阅读更多 →
软考 系统架构设计师历年真题集萃(83)

软考 系统架构设计师历年真题集萃(83)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 19:23:50 阅读更多 →
PySR项目参数调优与工作流程指南

PySR项目参数调优与工作流程指南

PySR项目参数调优与工作流程指南 【免费下载链接】PySR Symbolic Learning in Python and Julia 项目地址: https://gitcode.com/GitHub_Trending/py/PySR 引言 PySR是一个基于符号回归的机器学习工具,能够从数据中发现简洁的数学表达式。本文将详细介绍如何…

2026/10/20 19:23:50 阅读更多 →
ZYNQ裸芯片应用与PetaLinux实战:从启动链路到设备树开发

ZYNQ裸芯片应用与PetaLinux实战:从启动链路到设备树开发

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 19:23:50 阅读更多 →
技能三层结构与习得路径:从会做到形成个人能力壁垒

技能三层结构与习得路径:从会做到形成个人能力壁垒

1. 从“skills”这个标题说起:一个被低估的硬核话题看到“skills”这个词,很多人第一反应是“技能嘛,谁不知道”。但恰恰是这个看似平淡的词,藏着大多数人在职场、学习和个人成长中最容易踩的坑。我做了十多年一线项目&#xff0c…

2026/10/20 19:23:50 阅读更多 →
Agent Harness Engineering:打造智能体的“操作系统”运行时

Agent Harness Engineering:打造智能体的“操作系统”运行时

“Agent 即操作系统”,这个说法第一次看到时,我觉得又是一轮热词营销。但后来真把一个带工具调用、多智能体协作、长任务拆解的系统放到生产环境里跑,我发现自己每天都在用的概念,全是操作系统的老概念:调度、上下文管…

2026/10/20 19:22:46 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →