Repolode
tsirysndr

tsirysndr/music-player

gRPC、GraphQL、Web UI、ターミナルUI、デスクトップアプリを備えた、Rust製の拡張可能な音楽プレーヤーのデーモン・サーバー・クライアント。

代替できる製品:SpotifySonos

スター
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. 1

    HomebrewでCLIをインストールする(macOS/Linux)

    brew install tsirysndr/tap/musicplayer
  2. 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インターフェース付きのセルフホスト型音楽サーバー。

生産性・アプリ#music-server#self-hosted#subsonic
1698+2 今週92C++GPL-3.0活発にメンテナンス更新 一昨日