An opinionated local desktop music manager and player. https://auzi.netigen.com
  • C# 99%
  • Shell 0.5%
  • PowerShell 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Courtney Tompos 70386359a5
All checks were successful
Validate / test (push) Successful in 3m56s
Defer MP3 artwork loading during metadata reads.
2026-09-06 19:19:06 -04:00
.forgejo/workflows Migrate tests to xunit.v3 4.0.0 and replace VSTest with Microsoft Testing Platform. 2026-08-14 22:32:33 -04:00
.vscode Remove unnecessary Windows MSIX VERSION prompt. 2026-07-16 09:10:43 -04:00
build Bump version to 1.5.7. 2026-09-02 19:01:38 -04:00
docs Refresh screenshots and regroup the README gallery into a light/dark grid. 2026-08-17 10:37:58 -04:00
licenses The quiet start of a loud history. 2026-06-05 14:13:49 -04:00
src Defer MP3 artwork loading during metadata reads. 2026-09-06 19:19:06 -04:00
tests Defer MP3 artwork loading during metadata reads. 2026-09-06 19:19:06 -04:00
.editorconfig Make private field naming and core C# conventions build-enforced. 2026-08-17 09:29:14 -04:00
.gitattributes Expand EditorConfig rules and platform-specific LF exceptions. 2026-07-28 16:19:12 -04:00
.gitignore Expand EditorConfig rules and platform-specific LF exceptions. 2026-07-28 16:19:12 -04:00
Auzi.slnx The quiet start of a loud history. 2026-06-05 14:13:49 -04:00
Directory.Build.props Bump version to 1.5.7. 2026-09-02 19:01:38 -04:00
global.json Migrate tests to xunit.v3 4.0.0 and replace VSTest with Microsoft Testing Platform. 2026-08-14 22:32:33 -04:00
LICENSE The quiet start of a loud history. 2026-06-05 14:13:49 -04:00
README.md Refresh screenshots and regroup the README gallery into a light/dark grid. 2026-08-17 10:37:58 -04:00
THIRD-PARTY-NOTICES.md Remove the Tomorrow Blue theme. 2026-09-02 19:00:31 -04:00

Auzi

An opinionated local desktop music manager and player built with Avalonia and .NET.

Auzi is for people who manage and play music files they already own. It is not a discovery app, streaming client, music store, podcast platform, social feed, or cloud library service.

Features

  • Build a local library from existing files with duplicate and alternate-format detection.
  • Browse, search, sort, and play by track, album, artist, or playlist.
  • Link matching FLAC and MP3 files into a single track with in-place MP3 bitrate upgrades.
  • Play the highest-quality source by default while keeping metadata synchronized across formats.
  • Edit metadata, artwork, ratings, and sentiment individually or in bulk.
  • Create static playlists, artist playlists, and rule-based smart playlists.
  • Audit metadata issues, auto-clean extraneous tag fields, and organize files on disk.
  • Reuse the same library across macOS, Linux, and Windows, including multi-boot setups.
  • Sync selected music to the companion iOS app and receive listening history and feedback over local mDNS/HTTPS.
  • Customize appearance with a variety of light and dark themes.

Screenshots

Light Dark
Home view in a light theme Playlist view in a dark theme
Home Sonic Glaze Playlist VS Code 2026
Listening history view with the playback queue in a light theme Edit track view in a dark theme
History Tangerine Cherry Edit Track Dracula

Quick Installation

Use an existing installer when you want the easiest path to running Auzi.

Platform Installer Status
macOS Mac App Store Available
Windows Microsoft Store Available

The companion iOS app is available on the Apple App Store.

Building From Source

Build from source to contribute to Auzi, inspect the codebase, or run local development builds.

Requirements

  • .NET 10 SDK
  • Linux, macOS, or Windows

Linux users can create a distribution tarball and, when appimagetool is available, an AppImage with the Linux packaging script.

Run Locally

dotnet restore
dotnet build Auzi.slnx
dotnet run --project src/Auzi.Desktop

On first launch, choose your music folder. Auzi stores its database at <music folder>/.auzi/auzi.db.

Library Operations

Operation Purpose
Scan for New Files Discover tracks in the music folder not yet in the library
Import Add files/folders to the library with duplicate detection
View Metadata Issues Audit the library for metadata problems and offer fixes
Clean Tags Strip non-essential tag fields, retaining only core metadata (ID3v2 for MP3, Xiph for FLAC)
Organize Files Move and rename files into a cleaner folder layout based on metadata
Devices Pair and manage companion devices, including sync source assignments

Local Data and Privacy

Auzi stores library data—including tracks, playlists, ratings, album bookmarks, paired devices, and playback history—in a local database inside your music folder. Ratings, sentiment, and album bookmarks are stored in the database rather than written to audio tags. Audio file paths are stored relative to the music folder root, so the same library can be opened across operating systems even when the folder is mounted at different paths.

Playback history stays in the local library database. Auzi records listening events and scrobble-qualified plays for its listening-history view and future features such as year-in-review reports. Scrobble qualification follows the Last.fm Scrobbling 2.0 threshold: after the 30-second minimum, a play qualifies once at least half the track or 4 minutes has played, whichever comes first.

Auzi does not require a cloud service and sends no scrobbles, telemetry, playback history, or library data to the author or cloud services. Device sync occurs only over your local network, and <music folder>/.auzi/auzi.db should be treated as private local data.

Important Safety Notes

File Changes

Use Auzi at your own risk. Operations such as organizing files and tag cleaning modify audio files, folder structures, and metadata on disk. The author is not responsible for file loss, corruption, deletion, metadata damage, or unexpected changes affecting your audio files, library, or system. Always back up your music library before using Auzi.

Device Sync

Enabling device sync starts a local-network HTTPS server so companion devices can pair via QR code (containing connection details, TLS pin, and a 6-digit code) and authenticate via bearer tokens. Because the pairing endpoint is accessible without an initial token: only enable device sync on trusted networks, scan QR codes with devices you control, and remove unused pairings.

Metadata Policy

Auzi enforces a strict, minimal metadata policy. When writing tags, it retains only core fields: title, artist, album, album artist, year, track/disc numbers, track/disc counts, and one cover image.

Whenever Auzi writes tags, it removes all other tag fields, including comments, lyrics, genres, custom frames, and embedded extras. Tag cleanup is treated as normalization, not lossless metadata preservation.

License

Auzi's source code and bundled project assets are licensed under the MIT License. See LICENSE for the full license text.

That license does not apply to music files, artwork, metadata, playlists, libraries, or other content that users manage with Auzi.

Third-party dependencies and assets remain under their own licenses. See THIRD-PARTY-NOTICES.md for attribution and notices, with bundled license texts in licenses.