About this project

EchoMusic is a minimalist, refined, and feature-rich third-party music player designed for desktop (Kugou Concept Edition). The project is built using cutting-edge technologies such as Electron, Vue 3, TypeScript, and Rust (via NAPI), with full cross-platform support for macOS, Windows, and Linux. ### Core Features - **Exceptional Aesthetics and Customization**: Carefully adapted desktop layout, supporting light/dark modes and customizable theme colors, balancing information density with an immersive experience. - **Multi-Source Music and Playlist Import**: Supports recommendations and search for songs, artists, albums, charts, and more, along with external playlist import from major platforms including NetEase Cloud Music, QQ Music, Kuwo, Kugou, Soda Music, Spotify, and Apple Music. - **Powerful Audio Enhancement Engine**: Includes a cross-platform audio effects engine with a 10-band equalizer (with automatic pre-gain compensation), LUFS loudness normalization, WAV/IRS spatial audio effects, plus variable speed playback and crossfade transitions. - **Plugin Extension System**: Supports browsing and installing online plugin sources and loading local plugins, allowing developers to customize pages, sidebars, settings, player buttons, and playback event listeners. - **Deep System Integration**: Natively integrates with macOS MPNowPlayingInfoCenter, Windows SMTC, and Linux MPRIS, supporting system media keys, progress synchronization, global shortcuts, system tray quick controls, and desktop lyrics. - **Local and Cloud Sync**: Features a music cloud drive for syncing local audio and cross-platform files to the cloud; supports private FM and song recognition (via microphone and system audio capture). - **Data Transparency**: Core music requests are made directly by local services to respective platforms; the project does not provide audio relay or cloud account hosting, ensuring user data security. ### Technical Architecture - **Desktop Shell**: Electron 43.4 - **Frontend Framework**: Vue 3.5 + TypeScript 5.9 + Vite 8 + Pinia state management - **UI Component Library**: Reka UI + Tailwind CSS v4.3 - **Audio Processing**: FFmpeg decoding, SoundTouch tempo adjustment, with native audio output embedded in-process via a Rust NAPI addon. - **Native Addons**: Built with napi-rs, including high-performance modules for playback decoding, audio capture, system media control, SQLite persistent storage, and platform adaptation. ### Development and Build The project uses pnpm as the package manager and manages the `server` submodule via Git Submodules. Development requires Node.js 22.12+, pnpm 9+, the Rust stable toolchain, and C/C++ build tools (including LLVM/libclang). The project includes comprehensive GitHub Actions configuration for multi-platform automated builds and Release publishing. This project is licensed under GPL-3.0 and is intended for personal learning and technical research only.