~100× faster than real time on one GPU. That’s Spleeter’s actual design win. The JOSS write-up (Hennequin et al., 2020) ran the full musdb18 test set – about 3.5 hours of audio – into 4 stems in under two minutes on an RTX 2080. Most “what is stem separation” posts bury that number. This page doesn’t.
Goal: get Spleeter 2.4.2 (current PyPI release per the project CHANGELOG, as of that file) running locally. Specs, install commands, a hard verify step, then the error strings that show up in the official FAQ and GitHub – not a karaoke walkthrough.
System requirements for Spleeter 2.4.2
Changelog line that matters: 2.4.2 adds Python 3.11 and drops 3.7. The 2.3.x line had already pushed toward 3.9/3.10 and off 3.6. Fresh venv. Don’t bolt this onto a random system interpreter.
| Resource | Minimum | Recommended |
|---|---|---|
| OS | Linux, macOS, or Windows 10/11 64-bit | Linux (fewer TF/ffmpeg PATH fights) |
| Python | 3.8-3.11 (skip 3.7; treat 3.11 as supported but test once) | 3.10 or 3.11 in a venv |
| RAM | ~4-8 GB free (2stems can run leaner) | 16 GB+; 5stems often peaks ~6 GB+ (community reports) |
| CPU | Modern multi-core x86_64 | 8+ cores if you stay CPU-only |
| GPU | Optional (NVIDIA + working CUDA/TF stack) | Any recent NVIDIA TF actually detects |
| Disk | A few GB for package + one model | 5-10 GB free for weights + WAV out |
| Deps | ffmpeg on PATH | ffmpeg + libsndfile (evaluation only) |
ffmpeg is mandatory before pip – that’s straight from the install wiki. Conda is fine for shipping those native binaries. The project no longer wants conda as the way you install Spleeter itself.
Official download source
- Code & docs:github.com/deezer/spleeter
- Package:pypi.org/project/spleeter → pin
spleeter==2.4.2 - Method/speed paper:Hennequin et al., JOSS 2020
- Docker:
deezer/spleeteron Docker Hub – image timestamps are years old. Convenience only; not a substitute for PyPI 2.4.2.
Skip random GUI rebundles unless you trust their Python pin. You’re deploying the library, not someone else’s skin.
Install Spleeter 2.4.2 (pip – recommended)
Isolated env. ffmpeg on PATH. Then the pin.
# Debian/Ubuntu-style ffmpeg
sudo apt-get update && sudo apt-get install -y ffmpeg
# optional: conda only for native libs
# conda install -c conda-forge ffmpeg libsndfile
python3 -m venv ~/venvs/spleeter24
source ~/venvs/spleeter24/bin/activate # Windows: .venvsspleeter24Scriptsactivate
python -m pip install --upgrade pip
pip install spleeter==2.4.2
Windows: static ffmpeg build, bin on PATH, then pip. Apple Silicon? TensorFlow wheels have been a long-running mess – README points at issue #607. A lot of people stop fighting and use Docker x86 or a Linux box.
The catch is Docker’s CLI age. Hub tags lag PyPI; old entrypoints may still document -i. If you containerize anyway, mount input, output, and a model directory so weights aren’t re-pulled every run:
export AUDIO_IN="$PWD/in" AUDIO_OUT="$PWD/out" MODEL_DIRECTORY="$PWD/models"
mkdir -p "$AUDIO_IN" "$AUDIO_OUT" "$MODEL_DIRECTORY"
docker run --rm
-v "$AUDIO_IN":/input -v "$AUDIO_OUT":/output -v "$MODEL_DIRECTORY":/model
-e MODEL_PATH=/model
deezer/spleeter separate -o /output /input/your_track.mp3
First-time configuration
No config file for plain inference. First successful separate drops weights under pretrained_models/ (or MODEL_PATH in Docker).
Presets via -p: spleeter:2stems, spleeter:4stems, spleeter:5stems, plus *-16kHz variants when you care about content above ~11 kHz (base models top out around there per the getting-started docs).
Pro tip: One
spleeter separatecall, many file paths. Model load/download dominates short tracks. Don’t pay that cost per file.
Verify the install works
--version exists since 2.2.0. Inputs are positional since 2.1.0 – trailing paths, not a flag salad.
spleeter --version
# Windows shortcut broken? common:
python -m spleeter --version
# smoke test on any short mix you already have
spleeter separate -p spleeter:2stems -o output /path/to/short_mix.mp3
ls output/short_mix/
# expect: vocals.wav accompaniment.wav
First run sits on the network while weights come down from GitHub releases. Two WAVs that actually differ from the mix = green. People often wire this into Demucs stacks or a web UI later – get the CLI path honest first.
Common install errors and fixes
Strings from the official FAQ and recurring issues – not “check your wifi.”
ffprobe/ audio won’t load: ffmpeg missing, not on PATH, bad path, or odd codec. Runffprobe yourfile.mp3alone first.Fatal error in launcher/ barespleetermissing (Windows):python -m spleeter separate ...- No stems, process just dies: RAM kill. FAQ’s “no output” case. Retry
-d 30(first 30 seconds) or free memory. 5stems on a busy 8 GB box is asking for it – peaks around 6 GB+ show up in issue discussions. - Stems identical to the mix, or
Can't load save_path when it is None: broken model fetch. Delete the partialpretrained_modelstree and re-run, or pull the archive from the project’s GitHub releases by hand. Failed to load the native tensorflow runtime: TF wheel ≠ your CPU/GPU/OS. Match TF to the machine, finish the CUDA stack for GPU, or stay on CPU/Docker.- Tutorials still showing
-i: removed from the supported CLI in 2.1.0. Trailing file args only.
Think of the first separate as a silent network install. Fetch flakes, and the CLI can still “succeed” by writing useless copies of the mix. Listen once – or checksum against the source.
Upgrade and uninstall
source ~/venvs/spleeter24/bin/activate
pip install -U spleeter==2.4.2
spleeter --version
Pre-2.1 scripts need a rewrite pass: drop -i, and stop installing spleeter-gpu – that package died in 2.1.0; one spleeter wheel covers CPU and GPU. On-disk models usually survive a bump. Load errors after a major jump? Wipe pretrained_models and let them repopulate (same fix as a bad first download).
pip uninstall spleeter
deactivate
rm -rf ~/venvs/spleeter24
rm -rf pretrained_models # optional cached weights; path follows cwd/env
docker rmi deezer/spleeter # if you pulled Hub images
FAQ
Which Python version should I use with Spleeter 2.4.2?
3.10 or 3.11 in a clean venv. Skip 3.7. Leave system 3.12+ alone until the pins move.
Pip or Docker for production-ish stem separation AI?
Pip 2.4.2 on Linux matches current packaging. Picture a small batch box: ffmpeg, 16 GB RAM, nightly cron on spleeter separate -p spleeter:4stems -o /data/out /data/in/*.wav. Docker when the host is locked down – but you own behavior testing, because Hub tags lag and may still describe the old CLI.
Why do people say Spleeter is “dead” if 2.4.2 installs fine?
Maintenance is slow. Newer nets (Demucs and friends) often win on quality. That is not the same claim as “won’t install.” Throughput and low ceremony still matter for bulk jobs and teaching pipelines. Whether you need Spleeter’s speed or a heavier modern model is an ears-and-SDR question – not a Twitter one.
Next: create the venv, pip install spleeter==2.4.2, run a 2stems separate on a short file you control, and confirm vocals.wav exists before you touch catalog audio.