Open Source · Self-Hosted · Free

Learn, explore, repeat !
every song becomes a playground

Upload your audio files. StemTube separates stems, detects chords, syncs lyrics, and gives you a full mixer — ready to practice, learn, or create.

View on GitHub Demo video coming soon
StemTube Mixer Interface
0
Cloud Dependency
170
Chord Types
PWA
Mobile Ready
MIT
License
Just want to try it on Windows?

There's a one-click desktop install

No Python, no setup. Same audio engine, packaged as a single Windows installer. Stems, chords, beats, lyrics, mixer — all offline, single user.

What StemTube can do

Core audio analysis features running locally on your machine. Some features are still experimental — your feedback shapes the roadmap.

AI Stem Separation

Split any song into vocals, bass, drums, guitar, piano and more using Demucs. Choose between 4-stem and 6-stem models for the level of detail you need.

Chord Detection

Hybrid BTC Transformer + madmom CRF pipeline detecting 170 chord types. Real-time chord display with guitar diagrams synchronized to playback.

Synchronized Lyrics

Synced lyrics from Musixmatch with fallback to Whisper AI transcription. Word-level timestamps with karaoke-style highlighting and a dedicated Focus mode.

Full Mixer

Per-stem volume, pan, mute and solo controls. Tempo adjustment with pitch correction via SoundTouch. Waveform visualization with playhead scrubbing.

Recording Studio Experimental

Record your instrument or vocals over the stems with latency compensation and de-bleed via Demucs. This feature is still evolving — feedback and contributions welcome.

Jam Sessions Experimental

Collaborative jam rooms via WebSocket with shared BPM and synchronized playback. Guest access with auto-generated names, no account required. Still in active development.

Mobile PWA

Progressive web app for iOS and Android. Touch-optimized mixer, recording, chord display and lyrics — same core features as desktop.

Themes

Multiple visual themes including neumorphic and cyberpunk modes. Design is not our strongest suit — if you have UI/UX skills, we'd love your help.

Self-Hosted

Runs on your own hardware. GPU-accelerated with CUDA auto-detection, automatic CPU fallback. Your data stays on your machine.

From audio file to full mixer in minutes

Upload a File

Drop any MP3, WAV, FLAC or other audio format. StemTube checks for existing extractions to avoid duplicate processing.

AI Analysis

Demucs separates stems. BTC + madmom detect chords. Musixmatch or Whisper fetch lyrics. All in parallel.

Mix & Practice

Open the full mixer. Mute the guitar and play along with chords displayed in real-time. Adjust tempo without changing pitch.

Record & Jam

Record your take over the stems. Invite friends to a jam session room. Share synchronized playback in real-time.

See it in action

Desktop interface, designed for musicians.

Stem extraction with per-stem downloads
Stem Extraction — 6-stem AI separation with individual stem downloads
Chord detection with guitar diagrams
Chord Detection — Real-time chord grid with guitar fingering diagrams
Lyrics focus mode with karaoke highlighting
Lyrics Focus — Karaoke-style word-by-word highlighting with tempo control
Jam session with QR code sharing
Jam Sessions — Share via QR code, WhatsApp, email or direct link

And in your pocket

Same workflow on iOS and Android — touch-optimized PWA.

Mobile library view
My Library
Mobile mixer
Mixer
Mobile chords view
Chords
Mobile lyrics view
Lyrics
Mobile settings
Settings

Built with proven open-source tools

Audio AI

Demucs BTC Transformer madmom faster-whisper Musixmatch PyTorch + CUDA

Backend

Python 3.12 Flask Flask-SocketIO SQLite

Frontend

Vanilla ES6+ Web Audio API PWA

A vibe coding experiment turned open-source project

StemTube started as an experiment in vibe coding — exploring what happens when you let AI-assisted development guide the creative process without rigid planning.

What began as a weekend hack turned into a growing music workstation. The project kept evolving because the problems were genuinely fun to solve: how do you synchronize chord detection with waveform scrubbing? How do you compensate for recording latency across different browsers?

After 25 years in IT, I wanted to give back to the open-source ecosystem that gave me so much throughout my career. StemTube is that contribution — imperfect, evolving, and open to all.

The entire codebase is open, from the AI pipeline to the PWA frontend. No tracking, no accounts required for basic use, no cloud dependency. Your music, your machine.

Project at a Glance

100%
Open Source
0
Cloud Dependency
6
AI Models
2
Platforms

This project needs you

Alone I went fast, together you'll go further.

StemTube is delivered as a fully functional solution. However, my professional and personal commitments don't allow me to take it further alone. This is where you come in:

  • UI/UX Design — the current interface is functional but minimal. If you have design skills, your input would make a real difference.
  • Frontend Development — help improve the mobile experience, add polish to the mixer and interactions.
  • Testing & Bug Reports — try it on different hardware and browsers, report issues, suggest improvements.
  • Translations — help make StemTube accessible in more languages.

Want to try it?

Clone the repo, run the setup script, and you're up in minutes. Feedback and contributions welcome.

Responsible Use

StemTube is a tool for learning, practicing, and creating music. It is not intended to facilitate piracy or harm artists' rights. Each user is solely responsible for their use of this software in accordance with the laws of their country. Please respect the artists whose music you enjoy.