Nagi
Rediscover your local music collection with Nagi, a music player focused on speed, simplicity, and privacy. Nagi is bui…
git clone https://github.com/Anthonyy232/Nagi.gitAnthonyy232/Nagi
Nagi
Rediscover your local music collection. A fast, private, and modern music player for Windows.
Nagi is a music player focused on speed, simplicity, and privacy. Featuring a resizable mini-player, interactive lyrics, and wide format support, Nagi is built with C# and WinUI 3 to offer a clean, native Fluent experience. It's beautiful, efficient, and respects your privacy.
✨ Features
- Fluent & Modern UI: A beautiful, responsive interface built with WinUI 3, featuring customizable backdrops (Mica, Mica Alt, Acrylic) and smooth animations.
- Dynamic Theming: The app's color scheme adapts in real-time to the artwork of the currently playing song for a truly immersive experience.
- Synced Lyrics: Display synced lyrics from embedded tags or external
.lrcfiles. Tap any line to jump directly to that moment in the song. - Resizable Mini-Player: A sleek, always-on-top mini-player with playback controls, album art, and an efficiency mode for low resource usage.
- Folder-Based Library: Add your music folders and Nagi automatically scans, organizes, and keeps your collection up to date.
- Playlists & Smart Playlists: Create custom playlists or powerful rule-based smart playlists that automatically update as your library grows.
- Queue Management: Build and customize your listening queue on the fly with full shuffle and repeat controls.
- 10-Band Equalizer: Fine-tune your sound with a fully customizable 10-band equalizer and pregain control.
- Volume Normalization: ReplayGain support ensures consistent volume levels across your entire library.
- Last.fm & Discord Integration: Scrobble your tracks to Last.fm, fetch artist metadata, and show off your listening activity with Discord Rich Presence.
- System Tray & Media Controls: Control playback from the system tray popup or use Windows media keys and transport controls.
- Wide Format Support: Play virtually any audio format including MP3, FLAC, AAC, OGG, WAV, AIFF, APE, DSD, M4A, WMA, WavPack, and more.
🖼️ Screenshots
![]() |
![]() |
![]() |
📥 Download
🌍 Localization
Localization support for Nagi is powered by Crowdin. Contributions to add new languages are always welcome!
🛠️ Technologies
- C# & .NET 10: The core programming language and framework for building robust Windows applications.
- WinUI 3 in Windows App SDK: The native UI platform for crafting modern, fluent interfaces on Windows.
- LibVLCSharp: A cross-platform .NET binding for LibVLC, enabling robust and wide-ranging audio format support.
- Community Toolkit for WinUI: A collection of controls, helpers, and services to simplify app development (e.g., ColorPicker, SettingsControls).
- Community Toolkit MVVM: A modern, fast, and platform-agnostic MVVM library.
- Entity Framework Core (SQLite): A modern object-relational mapper for .NET, used for local database storage.
- ATL (Audio Tools Library): A versatile library for reading and writing metadata in audio files.
- LrcParser: For parsing LRC lyrics files.
- SixLabors.ImageSharp: A cross-platform library for image processing.
- MaterialColorUtilities: For generating dynamic color schemes from artwork.
- H.NotifyIcon.WinUI: For creating and managing the Windows tray icon.
- Serilog: A structured logging library for diagnostics and debugging.
- XAML Behaviors: For implementing UI behaviors declaratively in XAML.
- Velopack: For automatic application updates (GitHub releases).
- Microsoft Dependency Injection: For implementing a loosely coupled and testable architecture.
Thanks to the creators and maintainers of all the open-source libraries that make Nagi possible.
🚀 Build from Source
This project is built using C# and the Windows App SDK.
Prerequisites
- Visual Studio 2022 or later
- The ".NET Desktop Development" and "Universal Windows Platform development" workloads installed (includes Windows App SDK).
- .NET 10 SDK
Steps
-
Clone the repository:
git clone https://github.com/Anthonyy232/Nagi.git
-
Navigate to the cloned directory and open
Nagi.slnwith Visual Studio. -
In Visual Studio, set the Solution Platform to
x64(or your target architecture). -
Press
F5or click the▶ Nagi (Package)button to build and run the application.To build msixbundle, three commands must be ran in src/Nagi.WinUI (the first two will fail but create the proper R2R images):
# 1. Pre-build binaries for both platforms (triggers PGO/R2R optimization) dotnet publish Nagi.WinUI.csproj -c Release -r win-x64 -p:Platform=x64 -p:GenerateAppxPackageOnBuild=false dotnet publish Nagi.WinUI.csproj -c Release -r win-arm64 -p:Platform=arm64 -p:GenerateAppxPackageOnBuild=false # 2. Finalize the packaged MSIX bundle msbuild Nagi.WinUI.csproj -p:Configuration=Release -p:Platform=x64 -p:GenerateAppxPackageOnBuild=true
Development
To perform a database migration:
dotnet ef migrations add <name> --project src\Nagi.Core --startup-project src\Nagi.Core --context MusicDbContext --no-build
🤝 Contributions
All contributions are welcome! Feel free to report issues, suggest features, or create pull requests for bug fixes and new features.
❤️ Support
If you enjoy using Nagi and want to support its development, you can do so via GitHub Sponsors. Your support is greatly appreciated!
📄 License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
more like this


