프로젝트 소개

EchoMusic은 데스크톱 전용으로 설계된 미니멀하고 정교하며 강력한 기능을 갖춘 서드파티 음악 플레이어(쿠거우 컨셉 에디션)입니다. 이 프로젝트는 Electron, Vue 3, TypeScript 및 Rust(NAPI를 통한)와 같은 최신 기술로 구축되었으며 macOS, Windows 및 Linux에서 완벽한 크로스 플랫폼 실행을 지원합니다. ### 핵심 기능 - **최고의 미학과 개인화**: 데스크톱 레이아웃에 세심하게 적응하며 라이트/다크 모드와 테마 색상 사용자 지정을 지원하여 정보 밀도와 몰입형 경험을 모두 제공합니다. - **다중 소스 음악 및 플레이리스트 가져오기**: 노래, 아티스트, 앨범, 차트 등에 대한 콘텐츠 추천 및 검색을 지원하며 NetEase Cloud Music, QQ Music, Kuwo, Kugou, Soda, Spotify, Apple Music 등 주요 플랫폼의 외부 플레이리스트 가져오기를 지원합니다. - **강력한 오디오 향상 엔진**: 크로스 플랫폼 사운드 엔진이 내장되어 있으며 10밴드 이퀄라이저(자동 프리게인 보상 포함), LUFS 라우드니스 정규화, WAV/IRS 공간 음향을 지원하고 배속 재생, 페이드 인/아웃 트랙 전환도 지원합니다. - **플러그인 확장 시스템**: 온라인 플러그인 소스 탐색 및 설치와 로컬 플러그인 로드를 지원하여 개발자가 사용자 정의 페이지, 사이드바, 설정 항목, 플레이어 버튼 및 재생 이벤트 리스너를 만들 수 있습니다. - **시스템 수준 심층 통합**: macOS MPNowPlayingInfoCenter, Windows SMTC, Linux MPRIS를 기본적으로 통합하며 시스템 미디어 키, 진행률 동기화, 전역 단축키, 시스템 트레이 빠른 제어 및 데스크톱 가사를 지원합니다. - **로컬 및 클라우드 동기화**: 음악 클라우드 드라이브 기능을 지원하여 로컬 오디오와 크로스 플랫폼 파일을 클라우드에 동기화할 수 있습니다. 개인 FM 및 노래 식별(마이크 및 시스템 오디오 캡처)을 지원합니다. - **데이터 투명성**: 핵심 음악 요청은 로컬 서비스가 해당 플랫폼에 직접 액세스하며, 프로젝트는 오디오 중계 또는 클라우드 계정 호스팅을 제공하지 않아 사용자 데이터 보안을 보장합니다. ### 기술 아키텍처 - **데스크톱 셸**: Electron 43.4 - **프론트엔드 프레임워크**: Vue 3.5 + TypeScript 5.9 + Vite 8 + Pinia 상태 관리 - **UI 컴포넌트 라이브러리**: Reka UI + Tailwind CSS v4.3 - **오디오 처리**: FFmpeg 디코딩, SoundTouch 속도 변경 처리를 통해 Rust NAPI 애드온이 프로세스 내에서 기본 오디오 출력을 임베드합니다. - **네이티브 모듈**: napi-rs 기반으로 구축되었으며 재생 디코딩, 오디오 캡처, 시스템 미디어 제어, SQLite 영구 저장 및 플랫폼 적응을 포함한 여러 고성능 모듈을 포함합니다. ### 개발 및 빌드 프로젝트는 pnpm을 패키지 관리자로 사용하고 Git 서브모듈을 통해 `server` 하위 모듈을 관리합니다. 개발에는 Node.js 22.12+, pnpm 9+, Rust 안정 툴체인 및 C/C++ 컴파일 툴체인(LLVM/libclang 포함) 설치가 필요합니다. 프로젝트의 완벽한 GitHub Actions 구성은 다중 플랫폼 자동 빌드 및 릴리스 게시를 지원합니다. 이 프로젝트는 GPL-3.0 오픈 소스 라이선스를 채택하며 개인 학습 및 기술 연구 목적으로만 사용됩니다.