Audiophile desktop music player
A music player for people who still have a music library. Your FLACs, your MP3s, your carefully tagged collection, played back the way it was meant to sound.
Not another wrapper around a web player. Real audio processing, from the file to the DAC.
Pre-buffered, crossfade-free transitions so albums flow the way they were mastered. No gaps, no glitches, no compromises.
WASAPI Exclusive on Windows, CoreAudio HAL on macOS, ALSA hw on Linux. The OS mixer never touches your samples.
FLAC, MP3, WAV, OGG, AAC, M4A, OPUS, WMA, AIFF, ALAC, APE, WavPack and IAMF natively, with an FFmpeg fallback for the rest.
Real-time audio analysis through a native C++ module. The analysis path is tapped independently from your output routing.
ReplayGain and Opus R128 support, so a shuffled library stops lurching between quiet masters and loud ones.
Output device selection, multichannel support with per-channel remapping, and mic-based delay calibration for Bluetooth.
A fully parametric equalizer with up to 20 bands, five filter types, and a live frequency response graph with spectrum overlay. If you use AutoEQ, headphone calibration profiles import directly.
The pipeline shelf shows what is actually happening to the current track, node by node. Decoder, resampler, routing, spatial, normalization, EQ, delay compensation, output, with live values at every stage. Stages only appear when they are actually doing something, so one glance tells you whether anything is touching the signal.
Point it at your folders. Metadata, artwork, and history are handled from there.
Artists, albums, tracks, genres, years, folders. Album counts, a singles section, and multi-disc releases handled properly.
One to five stars in half-star steps, with rating calibration so your scale stays consistent across the library.
Dynamic playlists build themselves from metadata, favorites, ratings, play count, dates, duration and BPM.
CSV, M3U, M3U8, XSPF, WPL and ASX in, M3U and M3U8 back out. Missing tracks are preserved and heal themselves when the files reappear.
Bulk edit titles, artists, albums and artwork, with undo and redo. Write to the file or keep overrides in the database.
Embedded tags, .lrc, .xlrc, LRCLIB and XLRCDB. Word-level timing, furigana, translations, and a pop-out window.
Seven days, thirty days, a year, or everything you have ever played. Listening time, play counts, active days, and your top tracks, albums and artists. History from elsewhere imports through a documented file format, merging rather than overwriting, and any summary exports as a share card.
Real-time visualizers powered by native C++. Drag, resize, and arrange them however you want. The analysis path is independent from output routing, so scopes always reflect the source material.
Pitch-lock detection with waveform display. Stable, coherent trace even at low frequencies.
Configurable FFT with logarithmic frequency scaling, heat palettes, and adjustable smoothing.
Stereo phase imaging. Visualize the spatial relationship between your left and right channels.
Pick from seven scopes, arrange them in any layout, resize to fit your workflow. Save analyzer profiles and switch between setups on the fly. Any scope can pop out into its own window.
Six themes including a full light mode, or let the accent come straight from the album art.
Album art backdrop with ambient spectrum visualization, and badges for Atmos, Eclipsa and multichannel content. Lean back and let the music take over.
When you just want your music playing without the full window, the mini player keeps controls accessible while staying out of your workspace. Album art backdrop, contrast adaptation, and its own window class on Linux.
Astra is the first general purpose desktop music library player with native IAMF and Eclipsa Audio playback. Spatial tracks are first-class citizens of your library, decoded and rendered entirely on your own machine by the Astra Spatial Engine.
Position virtual speakers around the listener in three dimensions, including elevation and room geometry, and hear the binaural render update live as you move them. Dolby Atmos multichannel decoding works too, without Atmos-compatible hardware.
Parallax plays the same track, in sync, across every machine on your network. One host, any number of speakers, gapless across track boundaries. No cloud, no accounts, no subscription.
Any copy of Astra can act as a host or as a speaker. Zones are named, tuned and controlled independently, and the clock keeps itself honest without you touching anything.
A headless daemon for Raspberry Pi-class Linux boxes. Web-based pairing, status and output selection, with automatic updates. Turns a spare board into a speaker without running the full app.
A flashable Raspberry Pi image. Wi-Fi onboarding over a captive portal, automatic security updates, service watchdogs, and health-checked upgrades with rollback. Flash it, boot it, open parallax.local, pair.
Attach a display and Parallax OS becomes a now-playing screen: artwork, transport controls, and on-TV pairing and settings. HDMI-CEC wakes the TV and switches input when a stream starts, and your TV remote drives it.
Astra reaches your phone, your scripts, and anything else on your network. All of it stays local.
A standalone Android player in its own right, not just a remote. It can also pair with the desktop to control playback and keep your favorites and playlists in sync, with conflicts shown side by side before anything is applied. Not publicly downloadable yet.
An installable web remote served by Astra itself. Scan a QR code to pair, then control playback from any phone on the network, with system media controls. No app store, no account.
Turn any track into a scannable card or a link that works anywhere, with no provider IDs and no account. Copy it as an image, save a PNG, or share the link.
A local HTTP API lets external tools observe playback, search your library, edit the upcoming queue, and manage favorites and playlists. Loopback or user-approved paired HTTPS, bearer auth, per-client scopes, and no filesystem paths ever exposed. Off by default.
The original /v1 endpoints remain supported for existing widgets and remotes.
{
"state": "playing",
"positionMs": 42130,
"durationMs": 218560,
"shuffle": false,
"repeat": "off",
"track": {
"ref": "trk_9f2c...a41",
"title": "Running Up That Hill",
"artist": "Kate Bush",
"album": "Hounds of Love",
"favorite": false,
"artworkRef": "art_31b8...ce0"
}
}
Astra integrates with the services you already use. Everything here is opt-in and off by default.
Last.fm, ListenBrainz, and any AudioScrobbler-compatible endpoint. Custom profiles for self-hosted servers, and multi-scrobble to several destinations at once.
Show what you're listening to, complete with cover art. Compact or expanded layouts, configurable link targets, and a choice of what the info line shows.
Jellyfin and any Subsonic-compatible server, including Navidrome, Airsonic, Gonic and Funkwhale. Browse, stream, and import server favorites and playlists.
LRCLIB, pointed at the default endpoint or your own mirror, plus XLRCDB lookup and download for multilingual and word-timed lyrics.
Smaller things that are easy to miss, and hard to give up once you have them.
| Component | Detail | Engine |
|---|---|---|
| Framework | Electron + Vite, React 19 | TypeScript |
| Audio Pipeline | Web Audio API + native module | C++ DSP |
| Bit-perfect Output | WASAPI Exclusive, CoreAudio HAL, ALSA hw | C++ Native |
| Spatial Audio | IAMF / Eclipsa, Dolby Atmos, up to 7.1.4 | Astra Spatial Engine |
| Visualizers | 7 scopes, fully customizable rack layout | C++ Native |
| Formats | FLAC MP3 WAV OGG AAC M4A OPUS AIFF WMA ALAC APE WV IAMF | Native + FFmpeg |
| Equalizer | Parametric, 20-band, AutoEQ import | Web Audio |
| Multi-room | Parallax, synchronized LAN playback | Local only |
| Platforms | Windows, macOS, Linux | Cross-platform |
| License | GPL-3.0-only | Open Source |
Prebuilt binaries for all major platforms. Or build it yourself if that's your thing.
git clone https://github.com/Boof2015/astra.git cd astra npm install npm run dev # development npm run dist # package for current platform