About this project

BetterLyrics is a Windows desktop application that combines a music player with a highly customizable lyrics visualizer. It is built with C# on WinUI 3 and Win2D and is distributed under GPL v3.0, with installs available via the Microsoft Store or a manual release package. Visual presentation is the project's focus. Lyrics support per-syllable highlighting, long-note duration glows, and perspective-based fading for distant lines. A drag-and-drop layout editor lets users position and resize lyrics, album art, and playback controls. Users can tune animations, fonts, theme color extraction, and individual visual behaviors. A theme engine samples screen edges or album art to blend the interface with the desktop, and background effects include dynamic fluid, blur, fog, and snowflake particles. A real-time spectrum analyzer and shareable lyric cards with multiple artistic themes are also included. Playback covers local drives as well as SMB, WebDAV, and FTP sources, with playback memory for resuming. The media library syncs with local folder changes. The app can visualize music from external players such as Spotify, Apple Music, and NetEase, and integrates with Discord Rich Presence and Last.fm scrobbling. Lyrics handling includes configurable matching thresholds, manual metadata mapping, persistent source memory, noise reduction to filter non-lyric content, and Simplified/Traditional Chinese conversion. A plugin system allows community expansion of lyric sources, translation engines, and transliteration tools; offline translation is built in, with a framework prepared for local LLM integration. Native formats include .lrc (standard and enhanced), .eslrc, and .ttml. Display modes include standard, full screen, desktop/wallpaper (always-on-top or embedded behind icons), docked appbar, narrow vertical layout, and a taskbar mode. Additional features include automatic hiding when music stops and a statistics dashboard with a "Wrapped"-style visual story of listening history. The README notes the project is under active development and may have unexpected issues.