StemDeck : Séparation audio IA 6 pistes gratuite et locale avec Demucs et Tauri
StemDeck est un studio d'extraction de stems open source et local-first qui isole la voix, la batterie, la basse, la guitare et le piano, sans abonnement cloud ni téléversement de données.
Les outils de séparation de pistes (stems) basés sur le cloud comme Moises, LALAL.AI et Splitter.ai ont rendu la déconstruction de morceaux accessible aux musiciens, remixeurs et producteurs. Cependant, ils s'accompagnent presque toujours de quotas d'utilisation restrictifs, de préoccupations quant à la confidentialité des fichiers audio non publiés et d'abonnements mensuels récurrents.
StemDeck répond à ces problématiques en proposant un studio de séparation audio axé sur le local (local-first). Il extrait jusqu'à six pistes distinctes (voix, batterie, basse, guitare, piano et autre) directement sur votre machine, sans aucune dépendance au cloud, sans compte et sans téléversement de données.
L'architecture de StemDeck
StemDeck associe des modèles de ML haute performance à une interface de studio web-native et accessible, le tout encapsulé dans un environnement de bureau léger et multiplateforme.
+-------------------------------------------------------------+
| StemDeck Desktop (Tauri v2) |
| +-------------------------------------------------------+ |
| | Frontend (Vanilla JS + Web Audio) | |
| | - Waveforms Canvas multipistes - Vumètres par stem | |
| | - Régions de boucle & Scrub - Bus de mix en direct | |
| +-------------------------------------------------------+ |
| │ SSE / REST API |
| +──────────────────────────▼────────────────────────────+ |
| | FastAPI Backend (Python 3.12) | |
| | - Demucs (htdemucs_6s) [CUDA / MPS / CPU] | |
| | - UVR-MDX-NET Karaoke 2 (Séparation Lead/Chœurs) | |
| | - Librosa (BPM & Tonalité) | Pyloudnorm (BS.1770) | |
| | - Transcodage FFmpeg & Moteur de mixage sur mesure | |
| +-------------------------------------------------------+ |
+-------------------------------------------------------------+
- Moteur de séparation : Exploite le modèle
htdemucs_6sde Meta AI via PyTorch. Il détecte et utilise automatiquement NVIDIA CUDA sous Linux/Windows, Apple Silicon MPS sous macOS, ou bascule en douceur sur les threads du processeur (CPU). - Séparation vocale : Prend en charge une seconde passe optionnelle via le modèle
UVR-MDX-NET Karaoke 2(viaaudio-separator) pour isoler la voix principale et les chœurs. - Analyse audio : Extrait automatiquement les métadonnées de la piste, y compris le BPM (via
librosa), la tonalité et l'indice de confiance de la gamme (via les profils de hauteur d'Albrecht-Shanahan), ainsi que les mesures de sonie intégrée (viapyloudnormITU-R BS.1770). - Frontend & Mixeur STAN/DAW : Conçu sans frameworks frontend lourds. Il utilise du JavaScript pur (Vanilla JS) avec un rendu des échantillons min/max sur balise
<canvas>HTML5 et l'API Web Audio pour le monitoring RMS post-gain, la logique solo/mute et une lecture en boucle avec précision de phase. - Shell de bureau : Propulsé par Tauri v2 (Rust + WebViews système natives : WKWebView sous macOS et WebView2 sous Windows).
Fonctionnalités clés
- Isolation 6 pistes : Prise en charge par glisser-déposer des formats non compressés et compressés standard (
MP3,WAV,FLAC,OGG/Opus,MP4,M4A) ou d'URL YouTube directes. - Extraction intelligente de sous-ensembles : Sélectionnez un sous-ensemble de pistes (par exemple, uniquement la basse et la batterie) et StemDeck génère automatiquement une piste d'accompagnement
Originalcontenant le mixage complémentaire (mix complet moins votre sélection), évitant ainsi tout doublon accidentel. - Mixage non destructif dans le navigateur : Contrôle du gain en temps réel, solo, mute et monitoring par piste avec vumètres en direct.
- Export instantané du mixage : Génère à la volée des stems combinés
mix.wavvia FFmpegamixou des fichiers audio isolés individuels.
Démarrage rapide et installation
1. Fichiers binaires de bureau natifs
Des binaires précompilés pour macOS (Apple Silicon arm64 et Intel x64) ainsi que pour Windows (CPU ou paquets préconfigurés CUDA) sont disponibles directement sur les Releases GitHub. Au premier lancement, l'application configure l'environnement requis et télécharge les poids du modèle (~170 Mo) dans un répertoire de données local.
2. Exécution locale avec Python et UV
Si vous préférez exécuter le serveur web directement :
# Cloner le dépôt
git clone https://github.com/stemdeckapp/stemdeck && cd stemdeck
# Configuration automatisée pour macOS / Linux (nécessite ffmpeg et uv)
./run.sh setup
./run.sh start
Pour Windows PowerShell avec un GPU NVIDIA :
# Installer les dépendances avec uv
uv sync
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
# Définir le périphérique et lancer le serveur FastAPI
$env:STEMDECK_DEMUCS_DEVICE = "cuda"
uv run uvicorn app.main:app --host 127.0.0.1 --port 8000 --timeout-graceful-shutdown 5
3. Déploiement avec Docker
Lancez le conteneur GHCR officiel avec l'accès GPU activé :
docker run -d --name stemdeck \
-p 8000:8000 \
--runtime=nvidia \
-e NVIDIA_VISIBLE_DEVICES=all \
-e STEMDECK_PERSIST_LIBRARY=1 \
-v /local/jobs:/app/jobs \
-v /local/cache:/cache \
ghcr.io/stemdeckapp/stemdeck:edge
API REST et gestion des tâches
StemDeck propose une interface REST claire accompagnée de Server-Sent Events (SSE) pour le suivi des tâches :
| Méthode | Point de terminaison | Description |
|---|---|---|
POST |
/api/jobs |
Soumettre un fichier local via upload multipart ou { "url": "...", "stems": [...] } |
GET |
/api/jobs/{id}/events |
Flux SSE transmettant la progression de la tâche (téléchargement, analyse, séparation, mixage) |
GET |
/api/jobs/{id}/stems/{stem}.wav |
Diffuser l'audio d'une piste spécifique (vocals.wav, bass.wav, drums.wav, etc.) |
POST |
/api/jobs/{id}/cancel |
Interrompre immédiatement les pipelines de sous-processus actifs et nettoyer l'espace disque temporaire |
PATCH |
/api/jobs/{id}/sections |
Enregistrer les délimitations de marqueurs et les annotations sur la forme d'onde |
En résumé
Si vous avez besoin d'intégrations mobiles poussées ou de modèles propriétaires de séparation à 10 pistes, les plateformes SaaS commerciales restent une option. Mais pour les producteurs, transcripteurs et musiciens en quête d'une confidentialité totale, sans limites d'utilisation et avec un traitement 100 % hors ligne, StemDeck propose un flux de travail impressionnant de type DAW, le tout en open source.