Sobre el proyecto
EchoMusic es un reproductor de música de escritorio de terceros (concepto de versión Kugou) minimalista, refinado y potente. El proyecto se construye con tecnologías avanzadas como Electron, Vue 3, TypeScript y Rust (a través de NAPI), con soporte completo multiplataforma para macOS, Windows y Linux.
### Características principales
- **Estética y personalización extremas**: Diseño de escritorio cuidadosamente adaptado, con soporte para modo claro/oscuro y personalización del color del tema, equilibrando densidad de información y experiencia inmersiva.
- **Música de múltiples fuentes e importación de listas**: Soporta recomendación y búsqueda de canciones, artistas, álbumes y rankings, así como importación de listas de reproducción externas de plataformas principales como NetEase Cloud, QQ Music, Kuwo, Kugou, Soda, Spotify y Apple Music.
- **Potente motor de mejora de audio**: Motor de efectos de sonido multiplataforma integrado, con ecualizador de 10 bandas (con compensación automática de preamplificación), normalización de sonoridad LUFS, efectos espaciales WAV/IRS, además de reproducción a velocidad variable y transiciones de fundido.
- **Sistema de extensiones**: Soporta exploración e instalación de fuentes de extensiones en línea y carga de extensiones locales, permitiendo a los desarrolladores personalizar páginas, barra lateral, ajustes, botones del reproductor y escucha de eventos de reproducción.
- **Integración profunda a nivel de sistema**: Integración nativa con MPNowPlayingInfoCenter en macOS, SMTC en Windows y MPRIS en Linux, con soporte para teclas multimedia del sistema, sincronización de progreso, atajos globales, control rápido desde la bandeja del sistema y letras en el escritorio.
- **Sincronización local y en la nube**: Soporta almacenamiento en la nube de música, permitiendo sincronizar audio local y archivos multiplataforma a la nube; incluye FM personal y reconocimiento de canciones (captura de micrófono y audio del sistema).
- **Transparencia de datos**: Las solicitudes de música principales son realizadas por un servicio local que accede directamente a las plataformas correspondientes; el proyecto no proporciona retransmisión de audio ni alojamiento de cuentas en la nube, garantizando la seguridad de los datos del usuario.
### Arquitectura técnica
- **Carcasa de escritorio**: Electron 43.4
- **Framework frontend**: Vue 3.5 + TypeScript 5.9 + Vite 8 + gestión de estado Pinia
- **Biblioteca de componentes UI**: Reka UI + Tailwind CSS v4.3
- **Procesamiento de audio**: Decodificación FFmpeg, procesamiento de cambio de velocidad SoundTouch, con salida de audio nativa integrada en el proceso mediante addon Rust NAPI.
- **Módulos nativos (Native Addons)**: Construidos con napi-rs, incluyen decodificación de reproducción, captura de audio, control multimedia del sistema, almacenamiento persistente SQLite y adaptación de plataforma, entre otros módulos de alto rendimiento.
### Desarrollo y compilación
El proyecto usa pnpm como gestor de paquetes y gestiona el submódulo `server` mediante Git Submodules. Para el desarrollo se requiere Node.js 22.12+, pnpm 9+, cadena de herramientas estable de Rust y herramientas de compilación C/C++ (incluyendo LLVM/libclang). La configuración completa de GitHub Actions permite compilación automática multiplataforma y publicación de releases. Este proyecto se distribuye bajo la licencia de código abierto GPL-3.0, destinado únicamente para aprendizaje personal e investigación técnica.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.