Aurena app icon Aurena
Free · Local-first · Cross-platform

Own your music.
Play it anywhere.

A modular music player and library manager for people who actually care about their collection — from lossless FLAC to Commodore 64 SID, on your desktop, your phone, and your hi-fi.

Aurena — the album wall with now playing

Not another streaming app. Aurena lives on your hardware, manages your files, and answers to nobody's recommendation engine. Your library never leaves your network.

// One app that does it all

You shouldn't need five apps to manage one collection.

Plenty of players nail some of these but Aurena aims to pull everything together inside of one easy to use and unified app. It streams, it tags, it plays chiptunes and makes your library available on all of your devices.

{{ p.num }}

{{ p.title }}

{{ p.body }}

Any one of these you can find elsewhere. All of them, working together, on hardware you own? That's Aurena.

// Under the hood

Aurena — Architecture in 60 seconds (click to expand)

Architecture at a glance

Plugin-based microkernel desktop app

Single-process, shared DI container

Modular EF Core contexts over one SQLite file

In-process event bus (domain and integration events)

Strict module boundaries enforced via internal

Reactive UI + Avalonia host shell

Real-time web + remote control layer

Deeper dive

Aurena is a local-first desktop music system built around a micro-kernel host that loads feature plugins at runtime.

The host is intentionally minimal. Almost all user-facing functionality — library management, playback engines, retro formats, playlists, podcasts, encoding, and remote control — is implemented as independent plugin modules.

All plugins share three things:

One process, one DI container

One SQLite database file, split into per-module DbContexts

An in-process message bus for decoupled communication

Plugins never reference each other directly. Instead, they communicate via typed domain and integration events, with unit tests and compile-time enforced rules ensuring module boundaries stay clean.

The system is composed of:

A thin Avalonia desktop host (composition root + UI shell)

A plugin discovery system (reflection-based loading from /Plugins)

A shared core contract library (Aurena.Core)

An infrastructure layer (Aurena.Infrastructure) for EF Core, messaging, search, and reconciliation

A media engine abstraction layer built around a unified GStreamer pipeline

A real-time remote/web layer (Angular + ASP.NET Core SSE sync)

Architecturally, Aurena prioritises:

Modularity over monoliths

Explicit boundaries via internal + contracts

Event-driven coordination over direct coupling

Single-process simplicity over distributed complexity

Replaceable subsystems via dependency inversion

Despite its modularity, Aurena remains a single deployed application, not a distributed system.

Why this architecture exists

Aurena is designed around a simple idea:

“A complex desktop application should still be understandable as a set of isolated, replaceable features.”

That leads to three constraints:

Plugins must fail independently without taking down the app

Features must be added without modifying the host

Cross-module communication must be explicit and testable

The result is a modular monolith which behaves like a microservice architecture, but runs entirely inside a single desktop process.

// Raspberry Pi ready

Turn a £90 board into a dedicated music system.

Built for the Raspberry Pi 5 — turn an affordable single-board computer into a dedicated music system. It boots straight into Aurena, no desktop environment needed.

Connect to your amp via HDMI, analogue, or Bluetooth, then drive it from your TV's kiosk interface or remotely from a phone, tablet, or laptop. Living-room centrepiece or fully headless — your call.

Pi 5 hi-fi kiosk on a TV — now playing on the big screen
// Sound you can trust

It has to sound right first. Everything else is secondary.

A playback chain built on GStreamer and tuned for serious listening.

{{ f.title }} — {{ f.body }}

Now playing with VU and spectrum meters
// 10-band EQ

An equaliser that can drive itself.

Drag the bands live, pick a preset — or switch on Auto mode and let Aurena read the genres of what's playing and resolve the curve for you on every track change.

A big alias table maps "shoegaze", "madchester", "techno" and hundreds more to tuned curves. When a track spans genres, you choose how the curves blend.

Aurena 10-band equaliser with Auto mode
// A library built for real collections

Multi-root. Multi-disc. Big. Fast.

{{ f.title }} — {{ f.body }}

Album grid library view
// Metadata that actually sticks

Where collectors live — and where Aurena shines.

{{ f.title }} — {{ f.body }}

Metadata editor with MusicBrainz confidence indicator

The killer detail: dedicated taggers overwrite files, library managers hide edits in a database. Aurena stores corrections in a portable sidecar beside the music—human-readable, backed up with the folder, and unaffected by tag changes.

// Retro & chiptune

Emulated, not recorded. Treated like real music.

Real emulation · real formats · first-class citizens

Aurena integrates seamlessly with the wonderful Nostalgic Player to bring you access to over 100 classic C64, Amiga and PC music tracks.

{{ f.title }} — {{ f.body }}

{{ fmt.name }}
Retro formats browser, SID now playing
// Playlists

Hand-built, or self-maintaining.

{{ f.title }} — {{ f.body }}

…or just describe a vibe

AI playlists generate from the actual sound of your tracks — ask in plain English. Runs against a local Ollama server (fully private) or Google Gemini — your choice.

Smart playlist editor with live match count
// Your whole collection, on every screen

Aurena runs on your desktop and serves the rest of your network.

A built-in web UI, real-time desktop ⇄ web sync, and a Subsonic-compatible server — point Symfonium, DSub or Ultrasonic at it and stream the library you already own. Everything stays on your hardware.

Remote web player on a phone
Jukebox guest request view on a phone
The Jukebox

Turn any room into a request queue.

Throwing a party? Guests queue tracks from their own phones — they sign in with a name, and per-user cooldowns stop anyone hogging the decks. There's a dedicated "now playing" view for the room.

http://your-machine.local:8989

// Podcasts, built in

A full podcast client, right next to your music.

Podcast subscriptions and episode list

{{ f.title }} — {{ f.body }}

// Get discs & long recordings in

Rip, encode and split — cleanly.

{{ f.title }}

{{ f.body }}

// Runs where you do

Three platforms. One codebase.

{{ pf.name }}

{{ pf.body }}

Under the hood

{{ s.name }}

Stop renting your music library. Start owning it.

Aurena is free. It's local-first. And it's built for people who give a damn about their collection.

Found a bug or have an idea? Feedback directly shapes where Aurena goes next.

// Download Aurena

Get Aurena — v1.0.0.0-beta

Free, local-first, and yours to keep. Pick your platform and you're playing in minutes.

Linux

AppImage · x86_64

Download

macOS

.dmg · Apple silicon (arm64)

Download

Windows

.zip · x64

Download

All builds are published on GitHub Releases.

// Quickstart

New here? Watch the 2-minute quickstart.

// Contact & support

Hit a bug? Got an idea?

Aurena is in beta, so feedback genuinely shapes what comes next. The best place to report a problem or request a feature is the GitHub issue tracker — it's public, so you can see what's already been raised.