Six-stem AI separation
Drums, bass, guitar, vocals, piano, and other — extracted from any mp3 with the htdemucs_6s model from Meta. Wav output, original sample rate preserved.
Extract · Mute · Play
A self-hosted practice studio for musicians. Separate any song into instrument stems, then loop, slow down, transpose and mute — until the part you want to play is the only thing you hear missing.
Everything a musician needs to learn a song by playing along — and nothing they don't.
Drums, bass, guitar, vocals, piano, and other — extracted from any mp3 with the htdemucs_6s model from Meta. Wav output, original sample rate preserved.
A/B loop with visual markers. Slow down to 0.5× or 0.75× without changing pitch. Transpose ±6 semitones — drums kept original, the other stems pre-rendered once per pitch.
Per-stem volume, master volume, mute and solo — all persisted automatically per song. Open any track months later, the mix is exactly how you left it.
Jot down guitar gear settings, amp profiles, tuning. Attach the PDF score or the Guitar Pro file. PDFs preview inline in the browser.
BPM and key auto-detected on extraction with librosa and Krumhansl-Schmuckler profiles. Both are editable when the algorithm picks the relative minor instead of the major.
Self-hosted, LAN-only by design. No accounts, no telemetry, nothing leaves your machine. NVIDIA GPU detected automatically, CPU fallback for everything else.
mp3, wav, flac, m4a or ogg — anything ffmpeg can decode.
A minute on a modest NVIDIA GPU, a few minutes on CPU. Tempo and key are detected at the same time.
Six stems lined up, perfectly synchronized. Mute, loop, slow down, transpose — your settings stay saved.
One command. Pre-built image on ghcr.io. No build, no clone.
docker run -d --name playpart --restart unless-stopped \
-p 8765:8765 --gpus all \
-v playpart-data:/data \
ghcr.io/stumme-soft/playpart-gpu:latest docker run -d --name playpart --restart unless-stopped \
-p 8765:8765 \
-v playpart-data:/data \
ghcr.io/stumme-soft/playpart-cpu:latest
Open http://<host>:8765 from any device on the LAN. Uploaded tracks,
extracted stems, the SQLite database and the model cache all live in the
playpart-data Docker volume.
Prefer docker compose, want to pin a specific version
(ghcr.io/stumme-soft/playpart-cpu:0.1.0) or build from source?
The repository README covers all of it.
PlayPart leans on a handful of excellent open-source projects: Demucs for the source separation, librosa for the analysis, FastAPI + SvelteKit for the plumbing. Thanks to their authors.