stemgen
stemgen copied to clipboard
🎛 Stemgen is a Stem file generator. Convert any track into a Stem and have fun with Traktor.
🎛 Stemgen
Stemgen is a Stem file generator. Convert any track into a Stem and have fun with Traktor.
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 ni-stem to create the Stem file.

Our new file contains four stems: bass, drums, vocals and other.
Why?
"It's no secret that I'm fully behind the approach to encourage individuality in creativity and for artists to play differently. Stems is a new format that mirrors my constant quest for spontaneity to drive the art of performance forwards. I hope that releasing my album From My Mind To Yours in this format, mastered by LANDR, inspires others to support the approach and bring even more flexibility to the art of DJing amongst its most progressive supporters." – Richie Hawtin
Stems are fun but nobody's releasing them. Stemgen is a way to create your own stems with only one command.
Requirement
- demucs https://github.com/facebookresearch/demucs or spleeter https://github.com/deezer/spleeter
- ffmpeg https://www.ffmpeg.org
- sox https://sox.sourceforge.net
- ni-stem (improved version provided in this repo or available at https://www.stems-music.com/stems-is-for-developers)
- jo https://github.com/jpmens/jo
- imagemagick https://imagemagick.org if you want to crop covers
Usage
- Clone this repo (downloading instead of cloning loses permissions to execute files)
$ ./stemgen -i track.wavor drag and drop a track onstemgen-droplet- Have fun! Your new
.stem.m4afile is inoutputdir - Supported input file format are
.wav.wave.aif.aiff.flac
Quick install on macOS
brew install coreutils ffmpeg sox jo imagemagickpip install demucsorpip install spleeterecho "alias stemgen=/Documents/stemgen/stemgen" >> ~/.zshrc
How to use the droplet
Pro tip: you can put the droplet in your dock
- Drag and drop a single track, multiple tracks or a directory on the
stemgen-droplet
How to customize and re-create the droplet
I included a slightly modified version of AppleScript-droplet. You can learn more on the repo https://github.com/RichardBronosky/AppleScript-droplet
- Edit
stemgenwith the OUTPUT_PATH you want for example - Remove
stemgen-droplet - Drag and drop
stemgenon thescript2droplet-dropletfile in Finder
or
- Edit
stemgen cp stemgen stemgen-droplet.app/Contents/Resources/Scripts/main
Performance
- I recommend to use Demucs with the
mdx_extramodel. This is now the default. - Stemgen supports 16-bit and 24-bit audio files!
- Stemgen needs to downsample the track to 44.1kHz to avoid problems with the separation software because the models are trained on 44.1kHz audio files.
- You may notice that the output file is pretty big. Apple Lossless Codec (ALAC) for audio encoding is used for lossless audio compression at the cost of increased file size.

Disclaimer
If you plan to use Stemgen on copyrighted material, make sure you get proper authorization from right owners beforehand.
License
MIT