Repolode
tsirysndr

tsirysndr/music-player

Расширяемый музыкальный плеер с демоном, сервером и клиентом на Rust, поддержкой gRPC и GraphQL, веб- и терминальным интерфейсами и настольным приложением.

Open source альтернатива:SpotifySonos

Звёзды
529
Форки
34
Открытые issues
15
Последний коммит
9 дней назад

Что это?

Music Player — музыкальный плеер с демоном, созданный по образцу mpd и Mopidy. Один исполняемый файл выполняет роль и сервера, и клиента: первый запуск запускает демон, а последующие обнаруживают его и отправляют ему команды. Демон сканирует локальную музыкальную директорию, индексирует библиотеку в SQLite с полнотекстовым поиском FTS5 и предоставляет к ней доступ через gRPC, GraphQL и события WebSocket.

Для декодирования и воспроизведения аудио используется движок прошивки Rockbox, доступный через несколько опубликованных Rust-крейтов. Плеер поддерживает более 40 аудиоформатов и цепочку DSP с пресетами EQ, кроссфейдом и ReplayGain. Выводить звук можно на системное аудиоустройство, в stdout, именованный канал, Unix- или TCP-сокет.

Управлять плеером можно через терминальный интерфейс на ratatui, веб-интерфейс на React, доступный на порту 5053, и настольное приложение на Slint. Демон также умеет просматривать библиотеки на серверах Subsonic, Navidrome и Jellyfin и транслировать с них музыку, передавать звук на Chromecast и UPnP/DLNA-рендереры, а также воспроизводить интернет-радио. Дополнительные интеграции включают скробблинг Rocksky, синхронизацию через AT Protocol, создание отпечатков Chromaprint с поиском в AcoustID, аналитику прослушиваний на базе DuckDB и MCP-сервер для AI-агентов.

Ключевые возможности

  • 01Воспроизводит более 40 аудиоформатов с помощью движка Rockbox; поддерживает EQ, кроссфейд и ReplayGain
  • 02Индексирует библиотеку в SQLite с полнотекстовым поиском FTS5
  • 03Терминальный интерфейс, веб-интерфейс на React и настольное приложение на Slint управляют одним и тем же демоном
  • 04gRPC- и GraphQL API для создания собственных клиентов
  • 05Транслирует музыку с серверов Subsonic, Navidrome и Jellyfin
  • 06Передаёт звук на Chromecast и UPnP/DLNA-рендереры

Сценарии использования

  • Запуск собственного музыкального сервера на домашнем компьютере с управлением через браузер на телефоне или терминал
  • Трансляция удалённой библиотеки Navidrome или Jellyfin на локальное аудиоустройство
  • Создание собственного музыкального клиента на основе gRPC- или GraphQL API
  • Управление очередью и воспроизведением с помощью AI-агента через MCP-сервер

Быстрый старт

  1. 1

    Установите CLI с помощью Homebrew (macOS/Linux)

    brew install tsirysndr/tap/musicplayer
  2. 2

    Запустите демон: по умолчанию он сканирует $HOME/Music

    music-player

Что важно знать

  • Настольное приложение для macOS не имеет подписи кода и нотариального заверения, поэтому при первом запуске Gatekeeper блокирует его.
  • Для сборки из исходного кода нужны protobuf, Bun для веб-интерфейса и отдельный скрипт загрузки DuckDB, который необходимо выполнить перед cargo install.

В подборках

Темы

Частые вопросы

Что такое music-player?
Расширяемый музыкальный плеер с демоном, сервером и клиентом на Rust, поддержкой gRPC и GraphQL, веб- и терминальным интерфейсами и настольным приложением. Music Player — музыкальный плеер с демоном, созданный по образцу mpd и Mopidy. Один исполняемый файл выполняет роль и сервера, и клиента: первый запуск запускает демон, а последующие обнаруживают его и отправляют ему команды. Демон сканирует локальную музыкальную директорию, индексирует библиотеку в SQLite с полнотекстовым поиском FTS5 и предоставляет к ней доступ через gRPC, GraphQL и события WebSocket.
music-player можно использовать бесплатно? Какая у него лицензия?
music-player распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
music-player всё ещё поддерживается?
Активно поддерживается. Последний коммит в music-player — 30 окт. 2026 г..
Для чего можно использовать music-player?
Запуск собственного музыкального сервера на домашнем компьютере с управлением через браузер на телефоне или терминал Трансляция удалённой библиотеки Navidrome или Jellyfin на локальное аудиоустройство Создание собственного музыкального клиента на основе gRPC- или GraphQL API Управление очередью и воспроизведением с помощью AI-агента через MCP-сервер
Как установить music-player?
Установите CLI с помощью Homebrew (macOS/Linux): brew install tsirysndr/tap/musicplayer Запустите демон: по умолчанию он сканирует $HOME/Music: music-player
Где скачать music-player?
Исходный код и инструкции по установке — на GitHub: https://github.com/tsirysndr/music-player

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Самостоятельно размещаемый музыкальный сервер с веб-интерфейсом для потокового воспроизведения собственной коллекции музыки из любого места.

1,7 тыс.+2 за неделю92C++GPL-3.0Активно поддерживаетсяОбновлён позавчера