Image of music streams

Machine Learning in Linux: StemRoller – separate vocal and instrumental stems from songs

In Operation

We can run StemRoller in its development mode with the command:

$ npm run dev

The developer’s GitHub page gives the command $ npm run build:svelte && npm run start to run the program in production mode, but this only shows a blank window under both Ubuntu and Manjaro. For our testing, we used the development mode.

Here’s an image of StemRoller in development mode.


Start typing an artist and the software searches YouTube to present matches.

The interface is delightfully simple. Just click the split button, the software will download the file and then process it. If everything works fine, the newly created tab will change from Processing to Open. Click Open and your default file manager displays the 5 newly created WAV files. The software splits the track into Bass, Drums, Other, and Vocals WAVs, as well as creating an Instrumental WAV which contains all non-vocal stems mixed down into one track.

Alternatively, you can process local files.

To give a flavour of the time taken to process a local music file, we took a song with length 6 minute 24 seconds. With a 12th generation Intel CPU (i5-12400F) machine sporting a midrange graphics card (NVIDIA GeForce RTX 3060 Ti), the software took 58 seconds to process the file. Using only the CPU, processing the song took a whopping 607 seconds.


StemRoller offers a really easy way to make your own karaoke, vocal, and stem tracks from your favourite music. If you hate using the console, you’ll love StemRoller’s beautifully simple graphical interface. You’ve got the power of Demucs at your fingertips.

You’ll need a fairly beefy GPU to process music but that’s a necessity when using any machine learning software.

If you’ve got the production version running in Linux, please share your findings in the comments below.

Support: GitHub Code Repository
Developer: iffyloop
License: Public Domain or MIT License

StemRoller is written in Svelte and JavaScript. Learn JavaScript with our recommended free books and free tutorials.

Pages in this article:
Page 1 – Introduction and Installation
Page 2 – In Operation and Summary

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments