Stem file generator.

Convert any track into a Stem and have fun with Traktor.

python3 track.wav


Getting started

Learn how to get started with Stemgen.


Step-by-step guides to setting up your system and installing Stemgen.


Learn how to use all the advanced features of Stemgen.

A Stem file is an open, multi-channel audio file that contains a track split into four musical elements – bass, drums, vocals, and melody, for example. With each element available independently, you have more control over the music you play.

Stemgen uses demucs to separate the 4 stems and a fork of ni-stem to create the Stem file.

Screenshot Before Screenshot After

Our new file contains four stems: drums, bass, other (melody) and vocals.


There is a really big difference between using a tool, a computer as a tool, to make it do specific things we want it to do, in the manner in which we want it to accomplish it. In most other situations, we all find ourselves dealing with a pre-programmed or pre-determined path that the software designer has decided we must use the software in order to get certain things done. And I think that makes it that we, little by little, become controlled by the path that was designed by the people who wrote the software and forced into these gullies that they created of usage, that this is how we are supposed to be doing things. And after a while I think it's making us forget who we were and what the essence of what the music was supposed to be about and really represented.

And this right here -- I have to be honest -- it's groundbreaking to me in that sense. It's putting me back in touch with using these tools that I'm using right now as mere instruments of my will, rather than me being forced around the way they were designed to be operated, and in the process losing the very essence of what I was trying to express. Goddammit!

– François K, Expansions (Live Stems Dub and Talk)


  • Highest quality: ALAC stems by default, or AAC using the best encoder and quality possible.
  • Automatic metadata tagging: scraping metadata from the master file and writing it back to the stem file.
  • Batching: you can use this CLI to batch your stem creation and/or create a powerful workflow.
  • Universal: works on macOS, Windows and Linux.


Basic usage

You can use to generate stems:

  • $ python3 track.wav
  • Have fun! Your new .stem.m4a file is in the output dir
  • Supported input file formats are .wav .wave .aif .aiff .flac

Getting help

Stemgen isn't easy to use for DJs without advanced computer skills. If you are not a hacker, don't worry -- you can ask for help.

Submit an issue

Feel free to submit an issue on GitHub.

Join the community

Make some noise in the official Native Instruments' Traktor forum.