Об этом проекте
EchoMusic — это минималистичный, изысканный и многофункциональный сторонний музыкальный плеер для настольных ПК (концепт-версия, вдохновлённая KuGou). Проект создан с использованием передовых технологий, таких как Electron, Vue 3, TypeScript и Rust (через NAPI), и полностью поддерживает кроссплатформенную работу на macOS, Windows и Linux.
### Ключевые особенности
- **Изысканная эстетика и персонализация**: Тщательно адаптированный интерфейс для настольных ПК, поддержка тёмной и светлой тем, настройка цветов темы, баланс между информационной плотностью и захватывающим опытом.
- **Многоплатформенная музыка и импорт плейлистов**: Поддержка рекомендаций и поиска по песням, исполнителям, альбомам, чартам и т.д., а также импорт внешних плейлистов с таких платформ, как NetEase Cloud Music, QQ Music, KuWo, KuGou, Soda Music, 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 addon.
- **Нативные модули**: Построены на базе napi-rs, включают высокопроизводительные модули для декодирования воспроизведения, захвата аудио, системного управления медиа, постоянного хранения SQLite и адаптации к платформам.
### Разработка и сборка
В проекте используется pnpm в качестве менеджера пакетов, а подмодуль `server` управляется через Git Submodules. Для разработки требуются Node.js 22.12+, pnpm 9+, инструментарий Rust stable и компиляторы C/C++ (включая LLVM/libclang). Настроенные GitHub Actions поддерживают автоматическую многоплатформенную сборку и выпуск релизов. Проект распространяется под лицензией GPL-3.0 и предназначен только для личного обучения и технических исследований.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.