Stems separation software

I’m just trying out Spleeter Gui for the first time.

It includes a portable version of Python and FFMPEG, so there should be no headaches with that stuff. Dead simple to use. Select the stems set you want, select an output folder, drag and drop a stereo file (mp4 works fine, by the way), and wait a minute for it to do it’s thing. Cool stuff.

Hopefully it does well for extracting backing tracks to play along with and for extracting parts to learn from.

I’ve never tried the AI stem separation thing, last time I saw it the folks over at Tracktion/Waveform were releasing a new version of their DAW with it. What’s the quality like?

Individual stem quality isn’t great. Stems sum to the original, but bits of the frequency spectrum of one stem are missing but present somewhere in the other stems. But for the purpose of isolating parts well enough for learning and having some backing tracks to play to, it can definitely be good enough. So, good as a learning tool. Not so good for cancelling a part and replacing it with your own for a production.

And how I understand it, Spleeter is what is used by Izotope RX10 Advanced for separation, which costs $1200.

The other popular demixers are Demucs and Moises, which supposedly give higher quality. I haven’t tried the others yet. Spleeter Gui looked easy enough and hassle free in terms of Python. Having limited time, I went for that.

A comparison video:

Stem separation tools comparison: Spleeter vs Moises vs Demucs

If what I’m reading is right, the commercial demixers (and pay sites) are using one of the above.

Commercial demixers comparison video:

Ultimate Music Unmixing Battle: SPECTRALAYERS 10 vs ACOUSTICA vs RX vs LALAL.AI

Interesting, thanks. So Spectralayers came out top in those tests at least. Spectralayers Elements is only £69 and does the unmix song thing, but not the more advanced unmix drums/multichannel content/multiple voices of the full version.

There is a comparison table here with accuracy ratings. See HT Demucs at the bottom of the table: demucs · PyPI

And there are binaries for a gui version of Demucs (with HT Demucs) here: Releases · CarlGao4/Demucs-Gui · GitHub

I gave that one a go, and it does give significantly cleaner separation than Spleeter. It is slower to get there, but I haven’t tried the Cuda version binary yet which will likely be pretty quick.

Edit: Ran the Cuda version, and it took about 6 seconds with my old GTX 1070 TI. So I guess HT Demucs Cuda version it is. I’ll look around later to see if there are parameters for separating guitars from one another, which would be super nice to have (edit: see below).

I’m reading that the best preset model to select is htdemucs_ft. It seems good, but I didn’t notice a big difference without directly comparing to the default preset model, htdemucs. And htdemucs_ft is quite a bit slower.

And from what I’m reading, separating guitars from one another is a hard problem that isn’t solved yet.

What about separating guitars from the rest?
Which is the best one for that?

For whatever reasons, all these demixers look to do 4 stems separation. Vocal, other, bass, and drums. So far Demucs sounds best to me. Maybe some of the commercial products based on them go further.