Reproductor y mezclador de stems de audio — con detección de tono, ajuste de pitch/tempo, generación ChordPro con IA y streaming de letras sincronizadas.
Features • Descargar • Compilar • Cómo usar • Docs • Licencia
StemPlayer es un reproductor multi-pista diseñado para músicos, bandas y técnicos de sonido. Carga tus stems (WAV, MP3, FLAC), ajusta el pitch y tempo por pista, genera sheets de acordes con IA, y transmite las letras sincronizadas a cualquier navegador en la red local.
- Carga de stems — Importa múltiples archivos de audio (WAV, MP3, M4A, FLAC) desde una carpeta
- Detección automática — Analiza el mix para detectar tonalidad (key) y tempo (BPM)
- Pitch shift — Cambia la tonalidad en semitonos (-3 a +3) por stem o global
- Tempo — Ajusta el BPM con Rubber Band
- Controles por stem — Volumen, paneo, mute, solo, categoría, renombrar y reordenar
- Count-in y Metrónomo — Compases de entrada configurables, metrónomo persistente
- Exportación — ZIP o WAV, con configuración actual o stems originales
- Librería persistente — Guarda canciones con metadatos JSON y múltiples librerías
- Setlists — Listas de reproducción con auto-avance, pre-carga y reordenación
- Filtros de stems — Clasificación automática (click, guía, sin FX) por patrón de nombre
- Undo/Redo — Historial completo de ajustes con detección de cambios no guardados
- ChordPro — Vista previa, editor con botones de acordes, exportación a PDF, modo Live Chords
- Editor de Sync — Editor visual con waveform, tabla de tiempos y previsualización ChordPro
- Streaming Live Chords — Transmite la letra sincronizada a cualquier navegador en la red local vía HTTP + QR
- Proveedores IA — OpenRouter y Google AI Studio para generación de acordes y sincronización
- Sync con Whisper — Regeneración de timestamps vía faster-whisper + refinamiento con IA
- Temas externos — Sistema de temas plugin con colores, QSS, iconos SVG y layout extensible
- Caché de audio — Dos niveles (mono WAV + pitch/tempo) para recarga rápida
- Medidores de sistema — CPU, RAM y pico de audio en tiempo real
Descarga la última versión desde Releases.
| Plataforma | Archivo | Requisitos |
|---|---|---|
| Linux | StemPlayer-v0.1.0-linux-x86_64.tar.gz |
Ninguno (autocontenido, ~800 MB) |
| Windows | StemPlayer-v0.1.1-win64.zip |
Ninguno (autocontenido, ~185 MB) |
Nota: El binario Linux incluye TensorFlow completo (~800 MB). Para un tamaño menor, compila desde código.
- Python 3.10 o superior
- pip
- FFmpeg (para algunas funciones de audio)
git clone https://github.com/bay122/stemplayer.git
cd stemplayer
python -m venv penv
source penv/bin/activate # Linux/Mac
# .\penv\Scripts\Activate.ps1 # Windows
pip install -r requirements.txtpython main.py # Tema oscuro por defecto
python main.py -theme stemdeck # Tema StemDeck
python main.py -theme theme3 # Tema con layout extendidopip install pyinstaller
pyinstaller StemPlayer.specEl binario se genera en dist/StemPlayer/.
| Flag | Descripción |
|---|---|
-theme <nombre> |
Carga un tema desde app/ext/themes/<nombre>/ |
-no-splash |
Desactiva la pantalla de splash inicial |
- Configurar librería — En el panel izquierdo, configura la carpeta de canciones
- Cargar stems — Haz clic en "Cargar Carpeta de Stems" y selecciona una carpeta con pistas de audio
- Ajustar mezcla — Modifica volumen, paneo, mute/solo de cada pista
- Pitch/Tempo — Usa los botones de semitonos o ingresa BPM personalizado
- Reproducir — Presiona Play
- Guardar — En la librería para persistir la configuración
- Setlists — Crea listas de reproducción y navega con Prev/Next
- ChordPro — Desde el menú ⋮ genera sheets, edita sync o abre el editor
- Stream Live Chords — En el panel de acordes, elige "Stream to browser (Web)" para compartir en la red
- Copia
.env_examplea.env - Obtén una API key de OpenRouter o Google AI Studio
- Colócala en
.env:
OPENROUTER_APIKEY=tu-api-key-aqui- Desde la app: Settings → IA → ingresa tu API key y selecciona el proveedor
| Variable | Descripción |
|---|---|
OPENROUTER_APIKEY |
API Key de OpenRouter |
GOOGLE_APIKEY |
API Key de Google AI Studio |
| Documento | Descripción |
|---|---|
docs/user_guide.md |
Guía de usuario completa — todas las vistas, controles y flujos |
docs/architecture.md |
Arquitectura, flujo de datos, estructura del proyecto |
docs/theming.md |
Sistema de temas centralizado y guía para crear nuevos temas |
docs/threading.md |
Gestión de hilos y Thread Safety |
docs/api.md |
API de proveedores IA (OpenRouter, Google AI Studio) |
docs/building.md |
Compilación con PyInstaller |
docs/tests.md |
Tests y scripts de prueba |
python -m pytest test/ -vLos tests requieren archivos de audio de ejemplo. Consulta docs/tests.md para más detalles.
| Componente | Tecnología |
|---|---|
| Lenguaje | Python 3.10+ |
| GUI | PySide6 (Qt6) |
| Audio I/O | soundfile, sounddevice |
| Procesamiento | librosa, pyrubberband, numpy, scipy |
| IA / LLM | OpenRouter API, Google AI Studio, faster-whisper |
| ChordPro | python-chordpro |
| Empaquetado | PyInstaller |
Las contribuciones son bienvenidas. Por favor:
- Haz fork del proyecto
- Crea una rama:
git checkout -b feature/nueva-funcionalidad - Haz commit:
git commit -m 'feat: agregar nueva funcionalidad' - Push:
git push origin feature/nueva-funcionalidad - Abre un Pull Request
Lee .github/CONTRIBUTING.md para más detalles.
Si StemPlayer te es útil, considera:
- Dar una estrella — en GitHub
- Reportar bugs — abre un issue
- Compartir — recomienda el proyecto a otros músicos
- Donar — activa las GitHub Sponsors para apoyar el desarrollo continuo
Este proyecto está bajo licencia CC BY-NC-SA 4.0.
Puedes:
- Compartir — copiar y redistribuir el material
- Adaptar — remezclar, transformar y construir sobre el material
Siempre que:
- Atribución — des crédito adecuado
- No comercial — no uses el material para fines comerciales
- Compartir igual — distribuyas tus contribuciones bajo la misma licencia
Lee el archivo LICENSE para los términos completos.
Hecho con ❤️ para músicos