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 獨奏、監聽 僅獨奏、音量推桿、循環區域、縮放(+/-/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 佇列中最大工作數,超過則回傳 503 錯誤

總結

StemDeck 提供了一套完全離線、以隱私為首要考量的六音軌音樂分離工作流程,使用最先進的開源 AI 技術。儘管它缺乏商業雲端服務的精緻介面、批次處理能力與額外音樂工具,但其零成本、開源的特性,使其成為愛好者、教育工作者以及任何希望完全掌控音訊資料者的理想選擇。

Sources

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案