Sobre o projeto
EchoMusic é um player de música de terceiros para desktop, minimalista, refinado e poderoso (conceito estilo Kugou). O projeto é construído com tecnologias de ponta como Electron, Vue 3, TypeScript e Rust (via NAPI), com suporte completo para execução multiplataforma em macOS, Windows e Linux.
### Principais Recursos
- **Estética Extrema e Personalização**: Layout de desktop cuidadosamente adaptado, suporte a modos claro/escuro e personalização de cor do tema, equilibrando densidade de informações e experiência imersiva.
- **Música Multi-fonte e Importação de Playlists**: Suporte a recomendações e busca de músicas, artistas, álbuns, rankings, etc., além de importação de playlists externas de plataformas populares como NetEase Cloud, QQ Music, Kuwo, Kugou, Soda, Spotify e Apple Music.
- **Mecanismo de Aprimoramento de Áudio**: Mecanismo de efeitos de áudio multiplataforma integrado, com equalizador de 10 bandas (com compensação automática de pré-ganho), normalização de loudness LUFS, efeitos espaciais WAV/IRS, além de reprodução em velocidade variável e transições com fade in/out.
- **Sistema de Extensões**: Suporte a navegação e instalação de fontes de plugins online e carregamento de plugins locais, permitindo que desenvolvedores personalizem páginas, barra lateral, configurações, botões do player e escuta de eventos de reprodução.
- **Integração Profunda com o Sistema**: Integração nativa com MPNowPlayingInfoCenter no macOS, SMTC no Windows e MPRIS no Linux, com suporte a teclas de mídia do sistema, sincronização de progresso, atalhos globais, controle rápido pela bandeja do sistema e letras no desktop.
- **Sincronização Local e Nuvem**: Suporte a armazenamento em nuvem de música, permitindo sincronizar áudio local e arquivos de várias plataformas para a nuvem; suporte a FM pessoal e reconhecimento de músicas (captura de microfone e áudio do sistema).
- **Transparência de Dados**: As solicitações principais de música são feitas diretamente pelo serviço local às plataformas correspondentes; o projeto não fornece retransmissão de áudio ou hospedagem de contas na nuvem, garantindo a segurança dos dados do usuário.
### Arquitetura Técnica
- **Casca de Desktop**: Electron 43.4
- **Framework Frontend**: Vue 3.5 + TypeScript 5.9 + Vite 8 + Gerenciamento de estado Pinia
- **Biblioteca de Componentes UI**: Reka UI + Tailwind CSS v4.3
- **Processamento de Áudio**: Decodificação FFmpeg, processamento de velocidade SoundTouch, com saída de áudio nativa incorporada via addon Rust NAPI.
- **Módulos Nativos (Native Addons)**: Construídos com napi-rs, incluindo decodificação de reprodução, captura de áudio, controle de mídia do sistema, armazenamento persistente SQLite e adaptação de plataforma, entre vários módulos de alto desempenho.
### Desenvolvimento e Build
O projeto usa pnpm como gerenciador de pacotes e Git Submodules para gerenciar o submódulo `server`. Para desenvolvimento, é necessário instalar Node.js 22.12+, pnpm 9+, toolchain estável do Rust e toolchain de compilação C/C++ (incluindo LLVM/libclang). A configuração completa do GitHub Actions do projeto suporta build automático multiplataforma e publicação de releases. Este projeto é licenciado sob GPL-3.0 e é destinado apenas para aprendizado pessoal e pesquisa técnica.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.