MPDやWebクライアントから操作でき、ローカル音源、Spotify、SoundCloud、ラジオを再生する拡張可能なPython製音楽サーバー。
- スター
- 529
- フォーク
- 34
- 未解決の Issue
- 15
- 最終コミット
- 9 日前
これは何?
Music Playerは、mpdやMopidyのような音楽プレーヤーデーモンです。1つのバイナリがサーバーとクライアントの両方として動作し、最初の起動時にデーモンを立ち上げ、以降の起動ではデーモンを検出してコマンドを送信します。デーモンはローカルの音楽ディレクトリをスキャンし、ライブラリをFTS5全文検索対応のSQLiteにインデックス化して、gRPC、GraphQL、WebSocketイベント経由で公開します。
音声のデコードと再生には、複数の公開Rustクレートを通じてRockboxファームウェアのエンジンを使用します。40種類以上の音声フォーマットに対応し、EQプリセット、クロスフェード、ReplayGainを備えたDSPチェーンも利用できます。出力先はシステムのオーディオデバイスのほか、stdout、名前付きパイプ、Unixソケット、TCPソケットから選べます。
操作インターフェースとして、ratatui製のターミナルUI、ポート5053で配信されるReact製Web UI、Slint製デスクトップアプリを備えています。また、Subsonic、Navidrome、Jellyfinサーバーのブラウズやストリーミング、ChromecastやUPnP/DLNAレンダラーへのキャスト、インターネットラジオの再生にも対応しています。オプションの連携機能には、Rockskyのscrobbling、AT Protocol同期、AcoustID検索に対応したChromaprintによるフィンガープリント生成、DuckDBベースのリスニング分析、AIエージェント向けMCPサーバーがあります。
主な機能
- 01Rockboxの再生エンジンで40種類以上の音声フォーマットを再生。EQ、クロスフェード、ReplayGainにも対応
- 02FTS5全文検索に対応したSQLiteでライブラリをインデックス化
- 03同じデーモンを操作できるターミナルUI、React製Web UI、Slint製デスクトップアプリ
- 04カスタムクライアントの開発に使えるgRPC APIとGraphQL API
- 05Subsonic、Navidrome、Jellyfinサーバーからストリーミング
- 06ChromecastやUPnP/DLNAレンダラーへのキャスト
ユースケース
- 自宅のマシンでセルフホスト型の音楽サーバーを動かし、スマートフォンのブラウザーやターミナルから操作する
- リモートのNavidromeやJellyfinライブラリをローカルのオーディオ出力にストリーミングする
- gRPC APIまたはGraphQL APIを使って独自の音楽クライアントを開発する
- MCPサーバー経由でAIエージェントに再生キューの管理や再生操作を任せる
クイックスタート
- 1
HomebrewでCLIをインストールする(macOS/Linux)
brew install tsirysndr/tap/musicplayer - 2
デーモンを起動する。デフォルトでは$HOME/Musicをスキャンします
music-player
使う前に知っておきたいこと
- macOSデスクトップアプリはコード署名も公証もされていないため、初回起動時にGatekeeperによってブロックされます。
- ソースからコンパイルするには、protobuf、Web UI用のBun、さらにcargo installの前に別途DuckDB取得スクリプトを実行する必要があります。
収録されている特集
トピック
よくある質問
- music-player とは?
- gRPC、GraphQL、Web UI、ターミナルUI、デスクトップアプリを備えた、Rust製の拡張可能な音楽プレーヤーのデーモン・サーバー・クライアント。 Music Playerは、mpdやMopidyのような音楽プレーヤーデーモンです。1つのバイナリがサーバーとクライアントの両方として動作し、最初の起動時にデーモンを立ち上げ、以降の起動ではデーモンを検出してコマンドを送信します。デーモンはローカルの音楽ディレクトリをスキャンし、ライブラリをFTS5全文検索対応のSQLiteにインデックス化して、gRPC、GraphQL、WebSocketイベント経由で公開します。
- music-player は無料で使えますか?ライセンスは?
- music-player は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- music-player は今もメンテナンスされていますか?
- 活発にメンテナンス中。music-player の最終コミットは 2026年10月30日 です。
- music-player は何に使えますか?
- 自宅のマシンでセルフホスト型の音楽サーバーを動かし、スマートフォンのブラウザーやターミナルから操作する リモートのNavidromeやJellyfinライブラリをローカルのオーディオ出力にストリーミングする gRPC APIまたはGraphQL APIを使って独自の音楽クライアントを開発する MCPサーバー経由でAIエージェントに再生キューの管理や再生操作を任せる
- music-player のインストール方法は?
- HomebrewでCLIをインストールする(macOS/Linux): brew install tsirysndr/tap/musicplayer デーモンを起動する。デフォルトでは$HOME/Musicをスキャンします: music-player
- music-player はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/tsirysndr/music-player
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
自分の音楽コレクションをどこからでもストリーミングできる、Webインターフェース付きのセルフホスト型音楽サーバー。
個人の音楽ライブラリを、あらゆるブラウザーで再生できるセルフホスト型のWeb音楽ストリーミングサーバー。
自分の音楽ライブラリをWebブラウザやモバイルアプリから再生できる、セルフホスト型の音楽ストリーミングサーバーです。
Linux、macOS、Windowsに対応した、Rust製の軽量なネイティブSpotifyデスクトップクライアント。ローカル再生とSpotify Connectに対応。
Perl製のセルフホスト型ストリーミングオーディオサーバー。SqueezeboxプレーヤーやSqueezeliteなどのエミュレーターを動かします。