Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

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

Source

The browser engine is an AudioWorklet that does WSOLA time stretching, with a cubic resampler for transposing.

Source

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.

Source

The chords come from a CQT chroma model with templates, a bass bias and Viterbi smoothing.

Source

Only one song is processed at a time.

Source

  • Record date: 2026-11-01T03:13:55.238Z