🇬🇧 Home

Spleeter - my tutorial for isolating stems with AI, without paying money to scammers, THE EASIEST WAY

Streaming service Deezer not only streams music but also sells ai models to isolate stems from mixed tracks. Even better - their "research" model is free and available publically on github.

Google search for "online ai stem" will point you to ezstems.com, ezstems.com,splitter.ai and more. All are selling the exact same thing - extracting acapellas and isolated tracks from a mixed song WITH AI.

I won't be surprised if they all are using the spleeter model through their ui, or at least based their model on the spleeter model. I wouldn't care how it works if it was free but it's not - all the "free versions" are barely functional or not functional at all. Instead of payin to potential scammers i have another suggestion.

Lets run Spleeter ourselves

First i found https://github.com/deezer/spleeter. The "easy three steps" procedure is:

  • install Conda
  • install their spleeter package
  • profit?!?

I'm not a data scientist, not a python dude either, yet on two different machines: windows PC and an OSX macbook it just did not work for me. Somewhere in the middle of package install some dependencies cant be resolved, and once stuff is done installing - nothing is installed.

After some yelling in front of the screen i resorted to plan-b

Lets run it in Docker!

Whats docker or how to set it up - all covered online. I'll get straight to it:

First docker image for deezer google pointed me to was spleeter-web - spleeter wrapped into a webapp ui!

Sounds awesome! Great stuff! Didn't work for me.

Tensor flow isn't able to find the model files inside, and i can't see if they're even getting downloaded by cli or anything like it in the console output. Might work for someone, didn't work for me.

Wanna go SIMPLE? - Go with the official docker image. its a bit hidden and outdated at the moment, but it works.

Docs are here: https://github.com/deezer/spleeter/wiki/2.-Getting-started#using-docker-image

Once your docker is up and running

  1. Create a /spleeter/ folder somewhere on your machine. Mine is in the root. Inside create models, in and out folders
  2. Put your mp3 or wav file into the in folder
  3. In Docker UI go Settings->Advanced->Resources and make sure memory is set to 4GB. 4GB is a minimal requirement and the default 2GB will silently crash for 4-stem and 5-stem models.
  4. run the script
export AUDIO_IN='/spleeter/in'
export AUDIO_OUT='/spleeter/out'
export MODEL_DIRECTORY='/spleeter/models'

docker run \
    -v $AUDIO_IN:/input \
    -v $AUDIO_OUT:/output \
    -v $MODEL_DIRECTORY:/model \
    -e MODEL_PATH=/model \
    researchdeezer/spleeter separate \
    -i /input/test.mp3 \
    -o /output \
    -p spleeter:4stems-16kHz --verbose 

test.mp3 -is the filename in your in folder, 4stems-16kHz - a model for extraction. Other variants are listed in official docs i've linked earlier

You're good to go!

Send me your new REMIXES and SAMPLE PACKS! Happy new 2021 to everyone

14-01-2021, deezer, spleeter, docker, tutorial