StemDeck Open-Source Local AI Stem Separator – Features, Comparison, and Usage

Quick Take

StemDeck is a free, open‑source desktop application that separates any audio file or YouTube video into six stems (vocals, drums, bass, guitar, piano, other) entirely on the user’s machine, eliminating the need for accounts, uploads, or subscriptions.


What StemDeck Does

  • Accepts MP3, WAV, FLAC, OGG/Opus, MP4, M4A files or a YouTube URL.
  • Uses Meta AI’s open‑source Demucs htdemucs_6s model to produce six stems.
  • Provides a DAW‑style multitrack mixer with mute/solo, volume faders, VU meters, waveform zoom, loop regions, and export of individual stems or a custom mix.
  • Runs locally on Windows, macOS, and Linux; no audio leaves the computer.
  • Optional on‑demand vocal/lead split via the UVR‑MDX‑NET Karaoke 2 model.

Note: The tool is a stem separator, not a downloader. You must own the source audio or have the right to process it.


Core Features

Feature Detail
Six‑stem separation Demucs htdemucs_6s; auto‑detects CUDA, Apple MPS, or CPU
Import options Drag‑and‑drop local files or paste a YouTube URL
Multitrack UI Waveform canvas, per‑stem fader, mute/solo, monitor, live VU meters
Original backing track 7th lane shows the complement of selected stems for A/B reference
Export Individual WAV stems, custom mixed mix.wav, or MP3 via ffmpeg
Audio analysis BPM, key/scale (librosa), LUFS (pyloudnorm), peak dBFS
Job control Cancelable pipeline, automatic cleanup after configurable TTL
Library panel Folder‑based organization, search, drag‑drop, trash
Cross‑platform installers macOS DMG (Apple Silicon & Intel) and Windows ZIP (CPU or CUDA)
Docker & Unraid Pre‑built images and community app for headless deployment

Honest Comparison with Cloud Services

Aspect StemDeck Moises / LALAL.AI (typical cloud)
Price Free, forever Freemium; credits or subscription required
Hosting Local only Cloud (audio uploaded)
Account None Required
Internet Only for YouTube download & first model fetch (~170 MB) Always required
Privacy Audio never leaves machine Audio stored on third‑party servers
Model Open‑source Demucs htdemucs_6s Proprietary, often higher quality
Stem count 6 Up to 10
Speed Depends on user hardware (GPU fast, CPU slower) Fast (server‑side)
Batch Single job at a time Batch on paid plans
Mobile app No iOS/Android apps
Extra tools None (no pitch shift, lyrics, click track) Varies, often includes many musician tools
UI polish Functional, hobby‑grade Production‑grade
Source code Open, forkable Closed

Choose StemDeck for privacy, zero‑cost, and offline use; choose a commercial service for higher quality, batch processing, or mobile access.


Installation Overview

macOS

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

The first launch downloads a bundled Python runtime (500 MB), FFmpeg, and the Demucs model (170 MB). Subsequent launches start in seconds. Gatekeeper may require “Open” from the context menu.

Windows

Zip GPU support
StemDeck-Windows-x64.zip CPU only
StemDeck-Windows-x64.NVIDIA.zip NVIDIA CUDA

Extract anywhere and run StemDeck.exe. All dependencies live in a data/ folder next to the executable, making the app fully portable.


Technical Stack

  • Python 3.12 managed by uv
  • FastAPI backend serving REST + Server‑Sent Events
  • Demucs (htdemucs_6s) for six‑stem neural separation
  • Optional UVR‑MDX‑NET Karaoke 2 model for lead/backing vocal split
  • yt‑dlp for YouTube audio extraction
  • FFmpeg for transcoding and mixing
  • librosa for BPM/key detection; pyloudnorm for loudness (ITU‑R BS.1770)
  • Tauri v2 (Rust + WKWebView/WebView2) for native desktop shells
  • Frontend: vanilla JavaScript + Web Audio API; waveforms rendered on <canvas> with min/max sample rendering

Running as a Web Server (Python‑only)

# Clone and install
git clone https://github.com/stemdeckapp/stemdeck stemdeck && cd stemdeck
uv sync                     # installs dependencies
uv run uvicorn app.main:app --host 127.0.0.1 --port 8000

Open http://localhost:8000 in a browser. For GPU acceleration on Linux with NVIDIA, install the CUDA‑enabled torch wheel and set STEMDECK_DEMUCS_DEVICE=cuda.

Docker alternative (pull from 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

The container bundles CUDA‑enabled torch, so no host‑side CUDA install is needed.


Usage Walk‑through

  1. Import – Drag a file onto the bar or paste a YouTube URL.
  2. Select stems – Click stem chips (defaults to all six).
  3. Process – Click Process; the UI shows pipeline stages (upload, download, analyze, separate, mix).
  4. Mix – Use the multitrack controls: M mute, S solo, Monitor solo‑only, volume faders, loop region, zoom (+/-/Fit).
  5. Export – Click Download Mix for a summed WAV, or export individual stems via the sidebar.

Keyboard shortcuts: Space play/pause, [/] seek ±5 s, L toggle loop, I/O set loop in/out, Shift+wheel coarse volume, plain wheel fine volume.


Community Feedback Highlights

  • Positive reception: Users praised the accuracy and convenience, noting “pretty accurate” results and “incredibly cool” experience. (Comment by magicmicah85)
  • Model discussion: Several commenters clarified that StemDeck is a thin wrapper around the existing htdemucs model, not a new model. (ipsum2)
  • Alternative tools: Suggestions included Nuo Stems for DJ integration, Audacity with OpenVINO plugins, and a WebAssembly ONNX port of Demucs. (Stitch4223, tlahtinen, bakkoting)
  • Feature requests: Users asked about rhythm‑guitar separation, MIDI conversion of stems, and Android support. (BrokenCogs, RobotToaster, 2Gkashmiri)
  • Technical curiosity: Questions about packaging size, GPU memory usage, and port conflicts were raised, highlighting the complexity of bundling Python/PyTorch with native installers. (yeasin-arafat)

Limitations & Known Issues

  • Quality bound to Demucs: Separation quality depends on the source material and the htdemucs_6s model; it may be lower than proprietary cloud services.
  • Hardware constraints: CPU‑only processing can be slow; GPU acceleration requires CUDA (NVIDIA) or Apple MPS support.
  • No mobile app: Currently only desktop and web‑server deployments; Android/iOS not provided.
  • Single‑job queue: Only one job runs at a time; batch processing requires a cloud service or custom scripting.

License and Contribution

StemDeck is released under the Apache 2.0 license. The repository welcomes issues, feature suggestions, and pull requests. Build instructions for native macOS apps, Docker images, and manual Python runs are provided in the README.


Quick Reference Table (Environment Variables)

Variable Default Purpose
STEMDECK_DEMUCS_DEVICE auto Force torch device (cuda, mps, cpu)
STEMDECK_DEMUCS_MODEL htdemucs_6s Model name
STEMDECK_JOBS_DIR ./jobs Directory for job outputs
STEMDECK_MAX_DURATION_SEC 1200 Reject files longer than 20 min
STEMDECK_JOB_TTL_SECONDS 86400 Auto‑delete jobs after 24 h
STEMDECK_MAX_PENDING_JOBS 3 Max queued jobs before 503 response

Bottom Line

StemDeck delivers a fully offline, privacy‑first workflow for extracting six musical stems using state‑of‑the‑art open‑source AI. While it lacks the polish, batch capabilities, and extra musician tools of commercial cloud services, its zero‑cost, open‑source nature makes it an attractive option for hobbyists, educators, and anyone who wants full control over their audio data.

Sources

Related

  • Project
  • Project
  • Project
  • Project
  • Project