Когда хороший плеер становится свободным

Представьте: вы годами строили коллекцию из десятков тысяч треков в FLAC и ALAC, а Apple Music раз за разом предлагает вам стриминг вместо локальных файлов. Именно из этой боли и рождаются такие проекты, как Sol — нативный macOS-плеер, который разработчик под ником FulltimeFeline сделал полностью бесплатным и открытым. Никакой подписки, никаких пробных периодов, никаких скрытых покупок. Просто музыка.

Пост на Hacker News с заголовком «Show HN: Sol, my macOS music player and jukebox app, is now free and open source» мгновенно привлёк внимание сообщества. И не зря — Sol оказался не очередным минималистичным экспериментом, а зрелым продуктом с богатым набором функций, который теперь доступен каждому.

ℹ Коротко о главном
Sol — это нативный macOS-плеер для локальных библиотек и Subsonic/Navidrome серверов с побитово точным воспроизведением, редактором метаданных и поддержкой подкастов. Исходный код опубликован под лицензией GPL-3.0 на GitHub.

Что такое Sol и чем он отличается

Sol — это быстрый нативный музыкальный плеер для macOS, поддерживающий локальную библиотеку, серверы, подкасты и радио, с настоящим редактором тегов, ReplayGain, cue-листами и синхронизированными текстами песен.

Главное, что выделяет Sol на фоне конкурентов — полная честность в вопросах монетизации. Нет платного уровня, нет подписки, нет пробного периода, нет встроенных покупок и нет аккаунта. Каждая функция доступна в каждой копии приложения.

Исходный код размещён на GitHub под лицензией GPL-3.0, поэтому вы можете читать его, собирать самостоятельно или вносить изменения. Ничего не скрыто ни от кого.

«A music player for the files you own» — именно так сам автор описывает Sol. Философия проста: ваша музыка, ваш контроль.

Лицензия и принципы открытости

Sol является свободным программным обеспечением под лицензией GNU General Public License v3.0 или более поздней версии. Вы можете использовать, изучать, модифицировать и распространять его, а любой форк, который вы распространяете, должен поставляться с исходным кодом на тех же условиях. Сторонние компоненты сохраняют свои собственные лицензии, все из которых совместимы с GPL-3.0.

💡 Установка

Загрузить Sol можно прямо со страницы Releases на GitHub — это подписанная и нотаризованная сборка. Либо собрать проект самостоятельно из исходников. Для Discord Rich Presence понадобится дополнительный компаньон:

brew install --cask fulltimefeline/tap/sol-activity

Ключевые функции: от интерфейса до аудиофильских возможностей

Библиотека и навигация

Классический многопанельный браузер с сортировкой по библиотеке, жанру, исполнителю, альбому и т.д. Режим сетки, раскладывающий обложки стеной с группировкой по исполнителю, букве или году с рейлом от A до Z для быстрого скроллинга. Карусель альбомов для перелистывания коллекции как стопки пластинок. И встроенный мини-плеер.

Создан для настоящих коллекций: просмотр остаётся мгновенным при сотнях тысяч треков. Единственная строка поиска охватывает песни, альбомы, плейлисты и эпизоды подкастов по всем библиотекам и серверам сразу, включая каждый тег — вплоть до каталожного номера и имени файла.

Форматы и качество звука

Поддерживаются FLAC, ALAC, WAV, AIFF, MP3, AAC, Ogg Vorbis и Opus, а также редкие форматы: DSD, Monkey’s Audio, Musepack и Wave64.

Для аудиофилов особенно важна поддержка побитово точного вывода (bit-perfect output) — Sol не трогает аудиопоток на пути к ЦАПу. В приложение включены Subsonic/Navidrome сервер, побитово точный вывод, Sol DJ, визуализатор, режим karaoke, редактор метаданных, умные плейлисты, интеграции Discord и Sol API, а также 31-полосный эквалайзер, подкасты, интернет-радио, скробблинг и статистика.

Серверная интеграция (Subsonic / Navidrome)

Стримить с собственного сервера Navidrome, Subsonic или OpenSubsonic можно прямо рядом с локальными файлами, с двусторонней синхронизацией плейлистов, избранного и рейтингов, а также загрузками для прослушивания офлайн.

Можно добавить сколько угодно папок с музыкой: на жёстком диске, съёмном носителе, сетевом ресурсе или Navidrome/Subsonic сервере. Sol замечает момент, когда диск или сервер пропадает, корректно выделяет его серым и снова подключается, когда тот возвращается.

Sol DJ — умный автодиджей

Sol DJ создаёт радиостиль-микс на основе слайдеров, а не догадок, настраивая его по темпу, тональности и энергии каждой песни, и держит очередь заполненной столько, сколько вы слушаете.

Можно отдавать предпочтение любимым трекам, усиливать открытия или избегать повторов. Это не просто «shuffle» — это алгоритмически выстроенное радио из вашей собственной коллекции.

Метаданные и организация

Настоящий редактор метаданных: тридцать полей, записываемых непосредственно в файлы, на каждом формате, который Sol умеет тегировать, включая обложки. Можно редактировать множество файлов сразу, применять поиск и замену с регулярными выражениями и искать теги на MusicBrainz.

Рейтинги и отметки «понравилось» записываются в реальные теги файлов, поэтому они читаемы другими плеерами и переносимы навсегда.

Умные плейлисты с вложенными группами правил по более чем тридцати полям, поиск дубликатов, статистика воспроизведения и организатор импорта, переименовывающий и раскладывающий новую музыку по вашему собственному шаблону.

Автоматизация и интеграции

Реальная поддержка AppleScript и шестнадцать действий Shortcuts. Медиаклавиши, управление транспортом из Dock и системная интеграция Now Playing. Скробблинг Last.fm с синхронизацией любимых треков.

Опциональный локальный API управления для приложений-компаньонов, stream deck и ваших собственных автоматизаций. Переведён на 34 языка. Никакой телеметрии, никакой аналитики, никакого аккаунта.

📝 Пример автоматизации

Через локальный Sol API можно создавать скрипты для управления воспроизведением с Stream Deck или из терминала:

# Пример HTTP-запроса к локальному API Sol
curl http://localhost:PORT/api/playback/play
curl http://localhost:PORT/api/queue/next

Архитектура и техническое устройство

Для разработчиков Sol — ещё и образцовый пример современного нативного macOS-приложения на Swift.

Приложение написано на Swift 6 с полным режимом строгой конкурентности. Каждый @unchecked Sendable и nonisolated(unsafe) снабжён письменным обоснованием инварианта, делающего его безопасным.

Требуется macOS 14 или новее. Поддерживаются как Intel-машины, так и Apple Silicon.


graph TD
    A[Локальная библиотека] --> D[Sol Core]
    B[Navidrome / Subsonic сервер] --> D
    C[Интернет-радио / Подкасты] --> D
    D --> E[Bit-perfect вывод]
    D --> F[Sol DJ автомикс]
    D --> G[Редактор метаданных]
    D --> H[Smart Playlists]
    D --> I[Last.fm скробблинг]
    D --> J[AppleScript / Shortcuts API]
    D --> K[Discord Rich Presence]

Сравнение с альтернативами

ПлеерЦенаOpen SourceBit-perfectSubsonic/NavidromeРедактор теговПодкасты
SolБесплатно✅ GPL-3.0✅ (30 полей)
Swinsian$20 (разово)
Vinyls$9.99
CogБесплатно
Apple Music$10.99/месЧастично
PetrichorБесплатно
⚠ Важно для аудиофилов
Битово точное воспроизведение (bit-perfect) означает, что Sol отдаёт аудиоданные в ЦАП без какой-либо обработки macOS Audio Mixer. Это критично для Hi-Res аудио и форматов DSD. Убедитесь, что в Audio MIDI Setup выставлена нужная частота дискретизации, или используйте режим эксклюзивного доступа к устройству.

Почему это важно для open source сообщества

История Sol — это не просто «ещё один плеер стал бесплатным». Это демонстрация модели, при которой разработчик создаёт продукт коммерческого качества и затем передаёт его сообществу без каких-либо оговорок.

Нет платного уровня, нет пробного периода, нет встроенных покупок и нет аккаунта. Исходный код размещён на GitHub под GPL-3.0, так что вы можете читать его, собирать самостоятельно или изменять. Ничего не скрыто ни от кого.

Это принципиально отличает Sol от случаев, когда проекты «открывают исходники» перед закрытием или оставляют ключевые функции за платным слоем. Здесь всё иначе: полноценный продукт, полностью открытый код, никаких ограничений.

Для экосистемы macOS, где качественные нативные плееры традиционно стоят денег, появление Sol под GPL-3.0 — настоящее событие. Теперь любой желающий может не только пользоваться им, но и изучать, как правильно строить нативные аудиоприложения на Swift 6 с полной строгой конкурентностью.

Заключение

Sol закрывает давно существующую нишу: нативный macOS-плеер, который уважает вашу коллекцию, ваш ЦАП и ваше время — и при этом полностью бесплатен и открыт. Редактор метаданных с 30 полями, поддержка DSD и Wave64, интеграция с Navidrome/Subsonic, умный Sol DJ, 31-полосный эквалайзер, подкасты, Last.fm и 34 языка интерфейса — всё это в одном приложении без единой платной функции.

Если вы владеете собственной музыкальной коллекцией и хотите слушать её на macOS так, как она заслуживает — Sol заслуживает вашего внимания. А если вы разработчик Swift — исходники на GitHub дадут немало пищи для ума.

Ссылки: