Обновить

Как я три года пилю свой музыкальный сервер: часть первая

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели10K
Всего голосов 10: ↑10 и ↓0+14
Комментарии5

Комментарии 5

Музыку слушаю фоново, пока работаю. Недавно установил себе Navidrome в связке с AudioMuse-AI . В этот же момент времени переключился на FLAC как основной формат.
Navidrome мне делает стриминг музыки на рабочий Windows-компьютер, мобильник, и в машину (везде разные клиенты).
Из статьи не совсем понял, принесёт ли мне Kalinka пользу?

Хороший вопрос. Если связка Navidrome + AudioMuse-AI уже полностью закрывает ваши сценарии, то переходить на Kalinka, скорее всего, смысла нет.

Разница в том, что это немного разные продукты. Navidrome — музыкальный сервер, который отдаёт поток клиентам. Kalinka — домашний Hi-Fi-проигрыватель: сервер сам воспроизводит музыку напрямую в ЦАП через ALSA (bit-perfect, gapless), а телефон или планшет выступают пультами управления. Поэтому сценарий "Windows + мобильник + машина" она не заменяет и не пытается — её ниша ближе к Volumio или Roon, чем к Subsonic/Navidrome.

По AI-поиску идеи действительно похожи: в основе тоже CLAP. В Kalinka поверх него работает небольшая модель valence/arousal, которая заметно улучшила поиск именно по настроению (цифры как раз в статье). Плюс всё это работает на Raspberry Pi 4 с 4 ГБ памяти.

Поэтому, если вас полностью устраивает текущая связка — оставайтесь на ней, она решает свою задачу очень хорошо. Kalinka имеет смысл, когда нужен выделенный домашний проигрыватель: Raspberry Pi рядом с ЦАП, локальная коллекция, bit-perfect/gapless воспроизведение и единая очередь для локальной музыки, Qobuz и Jamendo.

И спасибо за вопрос. Он показал, что я не очень удачно объяснил, что такое Kalinka как продукт. Следующую статью как раз хочу посвятить тому, чем она отличается от Navidrome, Plex, Jellyfin и других подобных решений, и для каких сценариев вообще создавалась.

Большая основательная работа. Пара вопросов. Можно подключить иные стриминги кроме Кобуза? ЯМ? СберЗвук?
Для разворачивания нужна именно Малина? мини пк например NUC не подойдёт?
И ещё у Яндекса очень хорошая модель подбора треков по настроению или похожести. Но часто не все треки в хорошем качестве. Было бы здорово иметь некий гибрид, Яндекс накидывает следующий трек, а плеер находит его в Кобуз и играет в высоком качестве. Это так хотелки. ))

Спасибо!

Да, архитектура у Kalinka модульная. Сейчас есть плагины для локальной коллекции, Qobuz и Jamendo, но в целом можно подключить любой источник, если у него есть API и условия использования это позволяют. То есть ограничение обычно не в Kalinka, а в доступности самого сервиса.

Raspberry Pi тоже не обязательна. Просто она была целевой платформой с самого начала, поэтому я старался, чтобы всё комфортно работало даже на Pi 4 с 4 ГБ памяти. Но сервер без проблем запускается и на обычном Linux, в том числе на NUC или любом другом мини-ПК.

Насчёт гибрида — мне эта идея тоже нравится. В Kalinka уже есть механизм рекомендаций, привязанный к каждому источнику. Логичным развитием выглядит сценарий, когда рекомендации приходят, например, из Яндекс.Музыки, а найденные треки автоматически ищутся в остальных подключённых каталогах (Qobuz, локальная коллекция и т.д.) и могут воспроизводится уже оттуда. Базовая архитектура это позволяет, просто до реализации этой части пока руки не дошли.

Спасибо! Проект интересный, успехов в разработке!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации