axeldelafosse/stemgen

demucs support proof of concept patch

awesomer opened this issue · 5 comments

Hi there! First of all, love stemgen and think it gives new life to the otherwise pretty dead NI stems format.

I've created a proof of concept kludge patch that shows that it can work with Facebook's "demucs" project, which has better separation results than spleeter and is also significantly easier to get running :

https://github.com/facebookresearch/demucs/

I've attached the proof of concept .patch file with a .txt extension so that github will allow it. As a proof of concept, it's not of sufficient quality to bother submitting it as a pull request. Ideally you could use the information contained within to modify stemgen to support both spleeter and demucs.

A notable caveat is that demucs' output always includes the model name and this cannot be modified via commandline options to demucs. That's why the paths look so ugly in this patch.

Thanks again and hope you find this informative and/or useful.

stemgen.patch.txt

Hey @awesomer! Thanks for sharing this patch and sorry for the delay-- I just saw your message.

Supporting demucs and adding it as an option has been on my to-do list for some time. I'll play with it this weekend!

OK I got excited by v3 so here you go: 426c343. This is very good! It's slower but the result is better 🎉 It's now the default

I had a similar reaction to how much better demucs v3 was than spleeter, and how trivial it was to get it working with my video card. Thanks for the feature add, super cool! Will test it out and let you know if I encounter any issues.👍

I actually don't have a NVIDIA card so I haven't added support for GPU. Feel free to add this as an option!

Demucs defaults to GPU-if-available, CPU-if-not.