Repolode
tsirysndr

tsirysndr/music-player

Um daemon de reprodução de música extensível, com servidor e cliente em Rust, gRPC, GraphQL, interface web, interface de terminal e app desktop.

Alternativa open source a:SpotifySonos

Estrelas
529
Forks
34
Issues abertas
15
Último commit
há 9 dias

O que é?

Music Player é um daemon de reprodução de música inspirado no mpd e no Mopidy. Um único binário funciona como servidor e cliente: a primeira instância inicia o daemon, e as chamadas seguintes detectam sua presença e enviam comandos para ele. O daemon examina um diretório local de músicas, indexa a biblioteca no SQLite com busca de texto completo do FTS5 e a disponibiliza por gRPC, GraphQL e eventos WebSocket.

A decodificação e a reprodução de áudio usam o mecanismo do firmware Rockbox por meio de vários crates Rust publicados. O programa oferece suporte a mais de 40 formatos de áudio e a uma cadeia de DSP com presets de EQ, crossfade e ReplayGain. A saída pode ser direcionada ao dispositivo de áudio do sistema, ao stdout, a um pipe nomeado ou a um socket Unix ou TCP.

As opções de controle incluem uma interface de terminal com ratatui, uma interface web em React servida na porta 5053 e um app desktop em Slint. O daemon também pode navegar por bibliotecas e transmitir áudio de servidores Subsonic, Navidrome e Jellyfin, transmitir para dispositivos Chromecast e renderizadores UPnP/DLNA e reproduzir rádio pela internet. As integrações opcionais incluem scrobbling com Rocksky, sincronização com o AT Protocol, identificação por impressão digital com Chromaprint e consultas ao AcoustID, análises de audição com DuckDB e um servidor MCP para agentes de IA.

Recursos principais

  • 01Reproduz mais de 40 formatos de áudio pelo mecanismo de reprodução Rockbox, com EQ, crossfade e ReplayGain
  • 02Biblioteca indexada no SQLite, com busca de texto completo do FTS5
  • 03Interface de terminal, interface web em React e app desktop em Slint que controlam o mesmo daemon
  • 04APIs gRPC e GraphQL para criar clientes personalizados
  • 05Transmite áudio de servidores Subsonic, Navidrome e Jellyfin
  • 06Transmite para dispositivos Chromecast e renderizadores UPnP/DLNA

Casos de uso

  • Executar um servidor de música auto-hospedado em um computador doméstico e controlá-lo pelo navegador do celular ou pelo terminal
  • Transmitir uma biblioteca remota do Navidrome ou Jellyfin para uma saída de áudio local
  • Criar um cliente de música personalizado usando a API gRPC ou GraphQL
  • Permitir que um agente de IA organize a fila e gerencie a reprodução pelo servidor MCP

Início rápido

  1. 1

    Instale a CLI com o Homebrew (macOS/Linux)

    brew install tsirysndr/tap/musicplayer
  2. 2

    Inicie o daemon, que verifica $HOME/Music por padrão

    music-player

Antes de usar

  • O aplicativo para desktop do macOS não tem assinatura de código nem notarização, então o Gatekeeper o bloqueia na primeira inicialização.
  • Para compilar a partir do código-fonte, são necessários protobuf, Bun para a interface web e um script separado para baixar o DuckDB, que deve ser executado antes de cargo install.

Em coleções

Tópicos

Perguntas frequentes

O que é music-player?
Um daemon de reprodução de música extensível, com servidor e cliente em Rust, gRPC, GraphQL, interface web, interface de terminal e app desktop. Music Player é um daemon de reprodução de música inspirado no mpd e no Mopidy. Um único binário funciona como servidor e cliente: a primeira instância inicia o daemon, e as chamadas seguintes detectam sua presença e enviam comandos para ele. O daemon examina um diretório local de músicas, indexa a biblioteca no SQLite com busca de texto completo do FTS5 e a disponibiliza por gRPC, GraphQL e eventos WebSocket.
music-player é gratuito? Qual é a licença?
music-player é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
music-player ainda é mantido?
Manutenção ativa. O último commit de music-player foi em 30 de out. de 2026.
Para que posso usar music-player?
Executar um servidor de música auto-hospedado em um computador doméstico e controlá-lo pelo navegador do celular ou pelo terminal Transmitir uma biblioteca remota do Navidrome ou Jellyfin para uma saída de áudio local Criar um cliente de música personalizado usando a API gRPC ou GraphQL Permitir que um agente de IA organize a fila e gerencie a reprodução pelo servidor MCP
Como instalar music-player?
Instale a CLI com o Homebrew (macOS/Linux): brew install tsirysndr/tap/musicplayer Inicie o daemon, que verifica $HOME/Music por padrão: music-player
Onde consigo music-player?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tsirysndr/music-player

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados