A practice studio that splits a song into six stems, and what I measured
Description and use
Stemwise is a browser tool that splits a track into six stems, detects beats and chords, and lets users loop, time‑stretch, transpose, and export stems and MIDI.
Problem
Musicians need a quick way to isolate stems, loop sections, and analyze chords without complex software.
Outcome
Stemwise processes a 2‑minute song in 1 s on an RTX 5090 (122.5× realtime) and 45.2 s on a Ryzen 5 7500F (2.7× realtime). Chord root accuracy is 0.739 on strummed guitar and 0.265 on solos; beat detection is reliable on strummed parts.
Workflow
- Drop an audio file onto the local web page
- Stemwise runs Demucs htdemucs_6s to separate into six stems
- Beat_this detects beats and downbeats
- CQT chroma model estimates chords and key
- User interacts with the player: mute/solo stems, loop bars, slow tempo with pitch held, transpose, play along to click
- Export menu generates backing track, stems, chord sheet, and MIDI beat grid
Evidence
Drop an audio file on a local page. Stemwise separates it into vocals, drums, bass, guitar, piano and other with Demucs htdemucs_6s
The browser engine is an AudioWorklet that does WSOLA time stretching, with a cubic resampler for transposing.
stemwise bench runs the separation on a 2 minute 3 second song. On an RTX 5090 it takes 1.00 s, which is 122.5x realtime, best of 3 after one warmup run in fp32.
The chords come from a CQT chroma model with templates, a bass bias and Viterbi smoothing.
Only one song is processed at a time.
- Record date: 2026-11-01T03:13:55.238Z