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

# Astra Astra — это настольный музыкальный проигрыватель, созданный для людей, которые поддерживают локальную музыкальную библиотеку. Он воспроизводит такие форматы, как FLAC, MP3, WAV, OGG, AAC, M4A, OPUS, WMA, AIFF, ALAC, APE и WavPack нативно, с резервным вариантом через FFmpeg для других форматов. Бесшовное воспроизведение с предварительной буферизацией обеспечивает плавное звучание альбомов. ## Ключевые возможности - **Bit-perfect вывод**: обходит микшер ОС для прямой передачи на аппаратное обеспечение через WASAPI Exclusive в Windows, CoreAudio HAL в macOS и ALSA hw в Linux. - **Пространственный звук**: нативное воспроизведение IAMF/Eclipsa Audio — первый универсальный настольный проигрыватель локальной музыкальной библиотеки с такой поддержкой. Включает многоканальное декодирование Dolby Atmos без необходимости в совместимом с Atmos оборудовании. Предусмотрены поканальная инспекция, переназначение, калибровка задержки вывода и Virtual Speaker Room для размещения колонок в 3D с живым бинауральным рендерингом. - **Parallax**: синхронизированное воспроизведение в нескольких комнатах между машинами в локальной сети. Один хост управляет воспроизведением; остальные подключаются как колонки с PIN-сопряжением и настройкой задержки для каждой колонки. Опционально и экспериментально. - **Визуализаторы**: семь визуализаторов в реальном времени на базе нативного модуля C++, включая осциллограф, анализатор спектра и вектроскоп. Настраиваемый набор приборов с перетаскиваемыми и изменяемыми по размеру макетами и пресетами. - **Эквалайзер**: до 20 полностью параметрических полос, график АЧХ в реальном времени с наложением спектра, встроенные пресеты и импорт профилей калибровки наушников AutoEQ. - **Управление библиотекой**: извлечение метаданных, обложки альбомов, поиск и просмотр по исполнителю/альбому/треку, поддержка ID3v2.4 и Vorbis Comments, разбор тегов с несколькими исполнителями, пользовательские изображения исполнителей, сканирование файлов .lrc, избранное, отслеживание недавно прослушанного и встроенный редактор метаданных. - **Astra Resolve**: использует контекст библиотеки, чтобы отличать сольные кредиты исполнителя от коллабораций, сохраняя точность ссылок на исполнителей без перезаписи файлов или запросов к внешним метаданным. - **Аудионастройки**: выбор устройства вывода, нормализация громкости ReplayGain, поканальное переназначение и калибровка задержки для беспроводных/Bluetooth-колонок. - **Интерфейс**: полоса перемотки с波形, полноэкранный режим с фоновым спектром, мини-плеер, синхронизированные тексты с автопрокруткой (из встроенных данных, файлов .lrc или LRCLIB) и выдвижная панель текстов. - **Скробблинг**: встроенная поддержка Last.fm, AudioScrobbler и ListenBrainz, а также пользовательские профили скробблера и мультискробблинг в несколько сервисов. - **Интеграции**: опциональный Discord Rich Presence и поддержка самостоятельно размещённых медиасерверов (Jellyfin, серверы, совместимые с Subsonic, такие как Navidrome, Airsonic, Gonic, Funkwhale). - **Astra API**: опциональный сопутствующий API с bearer-аутентификацией, позволяющий внешним инструментам наблюдать за воспроизведением и управлять им, выполнять поиск, управлять очередями и избранным. Поддерживает контракты /v1 и /v2. - **Экспериментальные функции**: PWA-контроллер для телефона, сканер целостности библиотеки, визуализация графа, окружающий апмикс стерео в многоканал, индикатор активности в сетке 5×5 и поддержка контроллеров (Xbox/PlayStation). ## Загрузка и установка Готовые бинарные сборки для Windows, macOS и Linux доступны на странице Releases. Также доступно через AUR (`astra-music-bin`) и в Windows через `winget install Boof2015.Astra`. Пакеты, поддерживаемые сообществом, включают исходники AUR и TerraPKG для Fedora/RPM. ## Сборка из исходников Требуются Node.js 18+, npm и инструментальная цепочка компилятора C++. Клонируйте репозиторий, выполните `npm install` (что скомпилирует нативный модуль визуализаторов), затем используйте `npm run dev`, `npm run build` или `npm run dist` для упаковки. ## Документация и поддержка Подробная техническая документация находится в Wiki. Проект распространяется под лицензией GPL v3.0 и поддерживает разработку через Ko-fi.