rox

Foobar2000 が今の時代に作られていたら。

大きく、丁寧にタグ付けされたローカルライブラリを持つ人のためのデスクトップ音楽プレイヤー。パネルは自分で組み、テーマは 1 つのファイルとして誰かに渡せます。Linux、macOS、Windows でネイティブ。

ウィンドウが出るまで 1 秒未満

rox はバイナリ 1 つで、マウスから指を離すより先に起動します。

5 万曲のライブラリ 1 つを使った、音楽プレイヤー 7 本の起動時間、メモリ、アイドル時 CPU
プレイヤーウィンドウ表示読み込み完了メモリアイドル時 CPU
rox0.3 s2.3 s 134 MB 0.5%
Elisa0.7 s落ち着かない 206 MB 74%
fooyin0.3 s18 s 364 MB 0%
Quod Libet-19 s 384 MB 0.2%
Strawberry0.3 s32 s 434 MB 0.8%
Museeks-3 s 436 MB 0%
Tauon8.7 s12 s 2.8 GB 0%

どれも自分で計測しました。同じマシン (Ryzen 9 5950X、Linux/Wayland) で、外付け SSD 上の同じ 5 万曲のライブラリを使い、どのプレイヤーも同じ手順でライブラリを読み込ませています。メモリはプロセスツリー全体の PSS。「読み込み完了」は起動後に CPU が落ち着いた時点、アイドルはウィンドウを出したまま一時停止した状態です。 DeaDBeeF は 44 MB でメモリ部門を取っていたはずですが、行に載りませんでした。MP3 パーサーがこのライブラリのインポート途中で毎回 segfault するからです。rox は 5 万曲すべてを、そこでつまずく途中で切れたファイルも含めてライブラリに取り込みます。

中身

ライブラリ

大きさに耐えるライブラリ

並列スキャナーがヘッダーを流し読みせず、完全なタグ、正確な長さ、ファイルごとのコーデックを読みます。フォルダー監視はリネームにも耐え、黙って取りこぼすことはありません。

5 万曲で何が壊れるか

信用できるタグ編集

アトミックな書き込み、一括編集、検索と置換を備えた本格的なエディター。レーティングは FMPS と POPM でファイル自体に入ります。MusicBrainz、iTunes、Deezer で照会。

Mp3tag と並べて

CUE リップもトラックとして鳴る

ディスク丸ごとの FLAC と cue シートの組を、本物の行として取り込みます。各区間はシーク、スクロブル、並べ替えができ、ファイルと同じようにギャップレスで次へ続きます。

区間の仕組み

再生

ギャップレス再生

1 本のストリームで、シャッフル、リピート、次に再生、A-Bリピートも効きます。ブックマークはキー 1 つで置けてシークバーに並びます。メディアキーと再生中表示は 3 つのプラットフォームすべてで動きます。

10 バンドとビットパーフェクト

独立したウィンドウのイコライザー、アルバム内のつなぎ目には触らないクロスフェード、そしてハードウェアが何を受けたかを言う排他出力。

ReplayGain とビットパーフェクト

音の似かたで並べる

rox は音声そのものから曲の特徴をテンポも含めて割り出し、次に鳴るものを似ている順に並べます。処理は自分のマシンで自分のファイルに対して走り、途中にサービスは入りません。

見た目

自分で組むパネル

ライブラリやキューからアーティストグリッド、スペクトラム、VU まで 40 種類ほど。設定ごと複製したり、プリセットとして保存したり、独立したウィンドウに切り離したりできます。

Foobar2000 と並べて

ファイル 1 つで渡せるテーマ

ワークスペースはレイアウト、パレット、外観、シェーダーを収めた 1 つのファイル。パレットは再生中のカバーから色を取り、アートに合わせて明るくも暗くもなります。

同梱の 8 個

音を聴くビジュアル

WGSL シェーダーを 1 つのパネルにもウィンドウ全体にも書けて、projectM で Milkdrop のプリセットも回せます。スペクトラムから取った名前付きシグナルがシェーダーの入力に乗ります。

シェーダーとシグナル

日々の使い勝手

歌詞と履歴

同期でもプレーンでも、隣のファイル、タグ、lrclib から読み込み、読んだ場所へ書き戻すエディター付き。再生ログが履歴パネル、統計、スクロブルを動かします。

壊れないプレイリスト

お気に入り、ドラッグでの並べ替え、M3U、PLS、XSPF の入出力、そしてスナップショットではなく保存したクエリを走らせ直すスマートプレイリスト。ファイルが一度消えて戻ってきても項目は残ります。

バイナリ 1 つ、インストーラーなし

tarball、DMG、zip に加えて AUR と Nix flake。ポータブルモードならライブラリと設定は実行ファイルの隣のフォルダーに収まります。

入手する

ウィンドウの外へ

サーバーではなくソケット

ローカルソケット上の JSON-RPC で、再生操作、キュー編集、ライブラリ検索、プッシュされるイベントまで。認証はファイル権限で、ポートで待ち受けるものはありません。

その上に何が組めるか

プレイヤーを MCP ツールに

アプリの隣のプロキシがソケットを MCP に載せ、AI クライアントが再生中の曲を尋ねたり再生を操作したりできます。既定はオフで、呼び出しごとに確認されます。

Icecast へ配信

ソースクライアントが rox の再生を MP3 として指定のマウントへ送ります。外向きのみ。ネットワークの顔は Icecast のもので、サーバーが落ちても再生は止まりません。

自分のものにする

ワークスペースが 8 個同梱されていて、ようこそウィンドウからクリック 1 つで開けます。どれもレイアウト、パレット、動かすシェーダーを収めた 1 つのファイルなので、編集して、壊して、誰かに渡せます。全部見る