Stems & Demucs
Stem mode lets you mix six isolated tracks — drums, bass, other, vocals, guitar, piano — each with its own fader (0–200%). Mute the guitar and play over the rest of the band, or solo a part to learn by ear. Combined with pitch-preserving speed and section loops, this is the usual “drill this four bars” workflow.
Separation does not run inside Rock N Roller. It is done offline with the companion Demucs MLX Audio Stemmer, then the game mixes what it finds.
- Companion app
- Stemming workflow
- How they link to PSARCs
- Mixer in Rock N Roller
- Find songs that have stems
- Try it on the web
Companion app
Same raylib GUI on both platforms; the neural-net worker is what
changes. Default model is Demucs htdemucs_6s (the six
stems above). Input can be MP3, WAV, OGG, FLAC, M4A, or a Rocksmith
*_p.psarc (it extracts the chart’s audio first).
| macOS Apple Silicon | Windows x64 | |
|---|---|---|
| Backend | demucs-mlx (MLX + Metal) | Official Meta Demucs + PyTorch CUDA |
| Download | ~132 MB | ~2 GB (ships the CUDA runtime) |
| Speed |
Far faster than realtime (about 73× on an M4 Max for 4-stem
htdemucs). Unified memory; no extra GPU.
|
NVIDIA GPU recommended (~5–7 GB VRAM for 6-stem). CPU works but is slow (a 4-minute track can take about a minute). AMD/Intel GPUs fall back to CPU. |
| Needs | Apple Silicon Mac. Unsigned: xattr -cr "DemucsMLX.app" |
Recent NVIDIA driver (not a CUDA toolkit). SmartScreen: More info → Run anyway. |
The Windows zip is large because MLX does not run on Windows, so the worker bundles PyTorch’s CUDA kernels. You do not install a CUDA toolkit. 3–4 GB cards may run out of VRAM on the default 6-stem segments.
Stemming workflow
-
In Demucs MLX, add an MP3/WAV or a Rocksmith
*_p.psarc. - Pick an output folder — this becomes your Rock N Roller stems root.
-
Run separation. For
Eagles_Hotel-California_v1_1_p.psarcit writes:{stems_root}/Eagles_Hotel-California_v1_1_p/ drums.mp3 bass.mp3 other.mp3 vocals.mp3 guitar.mp3 piano.mp3 -
In Rock N Roller Settings → Add STEMS folder, point
at that same
{stems_root}, then resync. You can add up to 10 stems roots, same as PSARC folders. Details: settings.
How they link to PSARCs
Rock N Roller takes the PSARC filename without .psarc,
looks for {stems_root}/{that_name}/, and requires
all six MP3s. Only then is the song marked
has_stems in SQLite. Paths are indexed per song; your
PSARC and stem audio stay wherever you put them — the database only
stores metadata and the stems-folder list.
Folder name must match the PSARC basename exactly. If the chart is
Foo_p.psarc, the six files have to live in
Foo_p/, not Foo/ or a renamed folder.
Mixer in Rock N Roller
When a song has all six stem MP3s indexed, the Stems popup turns stem mode on and sets per-stem levels. Each fader runs 0–2.0 (shown as 0–200%; default 1.0) so you can mute or boost parts for practice. Playback opens six streaming MP3 decoders under one mixer that shares the same time-stretch path as normal audio, so practice speed still holds pitch. Long songs stream stems with seek points instead of loading them whole.
Mixer controls: settings. Transport and loop keys: keybinds.
Find songs that have stems
Catalog search filters on the SQLite flag, not by reopening files:
-
stems="true"— songs with all six external stem MP3s indexed -
stems="true" tuning="E Standard | Drop D"— stemmed charts in either tuning
Full query language: features.
Try it on the web
?demo=stems loads curated
demo PSARCs plus 6-stem MP3 trees into
/weblib/DemoStems. That root is
additive — it does not replace any stems folders you
already granted. It is a larger download than
?demo=songs (charts
only). Chromium required; nothing is uploaded.
How the rest of the engine fits together: features. Desktop builds: versions.