OPEN SOURCE // GPL-3.0

ASTRA

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.

Astra home screen

Built different.

Not another wrapper around a web player. Real audio processing for people who care about how their music sounds.

Playback

Gapless playback

Pre-buffered crossfade-free transitions so albums flow the way they were mastered. No gaps, no glitches, no compromises.

Formats

Everything plays

FLAC, MP3, WAV, OGG, AAC, M4A, OPUS, WMA, AIFF natively, with an FFmpeg fallback for the rest.

Library

Your collection, organized

Point it at your folders. Metadata extraction, album artwork, searchable library by artist, album, or track. Favorites and history tracked automatically.

DSP

Native C++ analysis

Real-time audio analysis through a native C++ module. The analysis path is tapped independently from your output routing.

Interface

Adapts to your music

Accent colors pulled from album art. Fullscreen mode with ambient spectrum backdrop. A home page sky that changes with the time of day.

Audio

Proper audio settings

Output device selection, loudness normalization, multichannel support with per-channel remapping, and Bluetooth delay calibration.

Spatial

Dolby Atmos decoding

Multichannel Atmos decoding that works without Atmos-compatible hardware. Decode and play back spatial tracks natively.

Library

Metadata editor

Edit tags, artwork, and metadata directly inside the player. No need to switch to a separate tool to fix a misspelled artist.

Navigation

Quick Launch

A keyboard shortcut to jump anywhere in your library without touching the mouse. Search tracks, albums, and artists instantly.

Seven scopes. Your layout.

Real-time visualizers powered by native C++. Seven scopes, fully customizable. Drag, resize, and arrange them however you want. The analysis path is independent from output routing, so scopes always reflect the source material.

Oscilloscope

Pitch-lock detection with waveform display. Stable, coherent trace even at low frequencies.

Spectrum Analyzer

Configurable FFT with logarithmic frequency scaling and adjustable smoothing.

Vectorscope

Stereo phase imaging. Visualize the spatial relationship between your left and right channels.

Build your own rack.

Pick from seven scopes, arrange them in any layout, resize to fit your workflow. The entire scope rack is yours to customize. Save presets and switch between setups on the fly.

Parametric EQ

A fully parametric equalizer with up to 10 bands, a live frequency response graph with spectrum overlay, and built-in presets. If you use AutoEQ, you can import headphone calibration profiles directly.

  • Up to 10 parametric bands
  • Live frequency response graph
  • Spectrum overlay on EQ curve
  • Built-in presets
  • AutoEQ profile import
  • Custom preset saving
Astra equalizer
// FULLSCREEN

Fullscreen mode

Album art backdrop with ambient spectrum visualization. Lean back and let the music take over.

Astra fullscreen mode
Astra mini player

Out of the way.

When you just want your music playing without the full window, the mini player keeps controls accessible while staying out of your workspace.

Connects to your services.

Astra integrates with the services you already use. Everything is opt-in and off by default.

Discord Rich Presence

Show what you're listening to on your Discord profile, complete with cover art.

Last.fm Scrobbling

Track your listening history automatically. Disabled by default.

Jellyfin & Navidrome

Browse and play your self-hosted media server library directly inside Astra.

// ECOSYSTEM

Build on top of Astra.

A local REST API lets external tools read playback state, subscribe to real-time updates, and optionally control playback. Loopback only, bearer token auth, disabled by default.

  • GET /v1/now-playing - track, artist, album, state, position
  • GET /v1/events - real-time SSE stream of playback updates
  • GET /v1/artwork/current - current track cover art bytes
  • POST /v1/control - play, pause, next, previous, toggle-favorite
  • OPT-IN Controls require a separate toggle in settings
API Docs →
GET /v1/now-playing JSON RESPONSE
{
  "playbackState": "playing",
  "currentTime": 42.13,
  "duration": 218.56,
  "queueLength": 37,
  "outputDeviceLabel": "MacBook Pro Speakers",
  "visualizerLineColor": "#38bdf8",
  "currentTrack": {
    "id": "12345",
    "title": "Running Up That Hill",
    "artist": "Kate Bush",
    "album": "Hounds of Love",
    "isFavorite": false,
    "artworkUrl": "http://127.0.0.1:38401/..."
  }
}

Prism Coming Soon

Prism is a standalone audio metering app built on a port of Astra's C++ scope engine. It monitors your system output with the same scopes you know from Astra. Its Astra module connects through the Astra API to show the currently playing track and control playback directly from the meter display.

Prism - standalone scope visualizer
// SECTION_04

Under the hood

ComponentDetailEngine
FrameworkElectron + ViteTypeScript
Audio PipelineWeb Audio API + native moduleC++ DSP
Visualizers7 scopes, fully customizable rack layoutC++ Native
Formats FLAC MP3 WAV OGG AAC M4A OPUS AIFF WMA Native + FFmpeg
Spatial AudioDolby Atmos multichannel decodingNo special hardware
EqualizerParametric, 10-band, AutoEQ importWeb Audio
PlatformsWindows, macOS, LinuxCross-platform
LicenseGNU General Public License v3.0Open Source

Get Astra

Prebuilt binaries for all major platforms. Or build it yourself if that's your thing.

Or build from source

terminal BASH
git clone https://github.com/Boof2015/astra.git
cd astra
npm install
npm run dev       # development
npm run dist      # package for current platform