Un servidor de música extensible en Python que reproduce audio local, de Spotify, SoundCloud y radio, controlado desde cualquier cliente MPD o web.
- Estrellas
- 529
- Forks
- 34
- Issues abiertos
- 15
- Último commit
- hace 9 días
¿Qué es?
Music Player es un daemon de reproducción de música inspirado en mpd y Mopidy. Un único binario funciona como servidor y cliente: la primera instancia inicia el daemon y las siguientes detectan que está en ejecución y le envían comandos. El daemon analiza un directorio de música local, indexa la biblioteca en SQLite con búsqueda de texto completo mediante FTS5 y la expone a través de gRPC, GraphQL y eventos WebSocket.
La decodificación y reproducción de audio utilizan el motor del firmware Rockbox mediante varios crates de Rust publicados. Admite más de 40 formatos de audio y una cadena DSP con preajustes de ecualización, fundido cruzado y ReplayGain. La salida puede enviarse al dispositivo de audio del sistema o a stdout, una named pipe o un socket Unix o TCP.
Entre las opciones de control se incluyen una interfaz de terminal con ratatui, una interfaz web con React servida en el puerto 5053 y una aplicación de escritorio con Slint. El daemon también puede explorar y transmitir contenido de servidores Subsonic, Navidrome y Jellyfin, enviar audio a Chromecast y renderizadores UPnP/DLNA, y reproducir radio por internet. Las integraciones opcionales incluyen scrobbling con Rocksky, sincronización con AT Protocol, identificación por huella digital con Chromaprint y consultas a AcoustID, análisis de escucha con DuckDB y un servidor MCP para agentes de IA.
Funciones clave
- 01Reproduce más de 40 formatos de audio mediante el motor de reproducción de Rockbox, con ecualización, fundido cruzado y ReplayGain
- 02Biblioteca indexada en SQLite con búsqueda de texto completo mediante FTS5
- 03Interfaz de terminal, interfaz web con React y aplicación de escritorio con Slint que controlan el mismo daemon
- 04APIs gRPC y GraphQL para crear clientes personalizados
- 05Transmite contenido de servidores Subsonic, Navidrome y Jellyfin
- 06Envía audio a Chromecast y renderizadores UPnP/DLNA
Casos de uso
- Ejecutar un servidor de música autohospedado en un equipo doméstico y controlarlo desde el navegador del teléfono o la terminal
- Transmitir una biblioteca remota de Navidrome o Jellyfin a una salida de audio local
- Crear un cliente de música personalizado sobre su API gRPC o GraphQL
- Permitir que un agente de IA gestione la cola y la reproducción mediante el servidor MCP
Inicio rápido
- 1
Instala la CLI con Homebrew (macOS/Linux)
brew install tsirysndr/tap/musicplayer - 2
Inicia el daemon, que analiza $HOME/Music de forma predeterminada
music-player
Antes de usarlo
- La aplicación de escritorio para macOS no tiene firma de código ni notarización, por lo que Gatekeeper la bloquea la primera vez que se inicia.
- Para compilar desde el código fuente se necesitan protobuf, Bun para la interfaz web y un script independiente para descargar DuckDB, que debe ejecutarse antes de cargo install.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es music-player?
- Un daemon, servidor y cliente de música extensible escrito en Rust, con gRPC, GraphQL, interfaz web, interfaz de terminal y aplicación de escritorio. Music Player es un daemon de reproducción de música inspirado en mpd y Mopidy. Un único binario funciona como servidor y cliente: la primera instancia inicia el daemon y las siguientes detectan que está en ejecución y le envían comandos. El daemon analiza un directorio de música local, indexa la biblioteca en SQLite con búsqueda de texto completo mediante FTS5 y la expone a través de gRPC, GraphQL y eventos WebSocket.
- ¿music-player es gratuito? ¿Qué licencia tiene?
- music-player es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿music-player sigue mantenido?
- Mantenimiento activo. El último commit de music-player fue el 30 oct 2026.
- ¿Para qué puedo usar music-player?
- Ejecutar un servidor de música autohospedado en un equipo doméstico y controlarlo desde el navegador del teléfono o la terminal Transmitir una biblioteca remota de Navidrome o Jellyfin a una salida de audio local Crear un cliente de música personalizado sobre su API gRPC o GraphQL Permitir que un agente de IA gestione la cola y la reproducción mediante el servidor MCP
- ¿Cómo se instala music-player?
- Instala la CLI con Homebrew (macOS/Linux): brew install tsirysndr/tap/musicplayer Inicia el daemon, que analiza $HOME/Music de forma predeterminada: music-player
- ¿Dónde consigo music-player?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tsirysndr/music-player
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un servidor de música autohospedado con interfaz web para escuchar tu colección desde cualquier lugar.
Servidor de streaming de música autohospedado y web que reproduce tu biblioteca musical personal en cualquier navegador.
Servidor de streaming de música autoalojado para escuchar tu propia biblioteca desde un navegador web o una app móvil.
Cliente de escritorio nativo y ligero de Spotify, escrito en Rust, que reproduce música localmente y admite Spotify Connect en Linux, macOS y Windows.
Servidor de streaming de audio autohospedado que da servicio a reproductores Squeezebox y emuladores como Squeezelite, escrito en Perl.