rox

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

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

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

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

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

  • 0,3 s від запуску до вікна
  • 134 MB пам'яті при 50 000 завантажених треках
  • AGPL-3.0 вільний і відкритий

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

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-листом індексується справжніми рядками. Кожен проміжок перемотується, скроблиться, сортується й без пауз переходить у наступний, як це робить файл.

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

Відтворення

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

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

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

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

    ReplayGain і побітовий вивід
  • Порядок, який чути

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

Вигляд

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

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

    Поруч із Foobar2000
  • Теми, які їздять файлом

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

    вісім у коробці
  • Картинка, яка слухає

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

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

Щодня

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

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

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

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

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

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

    Завантажити

Джерела

Поза вікном

Радіо, яке можна відмотати

Вставте URL потоку або знайдіть станцію в каталозі radio-browser. Станція стає в чергу й скробиться як трек, а живий буфер дає поставити ефір на паузу й відмотати назад.

Ваш сервер у медіатеці

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

Пісні просто з ефіру

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

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

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

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

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

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

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

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

Плагіни

І для всього іншого

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

  1. Покладіть теку

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

  2. Увімкніть його

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

  3. Перегляньте його

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

  4. Відтворіть, збережіть або запустіть радіо

    Його треки стають у чергу, грають без пауз і потрапляють у списки відтворення так само, як ваші власні. Збережіть альбом, і він приєднається до медіатеки. Запустіть радіо, і сервіс вибиратиме, що буде далі.

Плагін-приклад Internet Archive у панелі зовнішніх джерел: повідомлення вгорі, рядки для перегляду, полиці обкладинок випусків і колонки завантажень та року.
  1. Власна панель, закріплена й оформлена, як решта
  2. Колонки, які знає сервіс, сортовані одним кліком
  3. Рядок від плагіна з посиланням
  4. Полиці обкладинок, що прокручуються вбік

Приклад Internet Archive, що переглядає видання Creative Commons із колекції netlabel цього архіву. Він лежить у репозиторії rox, готовий до копіювання.

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

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