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_6s de 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 de audio-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 (mediante pyloudnorm ITU-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

  1. 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.
  2. 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 Original que contiene la mezcla complementaria (la mezcla completa menos tu selección), evitando duplicaciones accidentales.
  3. 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.
  4. Exportación instantánea de mezclas: Genera pistas combinadas mix.wav sobre la marcha mediante amix de 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.

Fuente

stemdeckapp/stemdeck: Stemdeck is an modern stem extraction platform for musicians,producers and hobbyists, designed to isolate vocals, drums, bass, piano and guitar for practice, transcription, remixing, and creative audio workflows through a modern and interactive interface