প্রকল্প সম্পর্কে
# Astra
Astra 是一款专为维护本地音乐库的用户设计的桌面音乐播放器。它原生支持 FLAC、MP3、WAV、OGG、AAC、M4A、OPUS、WMA、AIFF、ALAC、APE 和 WavPack 等格式,其他格式则通过 FFmpeg 回退处理。预缓冲的无缝播放确保专辑流畅衔接。
## 主要功能
- **位完美输出**:绕过操作系统混音器,通过 Windows 上的 WASAPI Exclusive、macOS 上的 CoreAudio HAL 和 Linux 上的 ALSA hw 直接输出到硬件。
- **空间音频**:原生 IAMF/Eclipsa Audio 播放,首款支持该功能的通用桌面音乐库播放器。无需 Atmos 兼容硬件即可解码 Dolby Atmos 多声道。具备逐声道检查、重映射、输出延迟校准,以及用于 3D 音箱布局和实时双耳渲染的虚拟音箱房间。
- **Parallax**:在本地网络上的多台机器之间同步多房间播放。一台主机控制播放;其他设备作为音箱加入,支持 PIN 配对和逐音箱延迟调校。可选加入,实验性功能。
- **可视化器**:由原生 C++ 模块驱动的七种实时可视化器,包括示波器、频谱分析仪和矢量示波器。可自定义示波器机架,支持拖拽调整布局和预设。
- **均衡器**:最多 20 个全参数频段,带频谱叠加的实时频率响应图,内置预设,以及 AutoEQ 耳机校准配置文件导入。
- **音乐库管理**:元数据提取、专辑封面、按艺术家/专辑/曲目搜索浏览、ID3v2.4 和 Vorbis Comments 支持、多艺术家标签解析、自定义艺术家图片、.lrc 文件扫描、收藏、最近播放记录,以及内置元数据编辑器。
- **Astra Resolve**:利用音乐库上下文区分单艺术家署名与合作作品,在不重写文件或查询外部元数据的情况下保持艺术家链接准确。
- **音频设置**:输出设备选择、ReplayGain 响度归一化、逐声道重映射,以及无线/蓝牙音箱的延迟校准。
- **界面**:波形进度条、带环境频谱背景的全屏模式、迷你播放器、自动滚动的同步歌词(来自内嵌歌词、.lrc 文件或 LRCLIB),以及弹出式歌词面板。
- **Scrobbling**:内置支持 Last.fm、AudioScrobbler 和 ListenBrainz,另有自定义 scrobbler 配置文件和向多个服务同时 scrobble。
- **集成**:可选的 Discord Rich Presence 和自托管媒体服务器支持(Jellyfin、Navidrome、Airsonic、Gonic、Funkwhale 等 Subsonic 兼容服务器)。
- **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 源码和面向 Fedora/RPM 的 TerraPKG。
## 从源码构建
需要 Node.js 18+、npm 和 C++ 编译器工具链。克隆仓库,运行 `npm install`(会编译原生可视化模块),然后使用 `npm run dev`、`npm run build` 或 `npm run dist` 进行打包。
## 文档与支持
详细技术文档见 Wiki。项目采用 GPL v3.0 许可,可通过 Ko-fi 支持开发。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.