Repolode
tsirysndr

tsirysndr/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.

Alternativa open source a:SpotifySonos

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. 1

    Instala la CLI con Homebrew (macOS/Linux)

    brew install tsirysndr/tap/musicplayer
  2. 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