用 Python 编写的可扩展音乐服务器,可播放本地、Spotify、SoundCloud 及网络电台音乐,并由 MPD 或网页客户端控制。
- Star
- 529
- Fork
- 34
- 未关闭 Issue
- 15
- 最近提交
- 9天前
这是什么?
Music Player 是一个用 Rust 编写的音乐播放守护进程,设计思路接近 mpd 和 Mopidy。同一个二进制文件既能作为服务端运行,也能作为客户端使用:第一个实例启动守护进程,之后的命令会自动识别并与其通信。守护进程扫描本地音乐目录,用 SQLite 和 FTS5 建立全文索引,并通过 gRPC、GraphQL 与 WebSocket 事件对外提供服务。
音频解码和播放基于 Rockbox 固件的引擎,通过若干已发布的 Rust crate 调用。支持 40 多种音频格式,内置 EQ 预设、淡入淡出和 ReplayGain 等 DSP 处理。输出可以送到系统声卡,也可以输出到 stdout、命名管道或 Unix/TCP 套接字。
控制界面包括基于 ratatui 的终端界面、端口 5053 上的 React Web 界面,以及基于 Slint 的桌面应用。它还能浏览并播放 Subsonic、Navidrome 和 Jellyfin 服务器上的音乐,投屏到 Chromecast 和 UPnP/DLNA 设备,并播放网络电台。可选功能包括 Rocksky 记录播放、AT Protocol 同步、基于 Chromaprint 的声纹识别与 AcoustID 查询、基于 DuckDB 的收听分析,以及供 AI 代理使用的 MCP 服务。
核心功能
- 01通过 Rockbox 播放引擎支持 40 多种音频格式,并带有 EQ、淡入淡出和 ReplayGain
- 02音乐库使用 SQLite 与 FTS5 建立全文索引
- 03终端界面、React Web 界面和 Slint 桌面应用可控制同一个守护进程
- 04提供 gRPC 与 GraphQL 接口,便于开发自定义客户端
- 05可浏览并串流 Subsonic、Navidrome 和 Jellyfin 服务器上的音乐
- 06可投屏到 Chromecast 与 UPnP/DLNA 播放器
适用场景
- 在家用机器上搭建自托管音乐服务,通过手机浏览器或终端控制播放
- 把远程 Navidrome 或 Jellyfin 音乐库串流到本地音频输出
- 基于 gRPC 或 GraphQL 接口开发自定义音乐客户端
- 让 AI 代理通过 MCP 服务管理队列和播放
快速上手
- 1
使用 Homebrew 安装命令行工具(macOS/Linux)
brew install tsirysndr/tap/musicplayer - 2
启动守护进程,默认扫描 $HOME/Music 目录
music-player
使用前须知
- macOS 桌面应用未经过代码签名和公证,首次启动会被 Gatekeeper 拦截。
- 从源码编译需要先安装 protobuf 和用于构建 Web UI 的 Bun,并且要在 cargo install 之前单独运行 DuckDB 获取脚本。
收录于专题
标签
常见问题
- music-player 是什么?
- 用 Rust 编写的可扩展音乐播放守护进程,内含服务端、客户端、Web 界面、终端界面和桌面应用。 Music Player 是一个用 Rust 编写的音乐播放守护进程,设计思路接近 mpd 和 Mopidy。同一个二进制文件既能作为服务端运行,也能作为客户端使用:第一个实例启动守护进程,之后的命令会自动识别并与其通信。守护进程扫描本地音乐目录,用 SQLite 和 FTS5 建立全文索引,并通过 gRPC、GraphQL 与 WebSocket 事件对外提供服务。
- music-player 可以免费使用吗?用的什么许可证?
- music-player 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- music-player 还在维护吗?
- 活跃维护中。music-player 最近一次提交是在 2026年10月30日。
- music-player 适合用来做什么?
- 在家用机器上搭建自托管音乐服务,通过手机浏览器或终端控制播放 把远程 Navidrome 或 Jellyfin 音乐库串流到本地音频输出 基于 gRPC 或 GraphQL 接口开发自定义音乐客户端 让 AI 代理通过 MCP 服务管理队列和播放
- music-player 怎么安装和运行?
- 使用 Homebrew 安装命令行工具(macOS/Linux): brew install tsirysndr/tap/musicplayer 启动守护进程,默认扫描 $HOME/Music 目录: music-player
- 在哪里获取 music-player?
- 源代码和安装说明在 GitHub 上:https://github.com/tsirysndr/music-player
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款自托管音乐服务器,通过网页界面随时随地播放你自己的音乐库。
一款自托管的网页音乐流媒体服务,可在任意浏览器中播放你自己的音乐库。
一款自托管的音乐流媒体服务器,可在浏览器或手机应用中播放你自己的音乐库。
用 Rust 编写的轻量原生 Spotify 桌面客户端,支持本地播放与 Spotify Connect,覆盖 Linux、macOS 和 Windows。
自托管的流媒体音频服务器,为 Squeezebox 播放器及 Squeezelite 等模拟客户端提供音乐服务。