À propos du projet

EchoMusic est un lecteur musical de bureau tiers (concept version Kugou) minimaliste, raffiné et puissant. Ce projet est construit avec des technologies de pointe telles qu'Electron, Vue 3, TypeScript et Rust (via NAPI), et prend entièrement en charge les plateformes macOS, Windows et Linux. ### Caractéristiques principales - **Esthétique et personnalisation extrêmes** : Disposition soigneusement adaptée au bureau, prise en charge des modes clair/sombre et personnalisation des couleurs de thème, équilibrant densité d'information et expérience immersive. - **Importation de musique et de listes de lecture multi-sources** : Prise en charge des recommandations et recherches de chansons, artistes, albums, classements, etc., ainsi que l'importation de listes de lecture externes depuis des plateformes majeures comme NetEase Cloud, QQ Music, Kuwo, Kugou, Soda, Spotify et Apple Music. - **Moteur d'amélioration audio puissant** : Moteur d'effets audio multiplateforme intégré, prenant en charge un égaliseur à 10 bandes (avec compensation de pré-gain automatique), normalisation de la sonie LUFS, effets spatiaux WAV/IRS, ainsi que la lecture à vitesse variable et les transitions fondues. - **Système d'extensions** : Prise en charge de la navigation et de l'installation de sources d'extensions en ligne et du chargement d'extensions locales, permettant aux développeurs de personnaliser les pages, la barre latérale, les paramètres, les boutons du lecteur et l'écoute des événements de lecture. - **Intégration système approfondie** : Intégration native de MPNowPlayingInfoCenter sur macOS, SMTC sur Windows et MPRIS sur Linux, avec prise en charge des touches média système, synchronisation de la progression, raccourcis globaux, contrôle rapide via la barre système et paroles de bureau. - **Synchronisation locale et cloud** : Fonction de cloud musical, permettant de synchroniser l'audio local et les fichiers multiplateformes vers le cloud ; prise en charge de la FM privée et de la reconnaissance musicale (capture micro et audio système). - **Transparence des données** : Les requêtes musicales principales sont effectuées directement par le service local vers les plateformes correspondantes ; le projet ne fournit pas de relais audio ni d'hébergement de comptes cloud, garantissant la sécurité des données utilisateur. ### Architecture technique - **Coque de bureau** : Electron 43.4 - **Framework front-end** : Vue 3.5 + TypeScript 5.9 + Vite 8 + gestion d'état Pinia - **Bibliothèque de composants UI** : Reka UI + Tailwind CSS v4.3 - **Traitement audio** : Décodage FFmpeg, traitement de changement de vitesse SoundTouch, avec sortie audio native intégrée via un addon Rust NAPI. - **Modules natifs** : Construits avec napi-rs, incluant plusieurs modules haute performance pour la lecture/décodage, la capture audio, le contrôle média système, le stockage persistant SQLite et l'adaptation de plateforme. ### Développement et construction Le projet utilise pnpm comme gestionnaire de paquets et gère le sous-module `server` via Git Submodules. Le développement nécessite Node.js 22.12+, pnpm 9+, la chaîne d'outils Rust stable et la chaîne d'outils de compilation C/C++ (incluant LLVM/libclang). La configuration GitHub Actions complète du projet prend en charge la construction automatique multiplateforme et la publication de versions. Ce projet est sous licence open source GPL-3.0, destiné uniquement à l'apprentissage personnel et à la recherche technique.