这个项目能做什么
# 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 播放,是首个支持该功能的通用桌面音乐库播放器。包含 Dolby Atmos 多声道解码,无需兼容 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、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 源码包和适用于 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 支持开发。
评论
0 评分人数达到10人后显示
登录后参与讨论。