StemDeck 开源本地 AI 人声分离工具

快速概览

StemDeck 使用 Meta AI 的开源 Demucs 模型,提供免费、离线的六音轨分离(人声、鼓、贝斯、吉他、钢琴、其他),无需上传云端、注册账户或订阅服务。


StemDeck 的功能

  • 仅本地处理 – 音频永远不会离开你的设备;YouTube 链接通过本地的 yt-dlp 获取。
  • 六音轨输出 – 使用 Demucs htdemucs_6s 模型分离出人声、鼓、贝斯、吉他、钢琴和“其他”音轨。
  • DAW 风格混音器 – 每个音轨的音量、静音、独奏、监听、VU 指示器、波形缩放、循环区域,以及单独导出各音轨或自定义混音。
  • 跨平台安装包 – 提供原生 macOS(Apple Silicon 与 Intel)和 Windows 构建版本;也支持作为网页服务器或 Docker 容器运行。
  • 无需账户、无配额限制 – 在 Apache 2.0 许可下完全免费,无遥测数据或隐藏费用。

核心技术

组件 库 / 工具 作用
后端 Python 3.12,由 uv 管理 执行推理并协调任务
API FastAPI 提供 REST 和 Server-Sent Events 以获取任务状态
音轨模型 Demucs htdemucs_6s(Meta AI) 六音轨神经网络分离
可选人声分离 audio-separator(UVR-MDX-NET Karaoke 2) 提取主唱/和声
YouTube 下载 yt-dlp 本地获取音频流
转码 / 混音 FFmpeg 音频解码、混音、导出
BPM 与调性分析 librosa 节拍追踪、调性/音阶检测
响度测量 pyloudnorm(ITU-R BS.1770) 集成 LUFS 分析
桌面外壳 Tauri v2(Rust + WKWebView / WebView2) 将 UI 打包为原生应用
前端 原生 JavaScript + Web Audio API 波形渲染、播放控制

功能亮点

  • 设备自动选择 – 自动选择 NVIDIA GPU 上的 CUDA,Apple Silicon 上的 MPS,或回退至 CPU。
  • YouTube 与本地文件导入 – 拖拽或粘贴 URL;支持 MP3、WAV、FLAC、OGG/Opus、MP4、M4A 格式。
  • 原始伴奏轨道 – 当选择部分音轨时,第七个轨道会显示补全音轨(完整歌曲减去已选音轨),便于 A/B 对比。
  • 可取消任务 – 立即中止处理流程并清理部分输出。
  • 库面板 – 基于文件夹的组织方式,支持拖拽、搜索和回收站。
  • 导出选项 – 可导出单独的 WAV 音轨、合并后的 mix.wav,或包含原始源文件的自定义 MP4 视频。

与商业服务的真实对比

方面 StemDeck 典型云服务(Moises、LALAL.AI)
价格 永久免费 免费增值;需积分或订阅
隐私 音频保留在设备上 音频上传至第三方服务器
音轨数量 6 个(人声、鼓、贝斯、吉他、钢琴、其他) 最多 10 个,视套餐而定
硬件依赖 在你的 GPU/CPU 上运行;速度因设备而异 云服务在服务商硬件上运行——对所有用户都很快
移动端应用 提供 iOS/Android 应用
额外音乐工具 无(无音高变换、和弦检测等) 通常包含音高/调性变换、歌词同步、节拍器
源代码 开源,可 Fork 闭源

如果你需要最高音质、批量处理或移动端访问,付费服务可能更值得。但若用于个人练习、注重隐私且希望零成本使用,StemDeck 已足够。


快速上手

桌面安装

  • macOS – 下载对应 DMG(Apple Silicon 用 arm64,Intel 用 x64)。首次启动会下载捆绑的 Python 运行时(约 500 MiB)、FFmpeg 和 Demucs 模型(约 170 MiB)。
  • Windows – 解压安装包(CPU 用 StemDeck-Windows-x64.zip,CUDA 用 *.NVIDIA.zip)。运行 StemDeck.exe;首次启动执行相同的运行时设置。
  • Gatekeeper – 在 macOS 上,右键点击 → 打开 以绕过初始安全提示。

网页服务器 / Docker

  • Python 服务器git clone https://github.com/stemdeckapp/stemdeck && cd stemdeck && ./run.sh setup && ./run.sh start(macOS/Linux)或在 Windows 上使用等效 PowerShell 命令。
  • Dockerdocker compose -f build/docker-compose.yml up --build。暴露端口 8000;音轨输出至 ./jobs/
  • GPU 加速 – 设置 STEMDECK_DEMUCS_DEVICE=cuda 并安装支持 CUDA 的 PyTorch 轮子。

使用流程

  1. 导入 – 将文件拖到栏上或粘贴 YouTube 链接。
  2. 选择音轨 – 点击音轨芯片;默认为全部六个。
  3. 处理 – 点击 处理;观察进度条,经历上传、分析、分离和混音阶段。
  4. 混音 – 使用多轨 UI:音量推子、静音/独奏、循环区域、播放速度控制。
  5. 导出 – 点击 下载混音 导出合并的 WAV 文件,或通过文件列表导出单个音轨。

快捷键Space(播放/暂停),[ / ](-/+ 5 秒快进),L(循环),I/O(循环入/出),M(静音),S(独奏),Shift+滚轮(粗调音量),滚轮(细调音量)。


社区反馈(Hacker News 精选)

  • 用户称赞其 以隐私为先的设计,并指出该工具在个人练习和学习中表现良好。
  • 有人将其与 Nuo Stems 对比,后者使用更先进的模型如 mel_band_roformer;StemDeck 仍只是 htdemucs_6s 的轻量封装。
  • 有评论指出,Audacity 可通过 OpenVINO 插件实现类似效果,为偏好完全开源 DAW 的用户提供替代方案。
  • Android 支持音轨转 MIDI 的请求频繁出现,表明用户希望将工作流扩展至移动端。
  • 技术讨论强调了打包挑战(捆绑 Python/PyTorch、GPU 内存峰值、端口冲突),并确认 StemDeck 的设计有意避免大型捆绑安装包,通过首次运行时引导依赖项来实现。

限制与故障排除

  • 首次运行延迟 – Demucs 模型(约 170 MiB)和 Python 运行时在首次启动时下载。
  • GPU 内存 – 六音轨 Demucs 在长曲目上可能超过 4 GiB VRAM;若 CUDA 不可用,应用将回退至 CPU。
  • ffmpeg 未找到 – 安装 FFmpeg 并重启(./run.sh restart)。
  • YouTube 下载警告 – 安装 deno 可消除“未找到支持的 JavaScript 运行时”提示。
  • 仅 CPU 速度 – 预期处理较慢;现代 GPU 可显著缩短分离时间。

许可与免责声明

StemDeck 采用 Apache 2.0 许可发布。其用途为个人学习、研究与实验。软件不会下载或分发受版权保护的内容;用户需确保其处理的音频拥有合法使用权。所有第三方依赖项保留其原始许可证。


更多资源


总结

StemDeck 提供了一套完全离线、开源的六音轨音频分离解决方案,功能与商业云服务相当,同时保障隐私并免除成本。其模块化架构、清晰的许可证和活跃的社区,使其成为音乐人、教育工作者和开发者在无需依赖专有平台的前提下,实现本地音轨提取的坚实基础。

Sources

相关

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