An opinionated local desktop music manager and player. https://auzi.netigen.com
  • C# 98.8%
  • Shell 0.6%
  • PowerShell 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Courtney Tompos a519135813
All checks were successful
Validate / test (push) Successful in 3m46s
Derive metadata issue sort order from catalog position.
2026-08-03 11:00:56 -04:00
.forgejo/workflows Add Forgejo CI for restore, build, and tests. 2026-07-07 10:05:04 -04:00
.vscode Remove unnecessary Windows MSIX VERSION prompt. 2026-07-16 09:10:43 -04:00
build Release build 1.4.0. 2026-08-02 17:34:56 -04:00
docs Clarify alternate-format track matching. 2026-06-05 14:14:09 -04:00
licenses The quiet start of a loud history. 2026-06-05 14:13:49 -04:00
src Derive metadata issue sort order from catalog position. 2026-08-03 11:00:56 -04:00
tests Derive metadata issue sort order from catalog position. 2026-08-03 11:00:56 -04:00
.editorconfig Expand EditorConfig rules and platform-specific LF exceptions. 2026-07-28 16:19:12 -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 Release build 1.4.0. 2026-08-02 17:34:56 -04:00
LICENSE The quiet start of a loud history. 2026-06-05 14:13:49 -04:00
README.md Add album bookmarks with metadata-aware reconciliation. 2026-07-26 18:51:14 -04:00
THIRD-PARTY-NOTICES.md Remove coverlet.collector as a dependency. 2026-07-16 09:04:21 -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

Theme: Sonic Glaze (Light)

Albums view in a light theme

Theme: VS Code 2026 (Dark)

Playlist view in a dark theme

Theme: Dracula (Dark)

Edit track view in a dark theme

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.