Git Product home page Git Product logo

spleeter's Introduction

CircleCI PyPI - Python Version PyPI version Conda Docker Pulls Open In Colab Gitter chat status

About

Spleeter is the Deezer source separation library with pretrained models written in Python and uses Tensorflow. It makes it easy to train source separation model (assuming you have a dataset of isolated sources), and provides already trained state of the art model for performing various flavour 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 stems and 4 stems models have high performances on the musdb dataset. Spleeter is also very fast as 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 command line as well as directly in your own development pipeline as a Python library. It can be installed with Conda, with pip or be used with Docker.

Quick start

Want to try it out but don't want to install anything ? We have setup a Google Colab.

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 a detailed documentation, please check the repository wiki

Development and testing

The following set of commands will clone this repository, create a virtual environment provisioned with the dependencies and run the tests (will take a few minutes):

git clone https://github.com/Deezer/spleeter
python -m venv spleeterenv && source spleeterenv/bin/activate
pip install -r requirements.txt && pip install pytest pytest-xdist
make test

Reference

If you use Spleeter in your work, please cite:

@misc{spleeter2019,
  title={Spleeter: A Fast And State-of-the Art Music Source Separation Tool With Pre-trained Models},
  author={Romain Hennequin and Anis Khlif and Felix Voituret and Manuel Moussallam},
  howpublished={Late-Breaking/Demo ISMIR 2019},
  month={November},
  note={Deezer Research},
  year={2019}
}

License

The code of Spleeter is MIT-licensed.

Disclaimer

If you plan to use Spleeter on copyrighted material, make sure you get proper authorization from right owners beforehand.

Forks and related projects

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.

Troubleshooting

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

Windows users

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 by python -m spleeter separate in command line and it should work.

Contributing

If you would like to participate in the development of spleeter your 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 guidelines first.

Note

This repository include 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

spleeter's People

Contributors

faylixe avatar romi1502 avatar mmoussallam avatar doky avatar chrisdunaetz avatar marshalium avatar yusukegoto avatar martin1994 avatar robert-moore avatar alreadytaikeune avatar johnwmillr avatar valrus avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.