Overzicht van StemDeck
StemDeck is een gratis en open-source tool ontworpen voor muzikanten en producers om audiobestanden op te splitsen in verschillende 'stems' (zoals zang, drums, bas, piano en gitaar). In tegenstelling tot commerciële alternatieven zoals Moises of LALAL.AI, werkt StemDeck volledig lokaal. Dit betekent dat er geen accounts, abonnementen of uploads naar de cloud nodig zijn, wat de privacy en databeveiliging waarborgt.
Belangrijkste Kenmerken
- AI-gedreven separatie: Maakt gebruik van het
Demucs htdemucs_6s model van Meta AI.
- Interactieve Editor: Bevat een waveform-editor in DAW-stijl met functies voor zoom, looping, solo/mute en live VU-meters.
- Audio-analyse: De tool kan automatisch de BPM, toonsoort en luidheid (LUFS) van een track analyseren.
- Flexibele Import: Ondersteunt diverse lokale audioformaten (MP3, WAV, FLAC, etc.) en YouTube-URL's via
yt-dlp.
- Export: Gebruikers kunnen specifieke subsets van stems kiezen en deze exporteren als een nieuwe mix.
Technische Details
De applicatie is gebouwd met een FastAPI backend (Python 3.12) en een Tauri v2 frontend (Rust/JS). Het is beschikbaar voor macOS (Apple Silicon en Intel) en Windows (CPU en NVIDIA CUDA), en kan ook via Docker worden gedraaid. De software is volledig open source en self-hostable.
StemDeck: Een modern platform voor stem-extractie
Gratis, lokale stem-scheiding. Geen account. Geen upload. Geen abonnement.
Wat is StemDeck?
StemDeck is een tool voor stem-scheiding (stem separation), geen downloader. De hoofdfunctie is het verwerken van audio die je al bezit: sleep een MP3, WAV, FLAC, OGG of M4A-bestand naar de importbalk en start het proces. De ondersteuning voor YouTube is een gemak voor content die je het recht hebt om te verwerken.
StemDeck slaat geen gedownloade content op, cached deze niet en distribueert deze niet. Alles gebeurt lokaal en er verlaat niets je computer.
Het is een gratis, open alternatief voor cloud-gebaseerde stem-splitters zoals Moises en LALAL.AI. Er is geen account, quota, upload-proces of abonnement nodig. Voor wie persoonlijke studie wil doen en voorkeur geeft aan lokale, gratis software, is StemDeck de juiste keuze. Voor wie gepolijste commerciële apps, mobiele toegang of uitgebreidere tools voor muzikanten nodig heeft, zijn commerciële producten geschikter.
Functies
- 6-stem separatie: Maakt gebruik van
Demucs htdemucs_6s, met automatische detectie van het beste Torch-apparaat (CUDA op NVIDIA, MPS op Apple Silicon, CPU als fallback).
- Importmogelijkheden: Ondersteunt YouTube-URL's en lokale bestanden (MP3, WAV, FLAC, OGG/Opus, MP4, M4A).
- Waveform-editor in DAW-stijl: Inclusief min/max sample rendering over alle stems, gedeelde normalisatie, zoomfuncties (in/uit/fit), loop-regio's via de ruler, een gouden playhead-overlay en stem-uitgelijnde banen.
- Extractie van subsets: Kies via stem-chips welke sporen je wilt behouden.
- "Original" backing track: Bij het kiezen van een subset wordt een 7e baan gemaakt met het complement (het volledige nummer minus de geselecteerde stems), ideaal voor A/B-referentie zonder dubbele audio.
- Downloadbare mix: Exporteer een enkele
mix.wav van de geselecteerde stems, samengevoegd via ffmpeg amix.
- Per-stem mixer: Volume-fader, mute, solo en "monitor" (solo-only) per stem. De status wordt gesynchroniseerd tussen de preview-mixer en de stems-zijbalk.
- Live VU-meters: Post-gain RMS per stem via Web Audio-analysers met peak hold en slow falloff.
- Song-analyse: Inclusief BPM (librosa beat tracker), toonsoort, toonladder en betrouwbaarheid (Albrecht-Shanahan profielen), geïntegreerde LUFS (BS.1770) en sample peak in dBFS.
- Annuleerbare taken: Taken kunnen halverwege worden afgebroken; de runner stopt het actieve subprocess onmiddellijk en verwijdert de gedeeltelijke map.
- Bibliotheekpaneel: Organisatie van tracks op basis van mappen, drag-and-drop, zoekfunctie en prullenbak.
Eerlijke Vergelijking
StemDeck probeert niet te concurreren met commerciële producten, maar dekt de kerngebruiken af.
| Kenmerk | StemDeck | Moises / LALAL.AI / vergelijkbaar |
| Prijs | Gratis, voor altijd | Freemium; credits of abonnement vereist |
| Hosting | Draait volledig op jouw machine | Cloud; audio moet worden geüpload |
| Account / login | Geen | Vereist |
| Internet nodig | Alleen voor YouTube en eerste model-download (~170 MB) | Altijd; geen offline gebruik mogelijk |
| Privacy | Audio verlaat je machine nooit | Audio wordt geüpload naar servers van derden |
| Dataretentie | Jij hebt de controle; verwijder alles direct | Geregeld door privacybeleid van de provider |
| Stem-model | Demucs htdemucs_6s (Open Source, Meta AI) | Propriëtaire modellen, vaak hogere kwaliteit |
| Aantal stems | 6 (zang, drums, bas, gitaar, piano, overig) | Tot 10, afhankelijk van service en plan |
| Inputformaten | YouTube URL, MP3, WAV, FLAC, OGG/Opus, MP4, M4A | MP3, WAV, FLAC, M4A en meer |
| Snelheid | Afhankelijk van hardware (snel met GPU, traag op CPU) | Snel (draait op hun servers) |
| Batch-verwerking | Eén taak per keer | Ja, in betaalde plannen |
| Mobiele app | Nee | iOS en Android |
| Extra functies | Nee (geen pitch shift, akkoorddetectie, lyrics, click track) | Ja, varieert per product |
| Afwerking | Functionele, hobby-grade UI | Gepolijste, production-grade apps |
| Broncode | Open source, forkbaar, self-hostable | Gesloten broncode |
Download en Installatie
Pre-built installers en zip-bestanden zijn beschikbaar bij elke GitHub Release.
macOS
- Apple Silicon (MPS):
StemDeck-macOS-arm64.dmg (M1 en later)
- Intel (CPU only):
StemDeck-macOS-x64.dmg
Installatie: Open de DMG, sleep StemDeck naar Applicaties en start de app. Bij de eerste start downloadt de setup de Python runtime (~500 MB), FFmpeg en het Demucs-model (~170 MB). Let op: macOS kan een Gatekeeper-melding tonen; klik met de rechtermuisknop op de app en kies 'Open' om dit te omzeilen.
Windows
- CPU only:
StemDeck-Windows-x64.zip (~700 MB)
- NVIDIA CUDA:
StemDeck-Windows-x64.NVIDIA.zip (~1.6 GB)
Installatie: Pak het zip-bestand uit en start StemDeck.exe. FFmpeg, het Demucs-model, configuratie en logs staan in een data/ map naast de executable. Bij de eerste start verifieert de app de Python runtime en downloadt FFmpeg en het Demucs-model (~170 MB).
Technologieën
StemDeck is gebouwd met de volgende technologieën:
- Backend: Python 3.12 (beheerd via
uv) met een FastAPI backend (REST en Server-Sent Events).
- Stem-separatie: Demucs (
htdemucs_6s) van Meta AI. Voor de optionele lead/backing vocal split wordt het UVR-MDX-NET Karaoke 2 model gebruikt via audio-separator.
- Audio-tools:
yt-dlp voor YouTube audio, FFmpeg voor transcoding en mixing, librosa voor BPM- en toonsoortanalyse, en pyloudnorm (ITU-R BS.1770) voor luidheidsmeting.
- Desktop Shell: Tauri v2 (Rust/WKWebView op macOS, Rust/WebView2 op Windows).
- Frontend: Vanilla JS met de Web Audio API (geen frameworks), waveforms worden gerenderd op
<canvas>.
Bouwen vanuit broncode
macOS Native App
Vereist Rust, Node.js en Python 3.12.
- Voeg cross-compilation targets toe:
rustup target add aarch64-apple-darwin (Apple Silicon) of x86_64-apple-darwin (Intel).
- Voer de scripts uit:
scripts/macos/make-runtime-pack.sh, scripts/macos/make-app.sh, en scripts/macos/make-dmg.sh.
Web Server (macOS / Linux / Windows met Python 3.12+)
Voorwaarden: Python 3.12+, ffmpeg in PATH, en uv.
macOS / Linux:
git clone https://github.com/stemdeckapp/stemdeck stemdeck && cd stemdeck
./run.sh setup
./run.sh start
Open daarna http://localhost:8000.
Windows (PowerShell):
- Installeer
uv via winget: winget install astral-sh.uv
- Installeer
ffmpeg via winget: winget install Gyan.FFmpeg
- Clone en start:
git clone https://github.com/stemdeckapp/stemdeck stemdeck; cd stemdeck
uv sync
uv run uvicorn app.main:app --host 127.0.0.1 --port 8000 --timeout-graceful-shutdown 5
Docker
docker compose -f build/docker-compose.yml up --build
Voor Linux-hosts met een NVIDIA GPU: voeg --runtime=nvidia -e NVIDIAVISIBLEDEVICES=all toe.
Gebruikershandleiding
- Import: Kies in de importbalk welke stems je wilt extraheren (standaard alle 6). Plak een YouTube-URL of sleep een audiobestand in en klik op Process.
- Verwerking: Wacht tot de fasen Uploading... / Downloading... → Analyzing... → Separating... → Mixing tracks... zijn voltooid.
- Studio Dashboard:
- Mixen: Gebruik Play/Pause/Stop.
M mute een stem, S solo's een stem, Monitor isoleert één stem.
- Volume: Gebruik de fader. Dubbelklik om terug te gaan naar 0 dB. Shift + muiswiel voor grove aanpassing, muiswiel voor fijne aanpassing.
- Looping: Sleep op de ruler om een regio te definiëren en activeer Loop.
- Zoomen: Gebruik
+ / - / Fit of Ctrl/Cmd + muiswiel.
- Export: Klik op Download Mix in de footer voor een samengevoegde WAV-versie van de geselecteerde stems.
- Sneltoetsen:
Spatie (play/pause), [ (seek -5s), ] (seek +5s), L (loop), I (loop in), O (loop out).
Configuratie
| Variabele | Standaard | Doel |
STEMDECKDEMUCSDEVICE | auto | Forceer Torch apparaat: cuda, mps, of cpu. |
STEMDECKDEMUCSMODEL | htdemucs_6s | Naam van het Demucs model. |
STEMDECKJOBSDIR | ./jobs | Map voor taakdirectories. |
STEMDECKDATADIR | (geen) | Root voor portable mode. |
STEMDECKMAXDURATION_SEC | 1200 | Maximaal toegestane audiolengte in seconden. |
STEMDECKJOBTTL_SECONDS | 86400 | Hoe lang taakdirectories bewaard blijven op schijf. |
API
| Methode | Pad | Doel |
GET | /api/health | Server gezondheid en versie-info |
POST | /api/jobs | Start nieuwe taak (JSON of multipart file) |
GET | /api/jobs | Lijst van voltooide taken (bibliotheek) |
GET | /api/jobs/{id} | Status snapshot van een taak |
GET | /api/jobs/{id}/events | SSE stream van taakstatus |
POST | /api/jobs/{id}/cancel | Beëindig actieve subprocess en annuleer taak |
GET | /api/jobs/{id}/stems/{name}.wav | Stream een individuele stem WAV-file |
Probleemoplossing
ffmpeg: command not found: Installeer FFmpeg en herstart de server.
- YouTube JavaScript runtime warning: Installeer
deno (op macOS: brew install deno). Downloads werken nog wel, maar kunnen suboptimale formaten kiezen.
- Eerste separatie is traag: Demucs downloadt bij de eerste run de weights (~170 MB).
- Demucs draait alleen op CPU: Controleer de startup log voor
device=mps of device=cuda. Als er cpu staat, is mogelijk de Torch-installatie CPU-only.
- Pagina herladen tijdens taak: De taak blijft op de server draaien. Wacht tot deze klaar is.
Bestandsstructuur op schijf
jobs/<job_id>/
stems/
vocals.wav
drums.wav
bass.wav
guitar.wav
piano.wav
other.wav
original.wav (alleen bij subset-selectie: som van niet-geselecteerde stems)
mix.wav (alleen bij subset-selectie: ffmpeg amix van geselecteerde stems)
Disclaimer
StemDeck is een lokale tool voor stem-separatie, bedoeld voor persoonlijke studie, onderzoek en experimenten. Het is geen downloadservice. Alle verwerking vindt plaats op de machine van de gebruiker en er wordt geen audio verzonden.
De ondersteuning voor YouTube-URL's wordt geleverd via yt-dlp. Geautomatiseerd downloaden kan in strijd zijn met de servicevoorwaarden van YouTube. De gebruiker is zelf verantwoordelijk voor het recht om audio te verwerken en het respecteren van auteursrechten.
De software wordt "as is" geleverd, zonder enige garantie.
StemDeck: Een modern platform voor stem-extractie
Gratis, lokale stem-scheiding. Geen account. Geen upload. Geen abonnement.
Wat is StemDeck?
StemDeck is een tool voor stem-scheiding (stem separation), geen downloader. De hoofdfunctie is het verwerken van audio die je al bezit: sleep een MP3, WAV, FLAC, OGG of M4A-bestand naar de importbalk en start het proces. De ondersteuning voor YouTube is een gemak voor content die je het recht hebt om te verwerken.
StemDeck slaat geen gedownloade content op, cached deze niet en distribueert deze niet. Alles gebeurt lokaal en er verlaat niets je computer.
Het is een gratis, open alternatief voor cloud-gebaseerde stem-splitters zoals Moises en LALAL.AI. Er is geen account, quota, upload-proces of abonnement nodig. Voor wie persoonlijke studie wil doen en voorkeur geeft aan lokale, gratis software, is StemDeck de juiste keuze. Voor wie gepolijste commerciële apps, mobiele toegang of uitgebreidere tools voor muzikanten nodig heeft, zijn commerciële producten geschikter.
Functies
- 6-stem separatie: Maakt gebruik van
Demucs htdemucs_6s, met automatische detectie van het beste Torch-apparaat (CUDA op NVIDIA, MPS op Apple Silicon, CPU als fallback).
- Importmogelijkheden: Ondersteunt YouTube-URL's en lokale bestanden (MP3, WAV, FLAC, OGG/Opus, MP4, M4A).
- Waveform-editor in DAW-stijl: Inclusief min/max sample rendering over alle stems, gedeelde normalisatie, zoomfuncties (in/uit/fit), loop-regio's via de ruler, een gouden playhead-overlay en stem-uitgelijnde banen.
- Extractie van subsets: Kies via stem-chips welke sporen je wilt behouden.
- "Original" backing track: Bij het kiezen van een subset wordt een 7e baan gemaakt met het complement (het volledige nummer minus de geselecteerde stems), ideaal voor A/B-referentie zonder dubbele audio.
- Downloadbare mix: Exporteer een enkele
mix.wav van de geselecteerde stems, samengevoegd via ffmpeg amix.
- Per-stem mixer: Volume-fader, mute, solo en "monitor" (solo-only) per stem. De status wordt gesynchroniseerd tussen de preview-mixer en de stems-zijbalk.
- Live VU-meters: Post-gain RMS per stem via Web Audio-analysers met peak hold en slow falloff.
- Song-analyse: Inclusief BPM (librosa beat tracker), toonsoort, toonladder en betrouwbaarheid (Albrecht-Shanahan profielen), geïntegreerde LUFS (BS.1770) en sample peak in dBFS.
- Annuleerbare taken: Taken kunnen halverwege worden afgebroken; de runner stopt het actieve subprocess onmiddellijk en verwijdert de gedeeltelijke map.
- Bibliotheekpaneel: Organisatie van tracks op basis van mappen, drag-and-drop, zoekfunctie en prullenbak.
Eerlijke Vergelijking
StemDeck probeert niet te concurreren met commerciële producten, maar dekt de kerngebruiken af.
| Kenmerk | StemDeck | Moises / LALAL.AI / vergelijkbaar |
| Prijs | Gratis, voor altijd | Freemium; credits of abonnement vereist |
| Hosting | Draait volledig op jouw machine | Cloud; audio moet worden geüpload |
| Account / login | Geen | Vereist |
| Internet nodig | Alleen voor YouTube en eerste model-download (~170 MB) | Altijd; geen offline gebruik mogelijk |
| Privacy | Audio verlaat je machine nooit | Audio wordt geüpload naar servers van derden |
| Dataretentie | Jij hebt de controle; verwijder alles direct | Geregeld door privacybeleid van de provider |
| Stem-model | Demucs htdemucs_6s (Open Source, Meta AI) | Propriëtaire modellen, vaak hogere kwaliteit |
| Aantal stems | 6 (zang, drums, bas, gitaar, piano, overig) | Tot 10, afhankelijk van service en plan |
| Inputformaten | YouTube URL, MP3, WAV, FLAC, OGG/Opus, MP4, M4A | MP3, WAV, FLAC, M4A en meer |
| Snelheid | Afhankelijk van hardware (snel met GPU, traag op CPU) | Snel (draait op hun servers) |
| Batch-verwerking | Eén taak per keer | Ja, in betaalde plannen |
| Mobiele app | Nee | iOS en Android |
| Extra functies | Nee (geen pitch shift, akkoorddetectie, lyrics, click track) | Ja, varieert per product |
| Afwerking | Functionele, hobby-grade UI | Gepolijste, production-grade apps |
| Broncode | Open source, forkbaar, self-hostable | Gesloten broncode |
Download en Installatie
Pre-built installers en zip-bestanden zijn beschikbaar bij elke GitHub Release.
macOS
- Apple Silicon (MPS):
StemDeck-macOS-arm64.dmg (M1 en later)
- Intel (CPU only):
StemDeck-macOS-x64.dmg
Installatie: Open de DMG, sleep StemDeck naar Applicaties en start de app. Bij de eerste start downloadt de setup de Python runtime (~500 MB), FFmpeg en het Demucs-model (~170 MB). Let op: macOS kan een Gatekeeper-melding tonen; klik met de rechtermuisknop op de app en kies 'Open' om dit te omzeilen.
Windows
- CPU only:
StemDeck-Windows-x64.zip (~700 MB)
- NVIDIA CUDA:
StemDeck-Windows-x64.NVIDIA.zip (~1.6 GB)
Installatie: Pak het zip-bestand uit en start StemDeck.exe. FFmpeg, het Demucs-model, configuratie en logs staan in een data/ map naast de executable. Bij de eerste start verifieert de app de Python runtime en downloadt FFmpeg en het Demucs-model (~170 MB).
Technologieën
StemDeck is gebouwd met de volgende technologieën:
- Backend: Python 3.12 (beheerd via
uv) met een FastAPI backend (REST en Server-Sent Events).
- Stem-separatie: Demucs (
htdemucs_6s) van Meta AI. Voor de optionele lead/backing vocal split wordt het UVR-MDX-NET Karaoke 2 model gebruikt via audio-separator.
- Audio-tools:
yt-dlp voor YouTube audio, FFmpeg voor transcoding en mixing, librosa voor BPM- en toonsoortanalyse, en pyloudnorm (ITU-R BS.1770) voor luidheidsmeting.
- Desktop Shell: Tauri v2 (Rust/WKWebView op macOS, Rust/WebView2 op Windows).
- Frontend: Vanilla JS met de Web Audio API (geen frameworks), waveforms worden gerenderd op
<canvas>.
Bouwen vanuit broncode
macOS Native App
Vereist Rust, Node.js en Python 3.12.
- Voeg cross-compilation targets toe:
rustup target add aarch64-apple-darwin (Apple Silicon) of x86_64-apple-darwin (Intel).
- Voer de scripts uit:
scripts/macos/make-runtime-pack.sh, scripts/macos/make-app.sh, en scripts/macos/make-dmg.sh.
Web Server (macOS / Linux / Windows met Python 3.12+)
Voorwaarden: Python 3.12+, ffmpeg in PATH, en uv.
macOS / Linux:
git clone https://github.com/stemdeckapp/stemdeck stemdeck && cd stemdeck
./run.sh setup
./run.sh start
Open daarna http://localhost:8000.
Windows (PowerShell):
- Installeer
uv via winget: winget install astral-sh.uv
- Installeer
ffmpeg via winget: winget install Gyan.FFmpeg
- Clone en start:
git clone https://github.com/stemdeckapp/stemdeck stemdeck; cd stemdeck
uv sync
uv run uvicorn app.main:app --host 127.0.0.1 --port 8000 --timeout-graceful-shutdown 5
Docker
docker compose -f build/docker-compose.yml up --build
Voor Linux-hosts met een NVIDIA GPU: voeg --runtime=nvidia -e NVIDIAVISIBLEDEVICES=all toe.
Gebruikershandleiding
- Import: Kies in de importbalk welke stems je wilt extraheren (standaard alle 6). Plak een YouTube-URL of sleep een audiobestand in en klik op Process.
- Verwerking: Wacht tot de fasen Uploading... / Downloading... → Analyzing... → Separating... → Mixing tracks... zijn voltooid.
- Studio Dashboard:
- Mixen: Gebruik Play/Pause/Stop.
M mute een stem, S solo's een stem, Monitor isoleert één stem.
- Volume: Gebruik de fader. Dubbelklik om terug te gaan naar 0 dB. Shift + muiswiel voor grove aanpassing, muiswiel voor fijne aanpassing.
- Looping: Sleep op de ruler om een regio te definiëren en activeer Loop.
- Zoomen: Gebruik
+ / - / Fit of Ctrl/Cmd + muiswiel.
- Export: Klik op Download Mix in de footer voor een samengevoegde WAV-versie van de geselecteerde stems.
- Sneltoetsen:
Spatie (play/pause), [ (seek -5s), ] (seek +5s), L (loop), I (loop in), O (loop out).
Configuratie
| Variabele | Standaard | Doel |
STEMDECKDEMUCSDEVICE | auto | Forceer Torch apparaat: cuda, mps, of cpu. |
STEMDECKDEMUCSMODEL | htdemucs_6s | Naam van het Demucs model. |
STEMDECKJOBSDIR | ./jobs | Map voor taakdirectories. |
STEMDECKDATADIR | (geen) | Root voor portable mode. |
STEMDECKMAXDURATION_SEC | 1200 | Maximaal toegestane audiolengte in seconden. |
STEMDECKJOBTTL_SECONDS | 86400 | Hoe lang taakdirectories bewaard blijven op schijf. |
API
| Methode | Pad | Doel |
GET | /api/health | Server gezondheid en versie-info |
POST | /api/jobs | Start nieuwe taak (JSON of multipart file) |
GET | /api/jobs | Lijst van voltooide taken (bibliotheek) |
GET | /api/jobs/{id} | Status snapshot van een taak |
GET | /api/jobs/{id}/events | SSE stream van taakstatus |
POST | /api/jobs/{id}/cancel | Beëindig actieve subprocess en annuleer taak |
GET | /api/jobs/{id}/stems/{name}.wav | Stream een individuele stem WAV-file |
Probleemoplossing
ffmpeg: command not found: Installeer FFmpeg en herstart de server.
- YouTube JavaScript runtime warning: Installeer
deno (op macOS: brew install deno). Downloads werken nog wel, maar kunnen suboptimale formaten kiezen.
- Eerste separatie is traag: Demucs downloadt bij de eerste run de weights (~170 MB).
- Demucs draait alleen op CPU: Controleer de startup log voor
device=mps of device=cuda. Als er cpu staat, is mogelijk de Torch-installatie CPU-only.
- Pagina herladen tijdens taak: De taak blijft op de server draaien. Wacht tot deze klaar is.
Bestandsstructuur op schijf
jobs/<job_id>/
stems/
vocals.wav
drums.wav
bass.wav
guitar.wav
piano.wav
other.wav
original.wav (alleen bij subset-selectie: som van niet-geselecteerde stems)
mix.wav (alleen bij subset-selectie: ffmpeg amix van geselecteerde stems)
Disclaimer
StemDeck is een lokale tool voor stem-separatie, bedoeld voor persoonlijke studie, onderzoek en experimenten. Het is geen downloadservice. Alle verwerking vindt plaats op de machine van de gebruiker en er wordt geen audio verzonden.
De ondersteuning voor YouTube-URL's wordt geleverd via yt-dlp. Geautomatiseerd downloaden kan in strijd zijn met de servicevoorwaarden van YouTube. De gebruiker is zelf verantwoordelijk voor het recht om audio te verwerken en het respecteren van auteursrechten.
De software wordt "as is" geleverd, zonder enige garantie.