Repolode
deezer

deezer/spleeter

Python library and CLI from Deezer that splits songs into vocals, drums, bass and other stems using pretrained models.

Open-source alternative to:iZotope RX

Stars
28,517
Forks
3,048
Open issues
278
Last commit
10 days ago

What is it?

Spleeter is a music source separation library released by Deezer, written in Python and built on TensorFlow. It takes a mixed audio file and separates it into individual stems: a 2-stem model splits vocals from accompaniment, a 4-stem model adds drums and bass, and a 5-stem model also isolates piano.

It can be used from the command line with the spleeter separate command, or called directly from Python code in a processing pipeline. Installation is supported through pip and Docker, and the project also provides a Colab notebook for trying it without local setup.

The library also includes tooling for training separation models when you have a dataset of isolated sources. It requires ffmpeg and libsndfile for audio handling.

Key features

  • 01Separates audio into 2, 4 or 5 stems using pretrained models
  • 02Usable from the command line or as a Python library
  • 03Installable via pip or Docker
  • 04Includes support for training models on your own isolated-source dataset
  • 05Provides a Google Colab notebook for trying it without setup

Use cases

  • Extracting vocals or an instrumental track from a song for remixing or karaoke
  • Isolating drums and bass for music production or sampling
  • Batch-processing a music library in an automated pipeline
  • Building a source separation feature into an audio application

Quick start

  1. 1

    Install ffmpeg and libsndfile with Conda

    conda install -c conda-forge ffmpeg libsndfile
  2. 2

    Install Spleeter with pip

    pip install spleeter
  3. 3

    Download the example audio file

    wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3
  4. 4

    Separate the example audio into vocals and accompaniment

    spleeter separate -p spleeter:2stems -o output audio_example.mp3

Things to know

  • Version 2.1.0 introduced breaking changes, including new CLI input options and the removal of the dedicated GPU package.
  • There are known issues on Apple M1 chips, mostly due to TensorFlow compatibility.
  • The spleeter command may not work on Windows, where python -m spleeter is the workaround.

Topics

FAQ

What is spleeter?
Python library and CLI from Deezer that splits songs into vocals, drums, bass and other stems using pretrained models. Spleeter is a music source separation library released by Deezer, written in Python and built on TensorFlow. It takes a mixed audio file and separates it into individual stems: a 2-stem model splits vocals from accompaniment, a 4-stem model adds drums and bass, and a 5-stem model also isolates piano.
Is spleeter free to use? What license does it have?
spleeter is open source under the MIT license. Check the license terms before using it in commercial products.
Is spleeter still maintained?
Actively maintained. The last commit to spleeter was on Oct 28, 2026.
What can I use spleeter for?
Extracting vocals or an instrumental track from a song for remixing or karaoke Isolating drums and bass for music production or sampling Batch-processing a music library in an automated pipeline Building a source separation feature into an audio application
How do I install spleeter?
Install ffmpeg and libsndfile with Conda: conda install -c conda-forge ffmpeg libsndfile Install Spleeter with pip: pip install spleeter Download the example audio file: wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3 Separate the example audio into vocals and accompaniment: spleeter separate -p spleeter:2stems -o output audio_example.mp3
Where can I get spleeter?
The source code and installation instructions are on GitHub: https://github.com/deezer/spleeter

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects