Spleeter By Deezer

broken image


Nov 05, 2019 The software is called Spleeter and was developed by music streaming service Deezer for research purposes. Yesterday the company released it as an open-source package, putting the code up on Github. Spleeter is the Deezer source separation library with pretrained models written in Python and using Tensorflow. It makes it easy to train music 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. The models available are. Cisco webex microsoft teams integration.

Released on october 29th 2019, the Spleeter (https://github.com/deezer/spleeter) github repository received more than 5000 stars on its first week online and numerous positive feedbacks as well as press coverage. This talk will explain how we went from research code to this fairly easy to use open Python library, that integrates pre-trained models for inference and re-training.

While not a broadly known topic, the problem of source separation has interested a large community of music signal researchers for a couple of decades now. It starts from a simple observation: music recordings are usually a mix of several individual instrument tracks (lead vocal, drums, bass, piano etc.). The task of music source separation is: given a mix can we recover these separate tracks (sometimes called stems)? This has many potential applications: think remixes, upmixing, active listening, educational purposes, but also pre-processing for other tasks such as transcription.

Spleeter By Deezer Mac

The current state-of-the-art systems start to give convincing results on very wide catalogs of tracks, but the possibility of training such models remains largely bound by training data availability. In the case of copyrighted material like music, getting access to enough data is a pain point, and a source of inequality between research teams. Beside, an essential feature of good scientific research is that it must be reproducible by others. For these reasons and to even the playing field, we decided to not only release the code, but also our models pretrained on a carefully crafter in-house dataset.

Specific topics on which our presentation will dwell on are:- technical aspects of the models architecture and training- software design, and how to leverage tensorflow's API in a user facing python library- how to package and version a code that leverages pre-trained models and that can be run on different architectures: CPU and GPU.- licensing and legal concerns- what we learned along the way- legacy

Spleeter GUI - help

The good folks over at Deezer where nice enough to have released Spleeter for anyone to use freely, But python can be tricky to get working.
This Graphical User Interface project was created as a way to make Spleeter easier to use.
Spleeter is a Python application that uses an Artifical Inteligence called Tensorflow. It is quite resource hungry and requires a modern computer to run.
Please do not email Deezer

Spleeter Deezer Online

about problems with this project.
If you have any issues that are not resolved by the following help articles please create an issue here https://github.com/boy1dr/SpleeterGui/issues and i'll see if i can help.
Intel Pentium & Celeron CPU's cannot run spleeter
If you are not running an intel i5/7/9 or Ryzen 5/7 or unsure if your CPU supports AVX, please use the AVXcheck utility before trying to install or run spleeter.

Common problems

    #1: ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.
    Failed to load the native TensorFlow runtime.
    TLDR; TensorFlow is unable to run because your CPU does not support it.
    There is a problem with the python package 'TensorFlow', it is not able to run on your computer.
    Your CPU model does not support AVX instruction sets.
    Intel Pentium & Celeron CPU's cannot run spleeter.
    With SpleeterGUI 2.5 and up there is a spleeter core update function in the menu bar at the top click 'Help' then 'Spleeter core upgrade'.
    This should make python's package manager complete the installation and correct any faults with the installation.
    Some more information can be found here https://github.com/tensorflow/tensorflow/issues/31033
    #2: The output folder contains separate part files but they are all the same.
    SpleeterGUI is comes packaged with everything except the pre-trained model files, these are fetched when you first run each parts mode (2stem, 4stem, 5stem).
    Once each of these have downloaded there are no further downloads required.
    If all your output files are the same then this download process by Python has been blocked by anti-virus or firewall.
    Ensure Python can download and try again.
    Similar to the above problem #2.
    When python downloaded the pretrained model files something went wrong.
    The fix is to delete them and run it again.
    Go to C:UsersAppDataRoamingSpleeterGUIpretrained_models And delete the 2stem, 4stem, 5stem folders.
    You need to install vc_redist.x64 from Microsoft
    Choose vc_redist.x64.exe

Frequent questions

    SpleeterGUI now comes with all files required to run.
    Previous versions did not come with the pretrained model files because they added too much to the initial installer, but this proved to be problematic since Python needed permission to download and some anti-virus/anti-malware software blocked it (see common problems 2&3)
    #2: Some output stems have a click in the beginning
    There is a bug in the spleeter software that causes a click in the first frame of audio, Deezer is aware of the problem and a fix should be coming soon.
    Spleeter versions starting 1.5.1 up to current (at time of writing) 1.5.4 are known to have this.
    When a fix is applied by Deezer you can upgrade your spleeter version by clicking 'Help -> Spleeter core update'.
    If you would like to downgrade your spleeter version to 1.4.3, prior to the pop/click issue, download this python folder
    and replace the python folder here C:UsersAppDataRoamingSpleeterGUI

    My GUI project will only run on windows, Perhaps try https://github.com/Andrew5Pun/Spleet-It.

    You can still run Spleeter by typing commands in to terminal if you know how..
    Video tutorial can be found here https://www.youtube.com/watch?v=cFj5heNlW98


Installing NVidia CUDA version

    ** ADVANCED USERS ONLY **

    You are likely to run in to problems with this, be sure to google the errors you get to resolve problems for your hardware.
    Settup up the NVidia environment

      Install the CUDA SDK version 10.0(Must be this version)
      https://developer.nvidia.com/cuda-10.0-download-archive
      You will also need the Deep Neural Network library (cuDNN) which requires an NVidia membership (free)
      https://developer.nvidia.com/rdp/cudnn-download#a-collapse765-10
      Be sure to get cuDNN V7.6.5 for CUDA 10.0

    Settup up python/spleeter
      Then run these commands from C:UsersAppDataRoamingSpleeterGUIpython
      python -m pip uninstall spleeter
      python -m pip install spleeter-gpu

    At the time or writing, spleeter uses tensorflow-gpu 1.15.2
    I will update this if spleeter updates the tensorflow package used.
    CUDA versions for tensorflow
    tensorflow-gpuCUDAcuDNN
    1.15.210.07.6.5
    Remember, Google is your friend.
    To undo the above install use these commands
    python -m pip uninstall spleeter spleeter-gpu tensorflow
    python -m pip install spleeter

Recomended computer specs

  • Intel i5 (4th gen+)
  • 8GB ram
  • Windows 10 64bit
  • Nvidia GTX1050 or better (if using CUDA method)

Tested hardware that works fine

  • Intel i5 4460, 8GB ram, GTX1660ti
  • Intel i7 7700, 16GB ram, GTX1060
  • Ryzen 5 3600, 32GB ram, GTX1660ti
Not recomended
  • Intel Celeron CPU
  • Windows 32bit
  • Windows 7
  • Windows XP
  • Computers purchased prior to ~2011

How to use

Spleeter ai online
Download and run the installer. Then double click the SpleeterGUI.exe desktop shortcut to run it.
  • Parts to separate (Vocal / Accompaniment / Bass etc)
  • Recombine Choose which stems to mix back together (useful if you are learning drums and just want the drums removed from a bunch of songs)
  • Full bandwidth: This enables full quality processing but results will vary depending on the song.
  • Save to: Click the button and choose a place for the separated songs to be placed.
  • Select 1 or more songs and drag them in to the application to begin processing.

For SpleeterGUI versions prior to 2.6..

The first time it processes a song there will be a delay while spleeter downloads some resource files.
If there are no files in the output folder or you see error messages then something has gone wrong. The most usual case is your computer has not met the minimum requirements to run spleeter.
If you are having troubles, Please check https://github.com/boy1dr/SpleeterGui/issues to see if the anser is there otherwise create a new issue and i'll check it out.



broken image