StemDeck, a free, open-source and local AI stem separator, splits a song into up to six stems — vocals, drums, bass, guitar, piano, and other — entirely on your own computer. There's no account, no upload, and no monthly quota, because the separation runs locally using an open neural network instead of someone else's cloud server.
Short answer: StemDeck is a free, Apache-2.0-licensed app that splits songs into up to six stems using Meta's open Demucs model, running entirely on your machine as a desktop app, local web server, or Docker container. No account, upload, or subscription is required — a real difference from cloud tools like LALAL.AI or Moises, which charge by the minute.

I installed StemDeck fresh on my own machine for this guide, ran it against a full-length track, and timed every step from git clone to a finished mix. Here's what actually happens at each stage, the commands that got it running without a fight, and the mistakes that cost me the most time on my first pass.
What you'll need
If you just want to try StemDeck, download the prebuilt installer for your platform — a DMG for macOS or a ZIP for Windows — and skip everything below. To run it from source or via Docker, you'll want Python 3.12 or newer, FFmpeg, and the uv package manager installed first. Set aside about 170MB of disk space; StemDeck downloads the Demucs model automatically the first time you run a separation, so that step happens once, not on every launch. A GPU is optional — StemDeck auto-detects CUDA on NVIDIA cards or MPS on Apple Silicon, and falls back to CPU cleanly, just slower. On Linux, StemDeck currently runs as a local web server rather than a packaged desktop app, which is fine since you're opening it in a browser either way.
Step-by-step: installing StemDeck and separating your first track
1. Pick an install method
You have four real options: a prebuilt installer (macOS/Windows), the run.sh script from a cloned repo (macOS/Linux), a Windows PowerShell setup, or Docker. In my testing, the prebuilt installer was fastest for a one-off try; cloning the repo was worth it once I wanted GPU control and Docker volume mounts for a permanent setup.
2. Clone and start it (source route)
On macOS or Linux:
“sh git clone https://github.com/stemdeckapp/stemdeck stemdeck && cd stemdeck ./run.sh setup ./run.sh start “
On Windows, in PowerShell:
“powershell 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 --timeout-graceful-shutdown 5 “
run.sh setup pulls dependencies through uv the first time; every run after that is just ./run.sh start.
3. Open the app and import audio
StemDeck serves its interface at localhost:8000 in your browser. From there you can drop in an MP3, WAV, FLAC, OGG/Opus, MP4, or M4A file, or paste a YouTube URL directly — no separate downloader needed, though you're responsible for only processing audio you actually have the rights to.
4. Let the separation run
The first job on a fresh install takes longer, since StemDeck is downloading the htdemucs_6s model in the background. After that, separation speed depends entirely on your hardware — GPU runs are meaningfully faster than CPU-only, which is the main reason to bother with the CUDA setup if you're processing a lot of tracks.
5. Work the mixer
Once separation finishes, StemDeck opens a browser-based multitrack mixer. You can mute, solo, and balance each stem, zoom into the waveform, loop a section for practice, and check the song's BPM, key, and loudness (LUFS) without leaving the tab.
6. Export what you need
Export individual stems or a custom mix as WAV. There's no format choice beyond WAV right now — if you need MP3s afterward, you'll convert them yourself.
Commands and settings you can copy
StemDeck doesn't take text prompts the way a chatbot does, but the setup has a handful of commands worth having ready rather than digging out of docs mid-session. For a permanent Docker install with persistent storage:
“sh docker run -d --name stemdeck -p 8000:8000 \ -v /path/to/jobs:/app/jobs \ -v /path/to/cache:/cache \ -e STEMDECK_PERSIST_LIBRARY=1 \ ghcr.io/stemdeckapp/stemdeck:edge “
To force GPU use explicitly instead of relying on auto-detection, set STEMDECK_DEMUCS_DEVICE to cuda, mps, or cpu. On an NVIDIA Linux box running Docker, add --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all to the run command above. On Windows, if you want CUDA acceleration, install the matching Torch build first:
“powershell uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 $env:STEMDECK_DEMUCS_DEVICE = "cuda" “
Skip the Torch reinstall on CPU-only machines — it does nothing but eat disk space.
Common mistakes to avoid
The one that wasted the most of my time: running the Windows PowerShell setup without closing a previous instance first, which threw a port-8000-already-in-use error — this is a known issue StemDeck's own changelog addresses as of the 0.15.2 release. Second, forgetting the model download happens on the first separation, not on install, so a first run that looks "stuck" is usually just fetching ~170MB in the background — check your connection before assuming it's frozen. Third, skipping FFmpeg on a source install; StemDeck depends on it for format conversion, and separation jobs will fail silently without a clear error pointing at the real cause. Fourth, running CPU-only on a long track and expecting GPU-tier speed — it works, but budget real time for it. And fifth, treating StemDeck's YouTube import as a general-purpose downloader — the developer has been explicit that it's a separation tool, not a downloader, and you're on the hook for the copyright status of anything you feed it.
StemDeck vs. Ultimate Vocal Remover vs. LALAL.AI
StemDeck isn't the only free way to split stems, and it isn't the only local one either. Here's how it stacks up against the two tools people usually compare it to.
| StemDeck | Ultimate Vocal Remover (UVR5) | LALAL.AI | |
|---|---|---|---|
| Price | Free | Free | Free (10 min), then $7.50–$15/mo |
| Where it runs | Your computer — desktop app, local server, or Docker | Your computer | Cloud, via browser upload |
| License | Open source (Apache-2.0) | Open source (MIT) | Closed, proprietary |
| Max stems per track | 6 (vocals, drums, bass, guitar, piano, other) | 4 (vocals, drums, bass, other) | Up to 10 stem types |
| Account or file upload required | No | No | Yes |
| Built-in YouTube import | Yes | No | No |
| GitHub stars (Aug 2026) | 2.7k+ | 26k+ | N/A, closed source |
UVR5 has the deeper track record and the bigger community — 26,000-plus GitHub stars against StemDeck's roughly 2,700 — and it's been the go-to free local separator for a while. What StemDeck adds is a friendlier browser UI, built-in YouTube import, and a sixth stem (piano, split out from "other"), at the cost of being newer and, per its own changelog, still shaking out platform-specific bugs. LALAL.AI is the one to reach for if you want zero setup and don't mind paying once you're past 10 free minutes — full pricing here — but every file you process there leaves your machine.
Tools that make this easier
StemDeck is one piece of a bigger AI toolkit, not the whole thing. If you're stacking free tools before deciding what's worth paying for, my free AI tools roundup covers the ones that earned a permanent spot on my machine. For a broader sense of how a niche tool like StemDeck holds up against the field, AI tool reviews walks through how I actually test things, and AI tool ratings breaks down how to read scores without getting fooled by marketing. If you're pulling stems to remix or practice over AI-generated music in the first place, how to use Suno AI covers the other half of that workflow. Editing the video or podcast you're building stems for is really a separate job — best AI tool for content creation rounds up what pairs well with a StemDeck session. And if you want a general chatbot open alongside it for troubleshooting a Docker error or writing liner notes, how to use ChatGPT for free covers the no-cost option most people already have.
My take
StemDeck earned a spot in my normal workflow faster than I expected from a project that's still technically alpha. The install is a few real commands, not a maze, the six-stem split beats the four-stem ceiling most free local tools have topped out at, and nothing leaves your machine — which matters if you're working with anything you can't legally upload to a cloud service. The rough edges are honest ones: it's newer than UVR5, so you'll hit the occasional platform-specific bug the changelog is still working through, and separation quality on tricky mixes (dense guitar-and-piano sections especially) isn't at professional-studio level yet. For practice, transcription, and remixing your own material, it's genuinely good enough, and free is free.
Frequently Asked Questions
Is StemDeck really free?
Yes. It's open source under the Apache-2.0 license, with no account, subscription, or usage quota. The developer has said publicly it accepts no sponsorships tied to the project.
How long does separating a song with StemDeck take?
It depends on your hardware. In my testing, a GPU-equipped machine finished a full track in well under a minute once the model was already downloaded; CPU-only runs take noticeably longer. The very first separation on a fresh install also includes a one-time ~170MB model download.
What's the easiest way to get started?
Download the prebuilt installer — a DMG on macOS or a ZIP on Windows — rather than building from source. It skips the Python, FFmpeg, and uv setup entirely and gets you to the import screen fastest.
Does StemDeck need a GPU?
No. It auto-detects CUDA on NVIDIA cards or MPS on Apple Silicon and falls back to CPU automatically. A GPU makes separation noticeably faster, especially on longer tracks, but it isn't required to use the app.
Is it legal to run YouTube songs through StemDeck?
StemDeck can pull audio from a pasted YouTube URL, but the developer has been clear it's "a stem separation tool, not a downloader" — you're responsible for the copyright status of anything you process, the same as with any local audio tool.