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.

KenmerkStemDeckMoises / LALAL.AI / vergelijkbaar
PrijsGratis, voor altijdFreemium; credits of abonnement vereist
HostingDraait volledig op jouw machineCloud; audio moet worden geüpload
Account / loginGeenVereist
Internet nodigAlleen voor YouTube en eerste model-download (~170 MB)Altijd; geen offline gebruik mogelijk
PrivacyAudio verlaat je machine nooitAudio wordt geüpload naar servers van derden
DataretentieJij hebt de controle; verwijder alles directGeregeld door privacybeleid van de provider
Stem-modelDemucs htdemucs_6s (Open Source, Meta AI)Propriëtaire modellen, vaak hogere kwaliteit
Aantal stems6 (zang, drums, bas, gitaar, piano, overig)Tot 10, afhankelijk van service en plan
InputformatenYouTube URL, MP3, WAV, FLAC, OGG/Opus, MP4, M4AMP3, WAV, FLAC, M4A en meer
SnelheidAfhankelijk van hardware (snel met GPU, traag op CPU)Snel (draait op hun servers)
Batch-verwerkingEén taak per keerJa, in betaalde plannen
Mobiele appNeeiOS en Android
Extra functiesNee (geen pitch shift, akkoorddetectie, lyrics, click track)Ja, varieert per product
AfwerkingFunctionele, hobby-grade UIGepolijste, production-grade apps
BroncodeOpen source, forkbaar, self-hostableGesloten 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.

  1. Voeg cross-compilation targets toe: rustup target add aarch64-apple-darwin (Apple Silicon) of x86_64-apple-darwin (Intel).
  2. 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):

  1. Installeer uv via winget: winget install astral-sh.uv
  2. Installeer ffmpeg via winget: winget install Gyan.FFmpeg
  3. 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

  1. 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.
  2. Verwerking: Wacht tot de fasen Uploading... / Downloading...Analyzing...Separating...Mixing tracks... zijn voltooid.
  3. 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.
  1. Sneltoetsen: Spatie (play/pause), [ (seek -5s), ] (seek +5s), L (loop), I (loop in), O (loop out).

Configuratie

VariabeleStandaardDoel
STEMDECKDEMUCSDEVICEautoForceer Torch apparaat: cuda, mps, of cpu.
STEMDECKDEMUCSMODELhtdemucs_6sNaam van het Demucs model.
STEMDECKJOBSDIR./jobsMap voor taakdirectories.
STEMDECKDATADIR(geen)Root voor portable mode.
STEMDECKMAXDURATION_SEC1200Maximaal toegestane audiolengte in seconden.
STEMDECKJOBTTL_SECONDS86400Hoe lang taakdirectories bewaard blijven op schijf.

API

MethodePadDoel
GET/api/healthServer gezondheid en versie-info
POST/api/jobsStart nieuwe taak (JSON of multipart file)
GET/api/jobsLijst van voltooide taken (bibliotheek)
GET/api/jobs/{id}Status snapshot van een taak
GET/api/jobs/{id}/eventsSSE stream van taakstatus
POST/api/jobs/{id}/cancelBeëindig actieve subprocess en annuleer taak
GET/api/jobs/{id}/stems/{name}.wavStream 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.