StemDeck 开源本地 AI 音轨分离工具 – 功能、对比与使用方法

快速概览

StemDeck 是一款免费、开源的桌面应用程序,可在用户本地机器上将任意音频文件或 YouTube 视频分离为六个音轨(人声、鼓、贝斯、吉他、钢琴、其他),无需账户、上传或订阅。


StemDeck 的功能

  • 支持 MP3、WAV、FLAC、OGG/Opus、MP4、M4A 文件或 YouTube 链接。
  • 使用 Meta AI 的开源 Demucs htdemucs_6s 模型生成六个音轨。
  • 提供 DAW 风格的多轨混音器,包含静音/独奏、音量推子、VU 电平表、波形缩放、循环区域,以及单个音轨或自定义混音的导出功能。
  • 在 Windows、macOS 和 Linux 上本地运行;音频不会离开计算机。
  • 可选地通过 UVR‑MDX‑NET Karaoke 2 模型实现按需人声/主唱分离。

注意: 该工具是 音轨分离器,而非下载器。您必须拥有源音频的所有权或拥有处理权限。


核心功能

功能 说明
六音轨分离 Demucs htdemucs_6s;自动检测 CUDA、Apple MPS 或 CPU
导入方式 拖放本地文件或粘贴 YouTube 链接
多轨界面 波形画布、每轨推子、静音/独奏、监听、实时 VU 电平表
原始伴奏音轨 第七轨显示所选音轨的补集,用于 A/B 对比
导出选项 单独的 WAV 音轨、自定义混音 mix.wav,或通过 ffmpeg 导出 MP3
音频分析 BPM、调性/音阶(librosa)、LUFS(pyloudnorm)、峰值 dBFS
任务控制 可取消的处理流程,配置 TTL 后自动清理
库面板 基于文件夹的组织方式,支持搜索、拖放、回收站
跨平台安装包 macOS DMG(Apple Silicon 与 Intel)和 Windows ZIP(CPU 或 CUDA)
Docker 与 Unraid 提供预构建镜像和社区应用,支持无头部署

与云服务的真实对比

方面 StemDeck Moises / LALAL.AI(典型云服务)
价格 永久免费 免费增值;需积分或订阅
托管方式 仅本地 云端(音频上传)
账户 无需 必须注册
网络连接 仅用于 YouTube 下载和首次模型获取(约 170 MB) 始终需要
隐私 音频从不离开设备 音频存储在第三方服务器
模型 开源 Demucs htdemucs_6s 专有模型,通常质量更高
音轨数量 6 个 最多 10 个
速度 取决于用户硬件(GPU 快,CPU 慢) 快(服务器端处理)
批量处理 一次仅一个任务 付费计划支持批量
移动端应用 支持 iOS/Android
附加工具 无(无音高调整、歌词、节拍器等功能) 功能多样,常包含多种音乐人工具
界面精致度 功能完整,业余级 专业级
源代码 开源,可 Fork 闭源

选择 StemDeck 以获得隐私保护、零成本和离线使用;选择商业服务以获得更高音质、批量处理或移动端访问。


安装概览

macOS

DMG GPU 支持
StemDeck-macOS-arm64.dmg Apple Silicon(MPS)
StemDeck-macOS-x64.dmg Intel(CPU)

首次启动会下载捆绑的 Python 运行时(约 500 MB)、FFmpeg 和 Demucs 模型(约 170 MB)。后续启动可在数秒内完成。Gatekeeper 可能需要从右键菜单中选择“打开”。

Windows

Zip GPU 支持
StemDeck-Windows-x64.zip 仅 CPU
StemDeck-Windows-x64.NVIDIA.zip NVIDIA CUDA

解压至任意位置并运行 StemDeck.exe。所有依赖项均位于可执行文件旁的 data/ 文件夹中,使应用完全便携。


技术栈

  • Python 3.12uv 管理
  • FastAPI 后端,提供 REST 和 Server-Sent Events 服务
  • Demucshtdemucs_6s)用于六音轨神经网络分离
  • 可选 UVR‑MDX‑NET Karaoke 2 模型,用于主唱/伴奏分离
  • yt-dlp 用于 YouTube 音频提取
  • FFmpeg 用于转码和混音
  • librosa 用于 BPM/调性检测;pyloudnorm 用于响度分析(ITU-R BS.1770)
  • Tauri v2(Rust + WKWebView/WebView2)用于原生桌面外壳
  • 前端:原生 JavaScript + Web Audio API;波形在 <canvas> 上渲染,支持最小/最大采样值显示

作为 Web 服务器运行(仅 Python)

# 克隆并安装
git clone https://github.com/stemdeckapp/stemdeck stemdeck && cd stemdeck
uv sync                     # 安装依赖
uv run uvicorn app.main:app --host 127.0.0.1 --port 8000

在浏览器中打开 http://localhost:8000。在 Linux 上使用 NVIDIA GPU 加速时,需安装支持 CUDA 的 torch 轮子,并设置 STEMDECK_DEMUCS_DEVICE=cuda

Docker 替代方案(从 GHCR 拉取):

docker run -d --name stemdeck -p 8000:8000 \
  -v /path/to/jobs:/app/jobs \
  -v /path/to/cache:/cache \
  ghcr.io/stemdeckapp/stemdeck:latest

容器已捆绑支持 CUDA 的 torch,因此无需在主机上安装 CUDA。


使用流程演示

  1. 导入 – 将文件拖到工具栏,或粘贴 YouTube 链接。
  2. 选择音轨 – 点击音轨芯片(默认选择全部六个)。
  3. 处理 – 点击 处理;UI 显示处理流程阶段(上传、下载、分析、分离、混音)。
  4. 混音 – 使用多轨控制:M 静音,S 独奏,Monitor 仅监听,音量推子,循环区域,缩放(+/-/Fit)。
  5. 导出 – 点击 下载混音 导出合成 WAV,或通过侧边栏导出单个音轨。

快捷键:Space 播放/暂停,[/] 快进/快退 5 秒,L 切换循环,I/O 设置循环起止点,Shift+滚轮 粗调音量,普通滚轮微调音量。


社区反馈精选

  • 正面评价:用户称赞其准确性和便捷性,称“相当准确”且“非常酷”。(评论者 magicmicah85
  • 模型讨论:多位评论者澄清,StemDeck 仅是现有 htdemucs 模型的轻量封装,而非新模型。(ipsum2
  • 替代工具建议:包括 Nuo Stems(用于 DJ 集成)、Audacity 搭配 OpenVINO 插件,以及 Demucs 的 WebAssembly ONNX 版本。(Stitch4223tlahtinenbakkoting
  • 功能请求:用户希望增加节奏吉他分离、音轨转 MIDI、Android 支持等功能。(BrokenCogsRobotToaster2Gkashmiri
  • 技术好奇:关于打包体积、GPU 内存占用和端口冲突的问题被提出,凸显了将 Python/PyTorch 与原生安装包捆绑的复杂性。(yeasin-arafat

局限性与已知问题

  • 质量受限于 Demucs:分离质量取决于源素材和 htdemucs_6s 模型;可能低于专有云服务。
  • 硬件限制:仅 CPU 处理可能较慢;GPU 加速需 CUDA(NVIDIA)或 Apple MPS 支持。
  • 无移动端应用:目前仅支持桌面和 Web 服务器部署;未提供 Android/iOS 版本。
  • 单任务队列:一次仅运行一个任务;批量处理需依赖云服务或自定义脚本。

许可与贡献

StemDeck 采用 Apache 2.0 许可证发布。项目欢迎提交问题、功能建议和拉取请求。README 中提供了原生 macOS 应用、Docker 镜像和手动 Python 运行的构建说明。


快速参考表(环境变量)

变量 默认值 用途
STEMDECK_DEMUCS_DEVICE auto 强制 torch 设备(cudampscpu
STEMDECK_DEMUCS_MODEL htdemucs_6s 模型名称
STEMDECK_JOBS_DIR ./jobs 任务输出目录
STEMDECK_MAX_DURATION_SEC 1200 拒绝超过 20 分钟的文件
STEMDECK_JOB_TTL_SECONDS 86400 任务 24 小时后自动删除
STEMDECK_MAX_PENDING_JOBS 3 队列中最多允许 3 个任务,超过则返回 503 错误

总结

StemDeck 提供了一套完全离线、以隐私为先的工作流,使用最先进的开源 AI 技术提取六个音乐音轨。尽管它缺乏商业云服务的精致界面、批量处理能力和额外音乐工具,但其零成本、开源的特性使其成为爱好者、教育工作者以及任何希望完全掌控音频数据用户的理想选择。

Sources

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目