XM Music is a cross-platform local music player built with Electron, Vue 3, and TypeScript, offering smart scanning, playlists and favorites, four-source online lyric and cover matching, and pinyin search.
- v2.0.0
- Published at
- 11d ago
- 9
- Stars
- 70
- Download
- Synced at
- 10d ago
Latest release
v2.0.0Oct 17, 2026, 04:06 PMDownloads slow? Switch the source anytime above
README
Project Overview
XM Music is a local music player built with Electron, Vue 3, and TypeScript, styled after QQ Music, and available for macOS, Windows, and Linux. It performs smart scanning and metadata editing on a local library and offers playlist, favorite, and playback-mode management. Lyrics and covers can be matched online, with LRC, full-screen, and desktop lyrics, and search supports Chinese characters, full pinyin, and initials.
A good-looking cross-platform local player built for large libraries.
Key Features
- Local music management: smart scanning, configurable scan folders, metadata editing, and cover extraction
- Stale cleanup: remove records for files that no longer exist or are marked unplayable
- Playlist management: create, edit, set covers, and copy songs to a folder
- Favorites and recents: quick favorites with recents pinned to the top
- High-quality playback: native Audio first with Howler.js fallback, plus several playback modes
- Equalizer: built-in presets with custom tuning, sharing one filter chain across full-screen, mini, and normal modes
- Smart search: search by Chinese characters, full pinyin, or initials
- Lyrics: LRC, full-screen lyrics, and desktop lyrics with offset calibration and batch online matching
- Cover matching: search covers by tags or filename, with batch matching and cover export
- Tag editing: smart filename parsing to fix garbled tags, with automatic encoding detection and a manual fallback
- Performance: virtual scrolling and incremental loading handle libraries and queues in the tens of thousands
Target Audience
- Collectors with large local music libraries
- Users who need to fill in lyrics and covers in bulk
- Listeners who care about interface polish and search speed
- Users working across macOS, Windows, and Linux
Quick Start
- Download the installer for your platform from Releases
- Add a local music folder in settings on first launch
- Scan the library and wait for metadata and cover extraction
- Double-click a song to play, or run batch lyric and cover matching
- Use the top search box with full pinyin or initials to find songs quickly
Core Advantages
- Large-library friendly: virtual scrolling and incremental loading keep tens of thousands of songs smooth
- Comprehensive matching: both lyrics and covers support concurrent multi-source online matching
- Strong organization: tag editing, garbled-text repair, and stale cleanup in one place
- Consistent cross-platform: the same experience on macOS, Windows, and Linux
System Requirements
| Item | Requirement |
|---|---|
| OS | macOS (Apple Silicon), Windows, Linux |
| Runtime | The installer bundles its runtime; source builds need Node.js 24+ |
| Native dependency | better-sqlite3 needs platform build tools |
| Network | Required for online lyric and cover matching |
Notes
- The macOS installer supports Apple Silicon (arm64) only
- The build is not Apple-notarized, so the first launch may require right-clicking to open or clearing the quarantine attribute
- Batch lyric and cover matching are mutually exclusive
Release history
Sort