Skip to content
ElospeedPublic

About

Free Windows tool that turns your music into stem files (.stem.mp4) for Traktor and Mixxx. Turbo engine with GPU support, no Python, no setup.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

Elospeed StemMaker 2.2.1

by Elospeed

🇩🇪 Deutsche Anleitung: LIESMICH.md

▶ Video: StemMaker 2.0 in 73 seconds on YouTube

Turns MP3s (also WAV, FLAC, AIFF, M4A, AAC, OGG, Opus) into Traktor stem files (*.stem.mp4) with 4 tracks: Drums, Bass, Other (melody) and Vox. It works the same way as Stemgen, just without Python and without setting up a Python environment: a single Lazarus program that downloads everything it needs on first start. Available as an installer or as a portable ZIP.

Why StemMaker

  • Nothing to set up: no Python environment, no PyTorch and no CUDA driver to install and nothing that can conflict with other software. It runs on any 64-bit Windows PC.
  • Fast (Turbo engine, since 2.0): separation runs with ONNX Runtime, on the CPU about 6 to 10 times faster than before, and on the graphics card (DirectML: NVIDIA, AMD, Intel) when the card computes correctly and faster. Same model, same quality. A short pre-test on first start checks CPU and graphics card and tells you how long a 3-minute track will take. The proven demucs.cpp engine stays as "Classic" and takes over automatically if Turbo fails on a file.
  • Traktor format, not four loose files: master plus the four stems land in one .stem.mp4 with the NI stem metadata, ready for a stem deck. No routing by hand, no extra software for the container, no Traktor licence to convert.
  • Built for whole collections: add complete folders, see the expected time beforehand, let it run overnight. The list is saved after every file, so a crash or a power cut costs one track instead of the run, and subfolders are rebuilt in the output folder.
  • Check before you play: AddOns\StemPlayer.exe plays a finished stem file with mute, solo, volume and level meters per stem and A/B against the original, so you don't have to import into Traktor just to listen.
  • Tags and cover for stem files: AddOns\StemTagger.exe sets title, artist, album, genre, cover and more in .stem.mp4 files, also for many files at once. The stems stay untouched (tested in Traktor Pro 4 and Mixxx 2.6 beta).
  • Level and bass sorted out: quiet files are raised to club level without a limiter, and low bass that the model leaves in the melody stem is moved into the bass stem.
  • Quality: in a side-by-side test against a stem file made by Traktor Pro 4 from the same track, drums, kick, vocals and level came out practically the same.
  • Your music stays local: no account, no cloud, no telemetry, nothing running in the background.

StemMaker is a one-person hobby project, built in the evenings. If it saves you an evening of work, you can buy me a coffee on Ko-fi ☕. Entirely optional, the tool stays free either way.

The German version of this guide is LIESMICH.md.

MP3 ──ffmpeg──► 44.1 kHz WAV ──Turbo (or demucs.cpp)──► drums / bass / other / vocals
                                                     │
      Master + 4 stems ──ffmpeg (AAC/ALAC)──► MP4 with 5 tracks
                                                     │
                       StemMaker (Pascal) ──► NI "stem" metadata ──► *.stem.mp4

Getting started

There are two downloads on the release page, with the same program inside:

  • StemMaker-<version>-Setup.exe (installer): installs for your Windows user only, without admin rights, to %LOCALAPPDATA%\Programs\StemMaker, with a Start menu entry and an uninstall entry under "Apps & features". When you uninstall by hand, it asks whether the downloaded models, ffmpeg and settings should be deleted too.
  • StemMaker-<version>.zip (portable): unzip anywhere, e.g. to C:\Tools\StemMaker or a USB stick. Nothing is installed.
  1. Run the installer, or unzip the archive.
  2. Run StemMaker.exe (Start menu entry "StemMaker" after the installer). If Windows shows a blue warning window, see Windows warning.

On the first start on a PC a window shows the disclaimer and the license notes. Tick the box and click "I agree - start StemMaker". This is asked once per PC: if you copy the StemMaker folder to another PC, it asks again there (this is not copy protection, copying is allowed under the MIT License). AddOns\StemCLI.exe asks for the same confirmation once with --accept. You can read the text again any time under Info → Licenses.

Then the startup check window opens. It ticks off, one by one: processor, ffmpeg, demucs, model and temp folder.

  • All green: The main window opens by itself after about a second.
  • On the very first start ffmpeg (approx. 56 MB) and the separation model (81 MB) are missing. Click "Download" to fetch both with a progress bar. Every download is checked against the SHA-256 checksum from update.json; a damaged or swapped file is discarded. StemMaker then checks again and starts.
  • Something is red and can't be downloaded (e.g. a demucs file is missing): Unzip the whole archive again. Hover over the red line to see the exact reason.

Updates: At startup StemMaker checks in the background (max. 5 seconds) whether a newer version exists. If so, it offers Update now / Later / Skip this version. The update is checked with its SHA-256 checksum; settings, list, logs, models and ffmpeg are kept. Never during a conversion. If copying fails halfway, StemMaker rolls everything back and stays on the old version. Check by hand: Info → Check for updates (also shows a skipped version again). Turn it off with the checkbox in the update window, under More settings or with AutoCheck=0 (see below).

If you pick a model in the main window that isn't installed yet (e.g. htdemucs_ft), StemMaker asks whether to download it now.

Windows warning ("Windows protected your PC")

StemMaker is not digitally signed. Signing certificates cost money every year, which doesn't pay off for a free hobby project. That's why Windows shows a blue SmartScreen window ("Windows protected your PC", publisher "Unknown") the first time you start the installer StemMaker-<version>-Setup.exe, StemMaker.exe, StemCLI.exe, AddOns\StemPlayer.exe or AddOns\StemTagger.exe. Many small open-source tools do the same.

To start it anyway:

  1. Click "More info" in the blue window.
  2. Click "Run anyway".

Windows remembers this, so the window only appears once per program.

Tip: Before unzipping, right-click the downloaded ZIP → Properties → tick "Unblock" at the bottom → OK. Then Windows treats the unzipped files as local and usually doesn't warn at all.

If Windows blocks it completely (no "Run anyway" button): Smart App Control is switched on (Windows 11). Then StemMaker can only be started after turning it off under Windows Security → App & browser control → Smart App Control. Only do this if you trust the source.

Want to check the download?

  • Upload the ZIP or the exe to VirusTotal. Single hits from little-known scanners are common with unsigned programs and are usually false alarms.
  • If the release notes list a SHA-256 checksum, compare it in PowerShell: Get-FileHash .\StemMaker-1.7.zip (adjust the file name).
  • The full source code is in this repository. You can build StemMaker yourself (see Build it yourself).

Support StemMaker

StemMaker is free and open source, with no ads, no account and no paid version, and it stays that way. Behind it is just me, working on it in my spare time. If StemMaker is useful to you, there are three ways to give something back:

  • Buy me a coffee on Ko-fi (also via the "Sponsor" button at the top of this page or Info → Donate now in the program).
  • Star the repository on GitHub. It costs nothing and helps other DJs find StemMaker.
  • Tell others about it, or report a bug or an idea in the Discussions.

The program never asks at startup. Only when you reach a round number of finished tracks (10, 50, 100, 250, 500, 1000, then every 1000), and only after a run in which at least 90% of the files succeeded, a short thank-you note appears with a Ko-fi button. "Continue" simply carries on, and "Don't ask again" switches the note off for good.

Folder structure

StemMaker\
  StemMaker.exe          program (GUI)
  StemMaker.ini          settings (created when you first close the program)
  StemMaker_queue.txt    saved file list (queue)
  logs\                  logs of the last 20 program starts
    statistik.csv        one line per converted file (for analysis)
  AddOns\                extra programs for advanced users
    StemCLI.exe          command-line version (batch files, Task Scheduler)
    StemPlayer.exe       test player for .stem.mp4 files (mute/solo per stem)
    StemTagger.exe       tags and cover for .stem.mp4 files
  tools\
    onnx\                       Turbo engine: StemOnnx.exe, ONNX Runtime, DirectML, network graph without weights
    demucs_mt.cpp.main.exe      separation "Classic", Demucs v4 (AVX2 build)
    demucs_ft_mt.cpp.main.exe   separation, Demucs v4 fine-tuned
    demucs_v3_mt.cpp.main.exe   separation, Demucs v3
    avx\...                     same, for CPUs with AVX but without AVX2 (approx. 2011-2013)
    generic\...                 same, for even older CPUs
    ffmpeg.exe                  ← downloaded on first start
  models\
    ggml-model-htdemucs-4s-f16.bin   ← downloaded on first start
  lang\                  language files (gettext .po)
  src\                   complete source code (Lazarus)
  demucs-build\          build instructions for the demucs programs

The demucs programs are fully statically linked; they need no DLLs and no installation. StemMaker detects which instructions your CPU supports and picks the fastest matching build: AVX2, AVX or generic. In testing, the AVX build was a good 30 % faster than generic.

Usage

  • Drag files or whole folders into the window, or use "Add files..." or "Folder...". You can also drop them straight onto StemMaker.exe.

  • Start processes the list one file after another. "Cancel" stops immediately and cleans up the temp files.

  • Below both progress bars you see elapsed and estimated remaining time: the top one for the current file, the bottom one for the whole list. The estimate uses the length of the waiting songs and the speed of this PC, and gets more accurate with every finished file. After each song the list shows how long it took, e.g. "OK (4:12)".

  • The result is Title.stem.mp4, by default next to the original file. Alternatively, choose an output folder.

  • Tags and the cover art are copied from the source file: title, artist, album, album artist, composer, genre, year, track and disc number, comment, grouping, lyrics – plus BPM, key, label and ISRC. Traktor shows title, artist, album, genre, label and cover right after the import; BPM and key are overwritten by Traktor's own analysis.

  • Check stem... shows whether a file is a valid stem (5 tracks + stem metadata). This also works with purchased NI stems.

  • A normal player only plays track 1, the master. You only hear the individual stems in Traktor.

  • Info (top left) shows this guide, the version and the name of the current log. From there you can also open the logs folder or donate.

  • Copy log puts the log on the clipboard, e.g. to pass it on when reporting a problem.

Converting a whole collection

StemMaker is built for preparing an entire music collection in one go, e.g. overnight:

  • Time estimate before you start: Below the lower progress bar you'll see e.g. "87 files pending, 6:12:40 of music - approx. 11:30:00". StemMaker reads the song lengths in the background and learns the speed of your PC with every finished track: "(this PC's speed)" means the estimate is based on your machine, "(rough estimate)" means it hasn't measured yet.
  • The list is remembered: The file list and the status of every file is saved continuously (StemMaker_queue.txt). If StemMaker crashes, the power fails or you close the program, the list is back on the next start. Click Start to continue where it stopped. An interrupted file is redone. "Clear list" also deletes the saved list.
  • Recreate subfolders in the output folder: If you add a whole folder, e.g. D:\Music\House, then D:\Music\House\2024\track.mp3 ends up as <output folder>\House\2024\track.stem.mp4. Only applies with your own output folder.
  • Shut down the PC when finished: When all files are done, a 60-second countdown with "Cancel" appears. Then StemMaker closes cleanly and Windows shuts down. The checkbox only applies to the next run. If you cancel the run, the PC does not shut down.
  • Keep the PC awake (see Settings) stops Windows from going to sleep halfway through.
  • Icon next to the clock: During a conversion StemMaker shows an icon in the notification area. Hover over it to see the progress (e.g. "StemMaker - 45 % (file 3 of 12)"), click it to bring the window back. When everything is done and StemMaker is not in the foreground, a notification appears. In Settings you can choose that minimizing only leaves the icon (off by default), and turn the notification off.
  • Stem files that already exist are skipped (unless "overwrite existing stem files" is on).

Logs and troubleshooting

Every program start writes a log to the logs folder. Each line is saved immediately, so even after a crash everything up to the last action is in it. The last 20 logs are kept.

File name ends with Meaning
_LAEUFT.log StemMaker is currently running
.log closed normally
_FEHLER.log closed normally, but an error occurred along the way
_ABSTURZ.log ended unexpectedly (crash, Task Manager, power failure); renamed like this on the next start

For each file the log shows: file size, length, source (e.g. mp3 320 kbit/s), loudness of the master track (LUFS, range, true peak), conversion time and the speed in "seconds per minute of music". That number does not depend on the song length, so it is good for comparing models and PCs.

In addition, StemMaker adds one line per converted file to logs\statistik.csv (date, file, size, length, model, cores, conversion time, seconds per minute of music, RAM, loudness, CPU, result). If a new version changes the columns, the old file is renamed to statistik_bis_<date>.csv. The file is never cleaned up and opens with a double click in Excel or LibreOffice (separator ;, decimal comma). If it is open in Excel at that moment, the line for that file is missing.

The log contains:

  • system info: Windows version, processor, cores, RAM, graphics card
  • every ffmpeg and demucs call with all parameters and the result
  • progress in 10 % steps
  • for errors, the call stack with file and line number in the source code
  • at the end of a run, a summary: total time, average per track, cores used and the peak RAM usage of demucs

Sending an error report

After a crash, StemMaker asks on the next start whether you want to send an error report. The same is offered in the "Unexpected error" window and at any time via Info → Send error report.... Nothing is sent automatically: the window shows exactly the text that leaves your PC. Your user folder (C:\Users\<name>) is replaced with %USERPROFILE%, the file names of your songs stay in.

  • Send by e-mail: the report is saved as a file in the logs folder and selected in Explorer, and a ready-made e-mail to elospeed.dev@gmail.com opens. You drag the file into the e-mail yourself. If no e-mail opens (e.g. with webmail), simply send the file to that address.
  • As GitHub issue (public): opens a prefilled issue in your browser. You need a GitHub account, and anyone can read the issue.

Either way, the whole report is also on the clipboard (Ctrl+V).

The log also shows which engine and which device separated each file (e.g. "Turbo runs on: CPU"), and the pre-test writes each of its steps into the log, so a failing graphics card can be narrowed down from the report.

Settings

The main window only shows what you change per conversion: output folder, separation model, audio format, club level, bass fix and shutdown. Everything you set once sits behind the gear button "More settings...": engine (Turbo or Classic), device (automatic or CPU only) with the "Pre-test ..." button, parts, overwrite, rebuild subfolders, keep the PC awake, stem names and colors, language, update check at startup, and the paths to ffmpeg, demucs.cpp and the models (display only). "Restore defaults" there resets everything to the shipped state.

Setting Meaning
Separation model htdemucs: default, good quality. htdemucs_ft: best quality, approx. 4× slower, 4 model files. hdemucs_mmi (v3): faster, slightly worse.
Parts / Auto How many parts of the song are separated in parallel. Auto (default) recalculates on every start: as many parts as the processor has physical cores, at most 4 – and only as many as the RAM can handle (each part needs a good 2 GB, so with 8 GB RAM at most 2). Each part also uses additional cores; this is distributed automatically. Without the tick, the number you set applies.
Audio format AAC automatic (default): the stem file gets the bitrate of the source, e.g. MP3 256 → AAC 256, MP3 320 → AAC 320. Going higher gains nothing; it can never be better than the source. Sources below 192 kbit/s get 192, so nothing extra is lost when re-encoding. Lossless sources (WAV/FLAC) get 320. AAC 256: NI standard, fixed. AAC 320: fixed. ALAC: lossless, very large, only worthwhile for WAV/FLAC sources. The log shows per file e.g. "Source: mp3 320 kbit/s → stem file AAC 320 kbit/s".
Stem names/colors How the stems appear in Traktor. The defaults use the same colors as Stemgen; the "Traktor colours" button sets the colors from Traktor's own stem files. Traktor shows the icons (drum, speaker, wave, microphone) fixed by slot 1–4, they cannot be changed.
Normalize loudness (club level) On by default. Quiet files are raised until the loudest point is just below 0 dB (about −1 dB). All 5 tracks get the same value, no limiter – the dynamics stay as in the original. Loud club tracks hardly change. Benefit: in Traktor the stem waveforms are big and easy to read (Autogain only raises playback, not the display). The log shows e.g. "Normalize loudness: +11.6 dB".
Bass fix On by default. The low bass below 80 Hz that the separation leaves in the "Other" stem is moved to the Bass stem. The Bass stem sounds fuller, like Traktor's own stems; all stems together sound unchanged. Skipped for files over 20 minutes (DJ mixes), because it needs the whole track in memory.
Keep the PC awake during conversion On by default. During conversion the PC won't go to sleep (the screen may turn off). If Windows is set to the Power saver plan (or, on Windows 11, the power mode is "Best power efficiency"), it switches to more performance for the duration of the conversion. Afterwards everything is back to how it was, even after a crash: in that case StemMaker restores the old power plan on the next start. "Balanced" is left untouched.

Command line (AddOns\StemCLI.exe)

The same without a window, e.g. for batch files or Task Scheduler:

AddOns\StemCLI.exe "D:\Music\New" -o "D:\Music\Stems" -m ht -t 4
AddOns\StemCLI.exe track.mp3 -f alac --overwrite
AddOns\StemCLI.exe --check "track.stem.mp4"

Options: -o folder, -m ht|ft|v3, -t parts, -f aac|alac, -b auto|kbit (default auto), --overwrite, --keep (keep temp folder), --no-awake (PC may go to sleep), --no-normalize (don't normalize loudness), --no-bassfix (no bass fix), --ffmpeg exe, --demucs folder, --models folder. Most people won't need this: the main window handles whole folders, the queue and overnight runs. StemCLI is meant for automation (batch files, Windows Task Scheduler). It uses the same tools, models, language and settings (StemMaker.ini) as the main program and doesn't download anything itself; StemMaker.exe must have run once beforehand.

Test player (AddOns\StemPlayer.exe)

Listen to a finished .stem.mp4 without Traktor: mute, solo (also several at once) and volume per stem, level meters, A/B comparison with the original mix, and a "Rest" mode (original minus the sum of all stems) that shows what the separation lost. Start it from StemMaker with the StemPlayer button in the AddOns bar right of the file list (plays the selected or last converted file right away), double-click a finished file in the list or right-click it and choose Listen, or open a file via the dialog, drag & drop or as a parameter: AddOns\StemPlayer.exe "track.stem.mp4". It uses StemMaker's tools\ffmpeg.exe. In the same nine languages as StemMaker. Source: src/AddOns/StemPlayer/.

Tag editor (AddOns\StemTagger.exe)

Set title, artist, album, genre, year, label, comment and cover in .stem.mp4 and MP3 files (what Traktor and Mixxx show and search), e.g. for stem files from other tools that come without any tags. Load single files or whole folders, select several rows to set album or cover for all of them at once, paste a cover with Ctrl+V or drag an image onto the window, or fill artist and title from the file name. Large covers are scaled down to 1000 px if you like, and a .bak backup can be switched on. Only the tag list inside the file is rewritten: audio, the four stems and Traktor's own data stay byte-for-byte the same. Start it from StemMaker with the StemTagger button in the AddOns bar (opens the selected finished files) or by right-clicking finished files and choosing Edit tags..., or as a parameter: AddOns\StemTagger.exe "track.stem.mp4". In MP3s, Traktor's cue points, beatgrid and analysis are kept. The StemTagger has its own project page and repository (Elospeed/StemTagger), where it is also available on its own. Nine languages. Source here: src/AddOns/StemTagger/ (copy of the StemTagger repository).

Processing time

With the Turbo engine (default since 2.0) the pre-test on first start measures your PC and shows the expected time for a 3-minute track. Separation time measured with the engine:

Computer Device seconds per minute of music
Intel i5-2500 (4 cores, 2011) CPU 52 (Classic: 440 to 584)
Intel i7-12700KF (12 cores, 2021) CPU 15
Intel i7-12700KF RTX 4060 Ti (DirectML) 3

Encoding the five tracks into the stem file comes on top (a few seconds per minute of music).

The Classic engine (demucs.cpp) runs purely on the processor (CPU). Measured with a 12-minute track (extended mix), converted to a normal 4-minute track:

Computer htdemucs (default) hdemucs_mmi (v3)
Intel i7-12700KF (12 cores, 2021) 22 min → approx. 7–8 min per 4-min track 12.5 min → approx. 4 min per 4-min track
Intel i5-2500 (4 cores, 2011) 1 h 22 min → approx. 27 min per 4-min track –

Rule of thumb for Classic: on a current PC, htdemucs takes about twice as long as the song, v3 about as long as the song. htdemucs_ft takes roughly four times as long as htdemucs. Time grows with song length. Larger batches are best run overnight.

Older processors without AVX2 (e.g. 2nd/3rd generation Intel Core i) are much slower: a 12-minute track can take over an hour there. Laptops on battery are also throttled; StemMaker shows a notice in that case. If the PC went to sleep in between, this is noted at the end of the log.

How the stem file is built

Same as Stemgen with ni-stem/MP4Box:

  • MP4 with 5 audio tracks: track 1 is the master and the only enabled one, tracks 2–5 are Drums/Bass/Other/Vox and disabled.
  • moov/udta/stem: JSON with stem names, colors and mastering DSP (compressor/limiter off, same values as Stemgen).
  • iTunes tags plus TAUT = STEM. BPM goes into the tmpo atom, the key into ----:com.apple.iTunes:initialkey, the label into ©pub and the ISRC into ----:com.apple.iTunes:ISRC – ffmpeg cannot write those four for MP4, so StemMaker writes them itself (uStemMP4).

Advanced: StemMaker.ini

[Tools]
FFmpeg=D:\Programs\ffmpeg\bin\ffmpeg.exe    ; use an existing ffmpeg
DemucsDir=...                                ; different folder for demucs
OnnxDir=...                                  ; different folder for the Turbo engine

[Turbo]
Engine=turbo                                 ; turbo or klassisch (Classic, demucs.cpp)
Geraet=auto                                  ; auto (graphics card if it works) or cpu
ModelsDir=D:\Models                          ; store models elsewhere

[Download]
FFmpegZipURL=https://...                     ; your own ffmpeg source (no checksum then)
ModelBaseURL=https://...                     ; your own model source

[Update]
AutoCheck=0                                  ; don't check for updates at startup

Normally the download addresses come from update.json in this repository (fixed ffmpeg version, checksums). If a file moves, only that file has to change on GitHub.

Problems?

  • Questions, ideas, showing your results: ask in GitHub Discussions. You can attach screenshots, logs and files there. Reading works without an account, writing needs a GitHub account. Bugs can also go to an issue.
  • Download fails: Check your internet connection, firewall or proxy. If necessary, download manually:
  • demucs aborts: The log at the bottom of the main window shows the last lines of output. If the path contains unusual characters (e.g. Japanese), move the StemMaker folder to a simple path. Umlauts are fine.

Languages

StemMaker, StemPlayer and StemTagger speak German, English, Spanish, French, Portuguese (Brazil), Italian, Japanese, Dutch and Polish. Thanks to David GJ for the Spanish translation! The six newest languages (since 2.2) are machine translations; corrections from native speakers are very welcome (GitHub issue or discussion).

On first start, StemMaker asks for the language; your Windows language is preselected. You can change it at any time under More settings (gear button) → "Language:". The new language applies from the next start.

The language files are in the lang\ folder (gettext, .po). To add a language, copy lang\StemMaker.pot to e.g. lang\sv.po (Swedish) and translate it with Poedit.

Build it yourself

  • StemMaker/StemCLI: Open src\StemMaker.lpi or src\StemCLI.lpi in Lazarus (≥ 2.2, FPC 3.2) and press F9. No extra packages are needed, only LCL and LazUtils, which ship with Lazarus. The code is extensively commented in German:

    Unit Purpose
    StemMaker.lpr main program: startup check window first, then main window
    umain.pas/.lfm main window, file list, worker thread
    uinit.pas startup check window with checks and download
    ustemjob.pas converts one file (ffmpeg → demucs → ffmpeg → metadata)
    ustemmp4.pas writes the Traktor stem info into the MP4 (pure Pascal)
    udownload.pas download via WinINet + unzip
    ulog.pas real-time log file, crash detection, system info
    ulogui.pas catches unexpected errors and writes them to the log
    udonate.pas donation window before startup
    uinfo.pas Info window
    usettings.pas "More settings" window (gear button)
    upower.pas keep the PC awake, power plan, battery, sleep detection
    ulang.pas multilingual support: _() function and .po reader
    ulangui.pas language picker at first start, translates forms
    uqueue.pas Remembers the queue, reads song lengths, learns the speed
    uturbotest.pas pre-test window for the Turbo engine (CPU, graphics card, forecast)
    stemcli.lpr command-line version
  • Language files: lang-tools/i18n.py collects all texts from the code (_('...') and .lfm) and generates src/lang/StemMaker.pot and src/lang/en.po (copied to lang\ in the release) from lang-tools/en.json.

  • Icon: art/make_icon.py (Python + Pillow) draws the program icon: four bars in the stem colors. The result StemMaker.ico goes into src\; Lazarus embeds it automatically.

  • Turbo engine: engines/onnx/build.sh (Linux, mingw) builds StemOnnx.exe and the package, see engines/onnx/README.md.

  • demucs.cpp for Windows: demucs-build/build_demucs_windows.sh (cross-build on Linux/WSL with mingw-w64). The patch changes only 3 things: .string() for Windows paths, selectable CPU architecture instead of -march=native, and the tests are not built.

Development

  • Changelog (German): what is done, per version
  • Development log (German): problems found during development and how they were solved

Licenses / Credits

  • StemMaker: © 2026 Elospeed, MIT License (see LICENSE).
  • demucs.cpp by Sevag Hanssian (MIT) – the separation programs shipped in tools\.
  • ONNX Runtime (MIT) and DirectML (Microsoft license terms) by Microsoft – the Turbo engine in tools\onnx\. Telemetry of ONNX Runtime is switched off.
  • The Demucs models are by Alexandre Défossez et al. / Meta AI. They are downloaded from their original location and not redistributed by StemMaker – see the licensing note in THIRD-PARTY-NOTICES.md.
  • FFmpeg (LGPL, downloaded separately on first start from this repository's releases; unmodified Windows build by BtbN, version pinned in update.json).
  • Approach and metadata values based on Stemgen by axeldelafosse (MIT).
  • Traktor and STEMS are trademarks of Native Instruments; StemMaker is not affiliated with Native Instruments.
  • Full list of all components, authors and licenses: THIRD-PARTY-NOTICES.md.
  • Only use with material you have the rights to.
  • Disclaimer: StemMaker is provided free of charge and without any warranty ("as is"); use at your own risk. The full text is shown on first start and under Info → Licenses.

About

Free Windows tool that turns your music into stem files (.stem.mp4) for Traktor and Mixxx. Turbo engine with GPU support, no Python, no setup.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages