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 + 伺服器傳送事件以監控工作狀態 |
| 音軌模型 | 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 與本地檔案匯入 – 拖曳或貼上連結;支援 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 – 解壓縮安裝程式(
StemDeck-Windows-x64.zip為 CPU 版,*.NVIDIA.zip為 CUDA 版)。執行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 命令。 - Docker –
docker compose -f build/docker-compose.yml up --build。暴露 8000 端口;音軌會出現在./jobs/資料夾中。 - GPU 加速 – 設定
STEMDECK_DEMUCS_DEVICE=cuda並安裝支援 CUDA 的 PyTorch 套件。
使用流程
- 匯入 – 將檔案拖曳至欄位或貼上 YouTube 連結。
- 選擇音軌 – 點選音軌晶片;預設為全部六軌。
- 處理 – 點選 處理;觀察進度條,經歷上傳、分析、分離與混音過程。
- 混音 – 使用多軌 UI:音量推子、靜音/獨奏、循環區域與播放速度控制。
- 匯出 – 點選 下載混音 以取得合併的 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 授權釋出。此軟體僅供個人學習、研究與實驗使用。軟體不會下載或重新分發版權內容;使用者必須確保其提供的音訊具有合法處理權。所有第三方依賴仍保留其原始授權。
更多資訊來源
- GitHub – https://github.com/stemdeckapp/stemdeck
- Discord – https://discord.gg/YhCKsjhcwB
- Reddit – https://www.reddit.com/r/StemDeckApp/
- 官方網站 – https://stemdeck.app/
總結
StemDeck 提供完全離線、開源的六音軌音頻分離解決方案,功能與商業雲端服務相當,同時保有隱私並無任何成本。其模組化架構、清晰授權與活躍社群,使其成為音樂人、教育者與開發者在不需要繁瑣專有平台的負擔下,進行本地音軌提取的穩固基礎。
Sources
相關
- 專案
- 專案
- 專案
- 專案
- 專案