rox

Якби Foobar2000 зробили цього року.

Настільний музичний програвач для тих, у кого велика, дбайливо протегована локальна медіатека. Панелі ви складаєте самі, а тема - це один файл, який можна віддати іншому. Нативно на Linux, macOS і Windows.

Завантажити rox

На Arch чи NixOS? Тоді краще поставте з AUR або з Nix flake.

v1.26.4 · Linux, macOS, Windows · усі завантаження

Менше секунди до вікна

rox іде одним бінарником і запускається раніше, ніж ви відпустите мишу.

Запуск, пам'ять і CPU у простої в семи музичних програвачів на одній медіатеці в 50 000 треків
ПрогравачВікно з'явилосяПовністю завантаженийПам'ять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), з тією самою медіатекою в 50 000 треків на зовнішньому SSD, кожен програвач через ту саму обв'язку із завантаженою медіатекою. Пам'ять - це PSS по всьому дереву процесів. «Завантажений» - це момент, коли CPU заспокоюється після запуску; простій - це програвач на паузі з видимим вікном. DeaDBeeF зупинився б на 44 МБ і виграв би за пам'яттю, але рядка не отримав: його MP3-парсер падає з segfault на середині імпорту цієї медіатеки, і так щоразу. rox індексує всі 50 000 треків, включно з обрізаними файлами, на яких той спотикається.

Що всередині

Медіатека

Медіатека, яка тримає удар

Паралельний сканер читає повні теги, справжні тривалості й власний кодек кожного файлу, а не пробігає заголовком. Стеження за теками переживає перейменування, і ніщо не зникає мовчки.

Що ламається на 50 000 треках

Тегам можна довіряти

Повноцінний редактор з атомарним записом, пакетними правками та пошуком із заміною. Оцінки лежать у самих файлах через FMPS і POPM. Пошук через MusicBrainz, iTunes і Deezer.

Поруч із Mp3tag

CUE-рипи грають як треки

FLAC на цілий диск поруч зі своїм cue-листом індексується справжніми рядками. Кожен проміжок перемотується, скроблиться, сортується й без пауз переходить у наступний, як це робить файл.

Як влаштовані проміжки

Відтворення

Відтворення без пауз

Один потік, із перемішуванням, повтором, «грати наступним» і повтором A-B. Закладка ставиться однією клавішею й сидить на смузі перемотування. Медіаклавіші й «зараз грає» працюють на всіх трьох платформах.

Десять смуг і побітовий вивід

Еквалайзер в окремому вікні, кросфейд, який не чіпає власних склейок альбому, і ексклюзивний вивід, який каже, на що погодилося залізо.

ReplayGain і побітовий вивід

Порядок, який чути

rox описує ваші треки з їхнього ж звуку, включно з темпом, і вибудовує подальше за схожістю. Усе рахується на вашій машині за вашими файлами, без сервісів у ланцюжку.

Вигляд

Панелі, які ви складаєте

Близько сорока видів панелей, від медіатеки й черги до сіток виконавців, спектра й індикатора VU. Дублюйте панель з її налаштуваннями, зберігайте як пресет або відділяйте в окреме вікно.

Поруч із Foobar2000

Теми, які їздять файлом

Робочий простір - це один файл із розкладкою, палітрою, оформленням і шейдерами. Палітра вміє тонуватися від обкладинки, що грає, ідучи у світле або темне слідом за нею.

вісім у коробці

Картинка, яка слухає

Пишіть WGSL-шейдер поверх однієї панелі або всього вікна, або запускайте пресети Milkdrop через projectM. Іменовані сигнали зі спектра йдуть шейдерам на вхід.

Шейдери й сигнали

Щодня

Тексти й історія

Синхронізовані або звичайні, з файлів поруч, із тегів або з lrclib, із редактором, який пише туди ж, звідки прочитав. Журнал прослуховувань живить панель історії, статистику й скробл.

Списки відтворення, які виживають

Улюблене, перетягування, M3U, PLS і XSPF всередину й назовні та розумні списки, які заново проганяють збережений запит, а не тримають знімок. Записи переживають зникнення файлу і його повернення.

Один бінарник, без інсталятора

Tarball, DMG або zip, плюс AUR і Nix flake. Портативний режим тримає медіатеку й налаштування в теці поруч із виконуваним файлом.

Завантажити

Поза вікном

Сокет, а не сервер

JSON-RPC через локальний сокет: транспорт, правки черги, пошук медіатекою і події, які він шле сам. Автентифікація - права на файл, ніщо не слухає порт.

Що на ньому можна побудувати

Програвач як інструменти MCP

Проксі поруч із застосунком кладе сокет на MCP: клієнт ШІ може спитати, що грає, або керувати відтворенням. Вимкнено за замовчуванням, перевіряється на кожному виклику.

Потік назовні на Icecast

Клієнт-джерело шле те, що грає rox, як MP3 на вашу точку монтування. Лише назовні: мережевий бік належить Icecast, а недоступний сервер не спиняє відтворення.

Підженіть під себе

У коробці лежать готові робочі простори, усього вісім, і кожен в один клік у вікні «Вітання». Кожен - це один файл із розкладкою, палітрою й шейдерами, які він запускає, тож його можна правити, ламати й віддавати іншим. Подивитися всі.