explaingit

deezer/spleeter

28,203PythonAudience · developerComplexity · 2/5StaleLicenseSetup · moderate

TLDR

Python library that splits songs into separate audio tracks (vocals, drums, bass, etc.) using pre-trained AI models. Works from command line or as a library.

Mindmap

mindmap
  root((Spleeter))
    What it does
      Splits audio tracks
      Separates vocals instruments
      Creates stem files
    How to use
      Command line tool
      Python library
      Docker container
    Models available
      2-stem vocals
      4-stem vocals drums
      5-stem with piano
    Tech stack
      TensorFlow
      Python
      GPU acceleration
    Use cases
      Remixing songs
      Karaoke creation
      Music analysis

Things people build with this

USE CASE 1

Create karaoke versions of songs by isolating and removing vocals.

USE CASE 2

Remix or rebalance a song by adjusting individual instrument levels.

USE CASE 3

Analyze music composition by examining separated vocal and instrumental tracks.

USE CASE 4

Extract clean vocal or instrumental stems for sampling or music production.

Tech stack

PythonTensorFlowGPU/CUDA

Getting it running

Difficulty · moderate Time to first run · 30min

GPU/CUDA setup required for reasonable performance; CPU-only fallback available but slow.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Spleeter is a tool from the music streaming company Deezer that takes a finished song and pulls it apart into its separate ingredients: the singing voice, the drums, the bass, and so on. This kind of operation is called source separation, because the original recording is one mixed-down sound file and the goal is to recover the individual sources that went into it. Spleeter comes with pretrained models, meaning the heavy work of teaching a computer to recognise voices and instruments has already been done and you just download and use the result. The project offers three flavours of separation: two stems (vocals and everything else), four stems (vocals, drums, bass, other), and five stems (vocals, drums, bass, piano, other). Under the hood it uses Tensorflow, a popular machine-learning framework, and the README says it can produce four-stem separation about a hundred times faster than real time when running on a graphics card. You can use Spleeter from the command line, where one command turns a song file into a folder of split tracks, or call it from your own Python code as a library. It can be installed with pip, used through Docker, or tried out in a hosted Google Colab notebook without installing anything. This is useful if you want to make a karaoke version of a song by removing the vocals, isolate a drum track for sampling, or build any application that needs the individual parts of a recording. The README warns that you should still get permission from the rights holders before processing copyrighted material. The codebase is Python and the project is MIT-licensed. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Show me how to install Spleeter and split a song into 4 stems (vocals, drums, bass, other) using the command line.
Prompt 2
Write Python code that uses Spleeter to separate an audio file into vocals and accompaniment, then save the stems as separate MP3 files.
Prompt 3
How do I run Spleeter inside Docker to process audio files without installing TensorFlow locally?
Prompt 4
What are the differences between Spleeter's 2-stem, 4-stem, and 5-stem models, and which should I use for my remix project?
Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.