Spleeter is a source separation library written in Python and utilizing Tensorflow, created by Deezer. It makes it easy to train source separation models (assuming you have a dataset of isolated sources), and provides already-trained state-of-the-art models for performing various flavours of separation:
- Vocals (singing voice) / accompaniment separation (2 stems)
- Vocals / drums / bass / other separation (4 stems)
- Vocals / drums / bass / piano / other separation (5 stems)
2 stem and 4 stem models have high performances on the musdb dataset. Spleeter is also very fast - it can perform separation of audio files to 4 stems 100x faster than real-time when run on a GPU.
We designed Spleeter so you can use it straight from the command line, as well as directly in your own development pipeline as a Python library. It can be installed with Conda, with pip or used with Docker.
Want to try out Spleeter but don't want to install anything? We have a Google Colab set up. Simply click the play button next to each command to run it on the Google Colab system. This will allow you to try separating the vocals and accompaniment stems from an example audio file.
Ready to dig into it? In a few lines you can install Spleeter using Conda and separate the vocal and accompaniment parts from an example audio file:
# install using conda
conda install -c conda-forge spleeter
# download an example audio file (if you don't have wget, use another tool for downloading)
wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3
# separate the example audio into two components
spleeter separate -i audio_example.mp3 -p spleeter:2stems -o output
You should get two separated audio files (vocals.wav
and accompaniment.wav
) in the output/audio_example
folder.
For detailed documentation, please check the repository wiki
The following set of commands will clone this repository, create a virtual environment provisioned with the dependencies and run the tests (Which will take a few minutes):
git clone https://github.com/Deezer/spleeter && cd spleeter
python -m venv spleeterenv && source spleeterenv/bin/activate
pip install . && pip install pytest pytest-xdist
make test
- Deezer Research - Source Separation Engine Story - deezer.io blog post:
- Music Source Separation tool with pre-trained models / ISMIR2019 extended abstract
If you use Spleeter in your work, please cite:
@article{spleeter2020,
doi = {10.21105/joss.02154},
url = {https://doi.org/10.21105/joss.02154},
year = {2020},
publisher = {The Open Journal},
volume = {5},
number = {50},
pages = {2154},
author = {Romain Hennequin and Anis Khlif and Felix Voituret and Manuel Moussallam},
title = {Spleeter: a fast and efficient music source separation tool with pre-trained models},
journal = {Journal of Open Source Software},
note = {Deezer Research}
}
The code of Spleeter is MIT-licensed.
If you plan to use Spleeter on copyrighted material, make sure you get proper authorization from right owners beforehand.
As is commonly the case with open-source projects, there are multiple forks exposing Spleeter through either a Guided User Interface (GUI) or a standalone free or paying website. Please note that we do not host, maintain or directly support any of these initiatives.
Spleeter is a complex piece of software and although we continously try to improve and test it, you may encounter unexpected issues running it. If that's the case, please check the FAQ page first, as well as the list of currently open issues.
It appears that sometimes the shortcut command spleeter
does not work properly on windows. This is a known issue that we will hopefully fix soon. In the meantime replace spleeter separate
with python -m spleeter separate
in the command line and it should work.
If you would like to participate in the development of Spleeter you are more than welcome to do so. Don't hesitate to throw us a pull request and we'll do our best to examine it quickly. Please check out our contributing guidelines first.
This repository includes a demo audio file audio_example.mp3
which is an excerpt
from Slow Motion Dream by Steven M Bryant (c) copyright 2011 Licensed under a Creative
Commons Attribution (3.0) license
Ft: CSoul,Alex Beroza & Robert Siekawitch