StemDeck: Separación de audio de 6 pistas con IA, gratuita y local con Demucs y Tauri
StemDeck es un estudio de extracción de pistas (stems) de código abierto y enfoque local que aísla voz, batería, bajo, guitarra y piano sin suscripciones en la nube ni subida de archivos.
Los separadores de pistas basados en la nube como Moises, LALAL.AI y Splitter.ai han hecho que la deconstrucción de pistas sea accesible para músicos, remixers y productores. Sin embargo, casi siempre conllevan cuotas de uso restrictivas, preocupaciones de privacidad respecto al audio no publicado y suscripciones mensuales recurrentes.
StemDeck aborda estos problemas ofreciendo un estudio de separación de audio con prioridad local (local-first). Extrae hasta seis pistas independientes (voz, batería, bajo, guitarra, piano y otros) directamente en tu equipo, sin dependencias de la nube, sin cuentas y sin subir datos a ningún servidor.
La arquitectura detrás de StemDeck
StemDeck combina modelos de aprendizaje automático de alto rendimiento con una interfaz de estudio nativa para la web, empaquetada en un entorno de escritorio ligero y multiplataforma.
+-------------------------------------------------------------+
| StemDeck Desktop (Tauri v2) |
| +-------------------------------------------------------+ |
| | Frontend (Vanilla JS + Web Audio) | |
| | - Multi-lane Canvas Waveforms - Per-stem VU Meters | |
| | - Loop Regions & Scrubbing - Live Mixer Bus | |
| +-------------------------------------------------------+ |
| │ SSE / REST API |
| +──────────────────────────▼────────────────────────────+ |
| | FastAPI Backend (Python 3.12) | |
| | - Demucs (htdemucs_6s) [CUDA / MPS / CPU] | |
| | - UVR-MDX-NET Karaoke 2 (Lead/Backing Vocal Split) | |
| | - Librosa (BPM & Key) | Pyloudnorm (BS.1770 LUFS) | |
| | - FFmpeg Transcoding & Custom Mixdown Engine | |
| +-------------------------------------------------------+ |
+-------------------------------------------------------------+
- Motor de separación: Utiliza el modelo
htdemucs_6sde Meta AI mediante PyTorch. Detecta y se vincula automáticamente a NVIDIA CUDA en Linux/Windows, Apple Silicon MPS en macOS, o recurre de forma fluida a hilos de CPU. - Separación vocal: Admite una pasada secundaria opcional utilizando el modelo
UVR-MDX-NET Karaoke 2(a través deaudio-separator) para aislar la voz principal y los coros. - Análisis de audio: Extrae automáticamente metadatos de la pista, incluidos el BPM (vía
librosa), la tonalidad y confianza de escala (mediante perfiles de tono Albrecht-Shanahan), y mediciones de sonoridad integrada (mediantepyloudnormITU-R BS.1770). - Frontend y mezclador tipo DAW: Desarrollado sin frameworks pesados de frontend. Utiliza JavaScript vanilla con renderizado de muestras mín/máx en
<canvas>de HTML5 y la Web Audio API para monitorización RMS posterior a la ganancia, lógica de solo/mute y reproducción en bucle con precisión de fase. - Entorno de escritorio: Impulsado por Tauri v2 (Rust + WebViews nativas del sistema: WKWebView en macOS y WebView2 en Windows).
Capacidades principales
- Aislamiento de 6 pistas: Soporte para arrastrar y soltar formatos estándar comprimidos y sin comprimir (
MP3,WAV,FLAC,OGG/Opus,MP4,M4A) o URLs directas de YouTube. - Extracción inteligente de subconjuntos: Selecciona un subconjunto de pistas (por ejemplo, solo bajo y batería) y StemDeck creará automáticamente una pista de acompañamiento
Originalque contiene la mezcla complementaria (la mezcla completa menos tu selección), evitando duplicaciones accidentales. - Mezcla no destructiva en el navegador: Control de ganancia en tiempo real, solo, silencio y controles de monitorización por pista individual con vúmetros en vivo.
- Exportación instantánea de mezclas: Genera pistas combinadas
mix.wavsobre la marcha medianteamixde FFmpeg o archivos de audio aislados individuales.
Guía de inicio rápido e instalación
1. Binarios nativos de escritorio
Los binarios precompilados para macOS (Apple Silicon arm64 e Intel x64) y Windows (CPU o paquetes con CUDA preconfigurado) están disponibles directamente en los lanzamientos de GitHub (GitHub Releases). En el primer inicio, la aplicación configura el entorno necesario y descarga los pesos del modelo (~170 MB) en un directorio de datos local.
2. Ejecución local con Python y UV
Si prefieres ejecutar el servidor web directamente:
# Clonar el repositorio
git clone https://github.com/stemdeckapp/stemdeck && cd stemdeck
# Configuración automatizada para macOS / Linux (requiere ffmpeg y uv)
./run.sh setup
./run.sh start
Para Windows PowerShell con una GPU NVIDIA:
# Instalar dependencias con uv
uv sync
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
# Configurar el dispositivo e iniciar el servidor FastAPI
$env:STEMDECK_DEMUCS_DEVICE = "cuda"
uv run uvicorn app.main:app --host 127.0.0.1 --port 8000 --timeout-graceful-shutdown 5
3. Despliegue con Docker
Ejecuta el contenedor oficial de GHCR con acceso a GPU habilitado:
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 y flujo de trabajo de tareas
StemDeck expone una interfaz REST limpia junto con Server-Sent Events (SSE) para el seguimiento de tareas:
| Método | Endpoint | Descripción |
|---|---|---|
POST |
/api/jobs |
Enviar una carga de archivo local multipart o { "url": "...", "stems": [...] } |
GET |
/api/jobs/{id}/events |
Flujo SSE que emite el progreso de la tarea (descarga, análisis, separación, mezcla) |
GET |
/api/jobs/{id}/stems/{stem}.wav |
Transmitir el audio de una pista específica (vocals.wav, bass.wav, drums.wav, etc.) |
POST |
/api/jobs/{id}/cancel |
Terminar de inmediato los subprocesos activos y limpiar el disco temporal |
PATCH |
/api/jobs/{id}/sections |
Guardar límites de marcadores y anotaciones en la forma de onda |
Resumen
Si necesitas integraciones móviles avanzadas o modelos propietarios de separación de 10 pistas, las plataformas SaaS comerciales siguen siendo una opción. Pero para productores, transcriptores y músicos que buscan privacidad total, sin límites de uso y con procesamiento local sin conexión, StemDeck ofrece un impresionante flujo de trabajo de estilo DAW de código abierto.