All Projects → deezer → Spleeter

deezer / Spleeter

Licence: mit
Spleeter is 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 :

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
TeX
3793 projects
Jupyter Notebook
11667 projects
shell
77523 projects

Projects that are alternatives of or similar to Spleeter

strumpract
Various tools for musicians.
Stars: ✭ 20 (-99.89%)
Mutual labels:  drums, bass
SpleeterRT
Real time monaural source separation base on fully convolutional neural network operates on Time-frequency domain.
Stars: ✭ 111 (-99.39%)
Mutual labels:  model, audio-processing
Cv Pretrained Model
A collection of computer vision pre-trained models.
Stars: ✭ 995 (-94.51%)
Mutual labels:  model, pretrained-models
pedalevite
Pédale Vite — DIY multi-FX pedalboard for guitar/bass/etc.
Stars: ✭ 68 (-99.62%)
Mutual labels:  bass, audio-processing
acclimate
Acclimate - an agent-based model for economic loss propagation
Stars: ✭ 17 (-99.91%)
Mutual labels:  model
ypc
Convert text/spotify/deezer albums/playlists to youtube urls and audio/video files.
Stars: ✭ 17 (-99.91%)
Mutual labels:  deezer
mi-prometheus
Enabling reproducible Machine Learning research
Stars: ✭ 41 (-99.77%)
Mutual labels:  model
netpd-instruments
instruments (synths, sequencers, utilities, etc) to be used with netpd
Stars: ✭ 18 (-99.9%)
Mutual labels:  audio-processing
Tensorflow Model Zoo.torch
InceptionV3, InceptionV4, Inception-Resnet pretrained models for Torch7 and PyTorch
Stars: ✭ 280 (-98.46%)
Mutual labels:  pretrained-models
Nara wpe
Different implementations of "Weighted Prediction Error" for speech dereverberation
Stars: ✭ 265 (-98.54%)
Mutual labels:  audio-processing
modelina
Library for generating data models based on inputs such as AsyncAPI, OpenAPI, or JSON Schema documents.
Stars: ✭ 55 (-99.7%)
Mutual labels:  model
DuME
A fast, versatile, easy-to-use and cross-platform Media Encoder based on FFmpeg
Stars: ✭ 66 (-99.64%)
Mutual labels:  audio-processing
Bert Squad
SQuAD Question Answering Using BERT, PyTorch
Stars: ✭ 256 (-98.59%)
Mutual labels:  pretrained-models
regnet.pytorch
PyTorch-style and human-readable RegNet with a spectrum of pre-trained models
Stars: ✭ 50 (-99.72%)
Mutual labels:  pretrained-models
Sequelizer
A GUI Desktop App for export sequelize models from database automatically.
Stars: ✭ 273 (-98.49%)
Mutual labels:  model
fireo-nodejs
Google Cloud Firestore modern and simplest convenient ORM package in NodeJs. FireO is specifically designed for the Google's Firestore
Stars: ✭ 22 (-99.88%)
Mutual labels:  model
redux-spring
基于 redux 模块化框架
Stars: ✭ 20 (-99.89%)
Mutual labels:  model
Mgm
Mongo Go Models (mgm) is a fast and simple MongoDB ODM for Go (based on official Mongo Go Driver)
Stars: ✭ 265 (-98.54%)
Mutual labels:  model
blade-player
Android music player that plays from local library, Spotify or Deezer
Stars: ✭ 67 (-99.63%)
Mutual labels:  deezer
eloquent-ffmpeg
High-level API for FFmpeg's Command Line Tools
Stars: ✭ 71 (-99.61%)
Mutual labels:  audio-processing

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

⚠️ Spleeter 2.1.0 release introduces some breaking changes, including new CLI option naming for input, and the drop of dedicated GPU package. Please read CHANGELOG for more details.

About

Spleeter is 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 pip or be used with Docker.

Projects and Softwares using Spleeter

Since it's been released, 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.

That being said, many cool projects have been built on top of ours. Notably the porting to the Ableton Live ecosystem through the Spleeter 4 Max project.

Spleeter pre-trained models have also been used by professionnal audio softwares. Here's a non-exhaustive list:

🆕 Spleeter is a baseline in the ongoing Music Demixing Challenge!

Quick start

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

Ready to dig into it ? In a few lines you can install Spleeter and separate the vocal and accompaniment parts from an example audio file. You need first to install ffmpeg and libsndfile. It can be done on most platform using Conda:

# install dependencies using conda
conda install -c conda-forge ffmpeg libsndfile
# install spleeter with pip
pip install 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 -p spleeter:2stems -o output audio_example.mp3

⚠️ Note that we no longer recommend using conda for installing spleeter.

⚠️ There are known issues with Apple M1 chips, mostly due to TensorFlow compatibility. Until these are fixed, you can use this workaround

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

This project is managed using Poetry, to run test suite you can execute the following set of commands:

# Clone spleeter repository
git clone https://github.com/Deezer/spleeter && cd spleeter
# Install poetry
pip install poetry
# Install spleeter dependencies
poetry install
# Run unit test suite
poetry run pytest tests/

Reference

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}
}

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.

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 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 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].