Об этом проекте

Kalinka превращает Raspberry Pi или любой Linux-компьютер в автономный музыкальный плеер, управляемый с телефона, настольного приложения или браузера. Сервер хранит библиотеку, а отдельный рендерер выполняет воспроизведение с прямым доступом к ALSA, поэтому он может работать на том же устройстве или на Pi рядом с каждым усилителем. Файлы остаются локальными: без аккаунта, без телеметрии, а семантический поиск выполняется на устройстве. Существуют две дополнительные сетевые функции — поиск метаданных (MusicBrainz, Wikidata, Deezer, Cover Art Archive) и ежечасная проверка релизов. Варианты установки включают прошивку готового образа для Raspberry Pi, скрипт установки одной командой для Debian 13, Raspberry Pi OS (64-бит) или Ubuntu 24.04, а также использование виртуальной машины. Мастер настройки в приложении или браузере спрашивает, где хранится музыка и откуда должен выходить звук, без необходимости редактировать файлы конфигурации. Ключевые возможности: - Индексация библиотеки с отслеживанием каталогов и исправлением метаданных, включая идентификацию AcoustID при наличии ключа, а также извлечение, кэширование и генерацию обложек. - Умный поиск: запросы на естественном языке, такие как «мечтательная эмбиент-гитара», сопоставляются путем анализа аудио с помощью модели CLAP; Jamendo использует предварительно созданный индекс. Включается по желанию для каждого плагина. - Безупречное воспроизведение через C++ рендерер с прямым доступом к ALSA, поддержка FLAC и MP3 до 192 кГц / 24 бит, без пауз между треками одного формата и без изменений сэмплов, если не включена программная громкость. - Рендереры на любом сетевом устройстве отображаются как выходы, обнаруживают сервер через mDNS и самообновляются. - Браузерный плеер превращает любой браузер в пульт и выход одновременно. - Плагины — это обычные Python-пакеты, обнаруживаемые во время выполнения; My Library и Jamendo встроены, а MusicCast управляет громкостью и питанием Yamaha. - Живая конфигурация из настроек с простым уровнем общих полей и поиском в стиле about:config. - Самообновление: сервер проверяет релизы ежечасно и может автоматически обновляться в тихие часы, когда воспроизведение остановлено; сервер, плагины, браузерный плеер и рендереры обновляются вместе, сначала рендереры. Требования: 64-битная ОС (arm64 или amd64). Для воспроизведения и библиотеки нужен Raspberry Pi 3 / Zero 2 W или любое устройство arm64/amd64 с 512 МБ ОЗУ (1 ГБ комфортно). Для умного поиска нужен Raspberry Pi 4B с 2 ГБ ОЗУ или любое устройство arm64/amd64 с 2 ГБ+ и примерно 1 ГБ дополнительного диска; его можно отключить для каждой установки. Безупречное воспроизведение зависит от рендерера. Стандартный C++ рендерер напрямую общается со звуковой картой и не изменяет аудио, если не указано иное; программная громкость — исключение. Приложение показывает, является ли маршрут 1:1: hw: передает сэмплы без изменений, plughw: пересэмплирует и переформатирует, а default или звуковой сервер смешивают. Воспроизведение в браузере идет через аудиостек браузера, поэтому не гарантирует отсутствие пауз или безупречность. Документация охватывает установку, первоначальную настройку, руководство по приложению, архитектуру, разработку, дизайн рендерера, образы устройств и выпуск версий. Проект приглашает к тестированию и обратной связи в ветке обсуждения. Исходный код распространяется под лицензией GPL-3.0-or-later; визуальные ресурсы используют отдельную лицензию, требующую разрешения автора. Условия третьих сторон перечислены в THIRD-PARTY-NOTICES.md.