
Spleeter
Python library and command-line tool that splits music into vocals, drums, bass and other tracks.
- Stars
- 28.5k
- Forks
- 3k
- Licence
- MIT
- Language
- Python
- Last update
- 9 days ago
- Type
- Library
What it is
Spleeter is an open-source Python library from Deezer that separates a song into separate stems, such as vocals and accompaniment, using pretrained TensorFlow models. You can run it from the command line or call it from your own Python code. People use it to make karaoke tracks, isolate parts of a recording, or build audio tools on top of it.
- Split a song into vocals and accompaniment with one command using the 2stems model
- Separate a track into vocals, drums, bass and other using the 4stems model
- Use the 5stems model to also isolate piano
- Call the Separator from a Python script to process many files in a batch
Great for
- Musicians or producers who want quick vocal or accompaniment separation from a song
- Developers adding stem separation to an audio pipeline in Python
- Researchers who want a baseline model or want to train their own separation models from isolated sources
- Users comfortable installing Python packages and using a terminal
Not ideal for
- People who want a point-and-click app with no setup, since the README centers on pip, Docker and the command line
- Anyone needing commercial-grade results with support, since the README points to a separate paid Spleeter Pro product for that
- Users on Apple M1 chips without the README's suggested workaround, since the README notes known TensorFlow compatibility issues there
How to get it
- 1
Install with a package manager
You'll need: Python (exact version not stated in the README excerpt; see the PyPI package) · ffmpeg · libsndfile · TensorFlow (installed as a dependency; version not stated in the README excerpt)
Install ffmpeg and libsndfile (the README says this is the way to do it on most platforms)
conda install -c conda-forge ffmpeg libsndfileInstall spleeter with pip
pip install spleeterClone the repository (for development and tests)
git clone https://github.com/Deezer/spleeter && cd spleeter - 2
Run it
- Install ffmpeg and libsndfile, then install spleeter with pip
- Download the example file audio_example.mp3 from the repository, or use your own audio file
- Run: spleeter separate -p spleeter:2stems -o output audio_example.mp3
- Find vocals.wav and accompaniment.wav in the output/audio_example folder
- 3
Get the most out of it
- Use the 4stems or 5stems models if you need drums, bass or piano as separate tracks, not just vocals
- Use it from Python with the Separator API described in the project wiki when you need batch processing
- On Windows, follow the README's workaround and run python -m spleeter separate if the spleeter command fails
- Check the wiki's Separation Performances page and the FAQ for details the README links to but does not show
Downloads
Strengths
- Ships several pretrained models for 2, 4 and 5 stem separation, so no training is needed to start
- Usable both as a command-line tool and as a Python library, and available through pip or Docker
- MIT-licensed code with a long track record and a peer-reviewed software paper cited in the README
Trade-offs
- The README notes known issues: the spleeter shortcut command may fail on Windows, and Apple M1 chips may need a workaround
- Version 2.1.0 introduced breaking CLI changes and dropped the dedicated GPU package, so older tutorials may not match current usage
- The README says separated audio is only as legitimate as your rights to the source, and warns to get authorization for copyrighted material
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| spleeter (this) | 28.5k | Library | intermediate | 9 days ago | Musicians or producers who want quick vocal or accompaniment separation from a song |
| demucs | 10.4k | AI model / agent | beginner | 2.5 years ago | Musicians who want to isolate vocals or drums from a song for practice or remixing |
| nni | 14.4k | Library | intermediate | 2.3 years ago | Researchers comparing hyperparameter tuning algorithms such as TPE, Hyperband, or Bayesian methods |
| netron | 33.6k | App | beginner | 4 days ago | Engineers who need to check a model's layers and tensor connections before deploying it |
| onnxruntime | 22.2k | Library | intermediate | 4 days ago | Developers who want to deploy a trained model inside an application or service |
| wandb | 11.3k | Library | beginner | 4 days ago | Machine learning engineers who want to compare training runs over time |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.