Um servidor de música extensível em Python que reproduz áudio local, do Spotify, SoundCloud e de rádios, controlado por qualquer cliente MPD ou web.
- 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
Instale a CLI com o Homebrew (macOS/Linux)
brew install tsirysndr/tap/musicplayer - 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
Servidor de música auto-hospedado com interface web para ouvir sua coleção de músicas de qualquer lugar.
Servidor de streaming de música autohospedado e baseado na web, que reproduz sua biblioteca pessoal em qualquer navegador.
Um servidor de streaming de música self-hosted que permite ouvir sua própria biblioteca musical pelo navegador ou por um app para celular.
Cliente nativo e leve do Spotify para desktop, feito em Rust, que reproduz músicas localmente e oferece suporte ao Spotify Connect no Linux, macOS e Windows.
Servidor de streaming de áudio auto-hospedado que alimenta players Squeezebox e emuladores como o Squeezelite, escrito em Perl.