Added single instance support in `App.xaml.cs` to ensure that only one instance of the application can run, and introduced `Mutex` and `EnsureSingleInstance()` methods. Updated multi-language support and added new string resources to serve users of different languages. Refactored the play queue processing logic, using `PlayQueueItem` instead of `Track`, and introduced a new song tag information class in `SongsTabInfo.cs`. Updated UI components, replaced old image resources, and improved user experience. In addition, removed the unused `BuildDate` property and simplified the logic of the settings page. Together, these changes improve the stability, usability, and maintainability of the application.
❓ Click here to view frequently asked questions (FAQ)
BetterLyrics
Your smooth dynamic lyrics display tool built with WinUI 3
🎉 This project was featured by SSPAI!
Check out the article: BetterLyrics – An immersive and smooth lyrics display tool designed for Windows
🔈 Feedback and chat group
🌟 Highlighted features
- 🌠 Pleasing User Interface
- Fluent animations and effects
- ↔️ Strong Lyrics Translation
- Offline machine translation (supporting 30 languages)
- Auto reading local lyrics files for embedded translation
- 🧩 Various Lyrics Source
- Local storage
- Online lyrics providers
- QQ Music
- 网易云音乐 NetEase Cloud Music
- 酷狗音乐 Kugou Music
- amll-ttml-db
- LRCLIB
- 🪟 Multiple Display Modes
- Standard Mode
- Enjoy an immersive listening journey with rich lyrics animations and beautifully dynamic backgrounds
- Dock Mode
- A smart animated lyrics bar docked to your screen edge
- Desktop Mode
- Enjoy immersive lyrics floating above your apps
- Standard Mode
- 🧠 Smart Behaviors
- Auto hide when music player closed
This project is still under development, bugs and unexpected behaviors may be existed in the latest branch.
Screenshots
Standard mode
Dock mode
Desktop mode
Demonstration
Watch our introduction video (uploaded on 7 July 2025) on Bilibili here.
Tested music player
- NetEase Cloud Music
- Please install the BetterNCM plugin first. If a downgrade guide pops up after the installation, please follow the guide to complete the downgrade of NetEase Cloud Music (downgrade to 2.10.13);
- After that, please install the InfLink plugin in PluginMarket. After the installation is complete, please restart NetEase Cloud Music. At this point, all preparatory operations have been completed, enjoy it!
- Kugou Music
- Please make sure that the Kugou Music setting "Support system playback controls, such as lock screen interface" is turned on
- No timeline information broadcasted, which means when you change timeline position in Kugou Music, BetterLyrics has no way to detect this change.
- Apple Music
- Make sure you have set timeline threshold to around 600 ms in settings (Go to "Settings" - "Advanced option" to change), otherwise, the lyrics will be moving forward and afterward constantly.
- foobar2000
- Make sure you have https://github.com/dumbie/foo_mediacontrol installed with it
- Spotify
- QQ Music
- PotPlayer
- Media Player (System)
- LX Music
- Please make sure you have enabled "Open API" in LX Music settings page
- Then open BetterLyrics, go to settings, go to "Advanced options", input your LX Music server address (mostly like http://127.0.0.1:23330) and there you go!
- MusicBee
- Please install https://github.com/HenryPDT/mb_MediaControl before using
- iTunes
- Please install https://github.com/thewizrd/iTunes-SMTC before using
- AIMP
- Please install https://www.aimp.ru/?do=catalog&rec_id=1097 before using
Try it now
Microsoft Store
Easiest way to get it. Unlimited free trail or purchase (there is no difference between free and paid version)
☕ If you find it useful, please consider purchasing 🧧 it in Microsoft Store, I'll appreciate it! 🥰
When there's a stable version built, Microsoft Store will be the first channel to get updated.
Google Drive
Or get it from Google Drive (see release page for the link)
Please note you are downloading ".zip" file, for guide on how to install it, please kindly follow this doc.
Many thanks to
- Lyricify-Lyrics-Helper
- Provide lyrics fetch, decryption, and parse for QQ, Netease, Kugou sources
- LRCLIB
- LRCLIB lyrics API provider
- Audio Tools Library (ATL) for .NET
- Used for extracting pictures in music files
- WinUIEx
- Provide easy ways to access Win32 API regarding windowing
- TagLib#
- Used for reading original lyrics content
- Vanara
- Win32 API wrapper
- Stackoverflow - How to animate Margin property in WPF
- DevWinUI
- Bilibili -【WinUI3】SystemBackdropController:定义云母、亚克力效果
- cnblogs - .NET App 与 Windows 系统媒体控制(SMTC)交互
- Win2D 中的游戏循环:CanvasAnimatedControl
- r2d2rigo/Win2D-Samples
- CommunityToolkit - 从入门到精通
Inspired by
✍️ Help us translate into your language
Cannot find your language? Don't worry! Start translating and become one of the contributors! 😆 Click the link to translate this app into your language via Crowdin now!
Star History
Any issues and PRs are welcomed
If you find a bug please file it in issues or if you have any ideas feel free to share it here.









