Расширяемый музыкальный сервер на Python, который воспроизводит локальную музыку, Spotify, SoundCloud и интернет-радио и управляется через MPD- или веб-клиент.
- Звёзды
- 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
Установите CLI с помощью Homebrew (macOS/Linux)
brew install tsirysndr/tap/musicplayer - 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 обновляется ежедневно.
Похожие проекты
Самостоятельно размещаемый музыкальный сервер с веб-интерфейсом для потокового воспроизведения собственной коллекции музыки из любого места.
Веб-сервер для самостоятельного размещения музыкальной коллекции и её прослушивания в любом браузере.
Сервер для самостоятельного стриминга музыки, который позволяет слушать свою библиотеку через браузер или мобильное приложение.
Лёгкий нативный клиент Spotify для компьютера на Rust: воспроизводит музыку локально и поддерживает Spotify Connect в Linux, macOS и Windows.
Самостоятельно размещаемый сервер потокового аудио для плееров Squeezebox и эмуляторов вроде Squeezelite, написанный на Perl.