YumaPlayer (Yuma)
Гибридный музыкальный плеер для Android с акцентом на удобство, дизайн и качественный звук.
Spotify UI + Алгоритмы рекомендаций + База YouTube Music + Hi-Res Lossless (FLAC).
Скриншоты •
Возможности •
Архитектура •
Скачать •
Донат
---
## 🌟 О проекте
**YumaPlayer** — это независимый открытый музыкальный плеер для Android, объединяющий каталоги и функции двух ведущих платформ со стримингом и воспроизведением локальных треков в Hi-Res качестве.
Проект вырос как глубокая переработка **ArchiveTune** (с наработками от **Metrolist** и **SimpMusic**), вдохновлен механикой очередей **PixelPlayer**, сетевым взаимодействием со Spotify из **Meld** и стримингом FLAC из **Stash**. На этом фундаменте создана модульная архитектура из 13 модулей, собственная дизайн-система **YDS 2.1** и плавная жестовая модель с аппаратным ускорением.
Никаких платных подписок, встроенной рекламы, аналитики и закрытых трекеров. Учетные данные шифруются локально на устройстве (AES-256-GCM via Google Tink), а исходный код полностью открыт под лицензией GPL-3.0.
---
## 📸 Галерея интерфейса (Showcase)

Главный плеер (FLAC & Glass)
|

Синхронная 3-уровневая Лирика
|

Очередь (Dual-Sheet & Haptic)
|

Иммерсивный постер артиста
|

Telegram-морфинг в каплю
|

Главная (Quick Picks & YDS)
|

Spotify Feed & Рекомендации
|

Spotify Radio & Подборки
|

Spotify Daily Mixes
|
---
## ✨ Основные возможности
### 🔄 Два режима работы (Spotify + YouTube Music)
* **Spotify Home:** Персонализированный фид рекомендаций, миксы дня (Daily Mixes), Discover Weekly, подборки любимых исполнителей и прямой импорт ваших плейлистов/лайков из Spotify.
* **YouTube Music Home:** Классический поиск по всей базе YT Music, чарты, тематические подборки, радиостанции и быстрое переключение каналов.
### 🎧 Аудиофильский звук, FLAC и Воспроизведение
* **Lossless FLAC:** Стриминг и загрузка треков в формате FLAC (через Qobuz / QBDLX бэкбон) с указанием личного токена или публичных резолверов.
* **Бесшовный фоллбэк:** При отсутствии Lossless-версии трек гладко воспроизводится из YouTube Music (Opus / AAC).
* **Локальная музыка:** Полноценный встроенный плеер для аудиофайлов на памяти телефона (FLAC, MP3, AAC, OGG, WAV).
* **Оффлайн и Кэш:** Автоматическое кэширование прослушанных треков из YouTube Music для автономного прослушивания без интернета *(кэширование FLAC в активной разработке)*.
* **Тонкая настройка звука:** Встроенный 5-полосный эквалайзер + поддержка системных аудиоэффектов, нормализация громкости (EBU R128), плавный кроссфейд, изменение темпа и тональности, таймер сна.
### 🎤 Продвинутая Лирика и AI-перевод
* **3-уровневый синхрон:** Одновременный показ оригинального текста (Кандзи/Хангыль), транслитерации (Ромадзи) и перевода на русский язык.
* **Караоке-скролл:** Точная синхронизация по времени через 7+ провайдеров (LRCLIB, Kugou, Paxsenix, BetterLyrics, SimpMusic, Unison, YouLyPlus).
* **AI-перевод на лету:** Мгновенный перевод текста песен прямо во время воспроизведения.
* **Карточки цитат:** Возможность сохранить фрагмент текста как стильную картинку для соцсетей.
### 🎨 Yuma Design System (YDS 2.1) и Плавность
* **Стеклянный интерфейс (Glass UI):** Полупрозрачные карточки (`GlassScaffold`, тонкие рамки 0.5dp, выверенная геометрия скруглений 22dp / 5dp).
* **Dual-Sheet жесты:** Независимые шторки плеера (свайп слева — Текст песни, свайп справа — Очередь) без конфликтов жестов и тряски списков.
* **Telegram Morphing Header:** Плавное сжатие постера артиста или альбома в аккуратную каплю в строке состояния при скролле без растягивания картинки.
* **Smart Freeze & Pre-warming:** Экраны открываются мгновенно, а невидимые анимации и фоновые процессы засыпают при сворачивании, сохраняя заряд аккумулятора и прохладу устройства.
* **Динамический Monet:** Адаптивная генерация темы и акцентов на основе палитры текущей обложки трека.
### 🌐 Интеграции и Удобство
* **Spotify Canvas & Apple Motion:** Зацикленные видео-фоны во время воспроизведения *(в разработке)*.
* **Распознавание музыки (Shazam):** Встроенный поиск играющего рядом трека по акустическому отпечатку *(в разработке)*.
* **Together (Совместное прослушивание):** Синхронное прослушивание музыки с друзьями через WebSockets.
* **Скробблинг:** Нативная поддержка Last.fm и ListenBrainz.
* **Discord Rich Presence:** Отображение играющего трека в статусе профиля Discord.
* **Android Auto & Виджеты:** Поддержка воспроизведения в автомобиле и виджеты на рабочем столе (Glance).
---
## 🌍 Локализация (Globalization)
YumaPlayer переведен на множество языков силами сообщества (Thanks Archivetune!).
> Если вы хотите помочь с переводом приложения на ваш родной язык или улучшить текущие строки — присоединяйтесь к обсуждению в нашем [Telegram-канале](https://t.me/yumaplayer).
---
## 🏛️ Архитектура и Документация
Проект разбит на **13 независимых Gradle-модулей** по канонам Clean Architecture и UDF (Unidirectional Data Flow):
```
┌─────────────────────────────────────────────────────────────┐
│ :app (Composition Root) │
└──────────────────────────────┬──────────────────────────────┘
│
┌───────────────────────┼──────────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌───────────────────────────┐
│ :feature:* │ │ :service:* │ │ :lyrics:* │ :spotifycore│
│ (Compose UI) │ │ (Playback) │ │ :canvas │ :shazamkit │
└──────┬───────┘ └──────┬───────┘ └─────────────┬─────────────┘
│ │ │
└──────────────────────┼───────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ :core:* (Domain, Data, Model) │
└──────────────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Low-Level Media Extraction │
└─────────────────────────────────────────────────────────────┘
```
📖 **Подробные гайды для разработчиков:**
* [Обзор Архитектуры (Architecture Overview)](docs/architecture/ARCHITECTURE.md)
* [Каталог модулей и граф зависимостей (Modules Directory)](docs/architecture/MODULES.md)
* [Архитектурные решения (ADR Records)](docs/architecture/DECISIONS.md)
* [Спецификация дизайн-системы (YDS 2.1 Guide)](docs/design/YDS.md) | [На русском](docs/design/YDS_ru.md)
* [Стандарты кода и правила (Yuma Rules)](docs/development/YUMA_RULES.md)
---
## 📥 Установка и Загрузка
| GitHub Releases |
Telegram Channel |
Obtainium |
|
|
|
### Сборка из исходников
```bash
git clone https://github.com/MuwMx/YumaPlayer.git
cd YumaPlayer
./gradlew assembleRelease
# Готовый APK появится в: app/build/outputs/apk/release/
```
*Требования:* Android Studio Ladybug (2024.2.1+), JDK 21, Android SDK 35+.
---
## ⚙️ Подключение аккаунтов
YumaPlayer полностью функционален без логина. Авторизация нужна только для подтягивания ваших личных плейлистов и рекомендаций:
🎵 Подключение Spotify
1. Откройте **Настройки** → **Аккаунт** → **Spotify** → Нажмите **Войти**.
2. Авторизуйтесь под своими учетными данными на открывшейся веб-странице.
3. Сессия будет автоматически сохранена и зашифрована на устройстве.
📺 Подключение YouTube Music
Доступно два удобных способа входа:
* **Способ 1 (Google Аккаунт):** Откройте **Настройки** → **Аккаунт** → **YouTube** → войдите через встроенное безопасное окно авторизации.
* **Способ 2 (Ввод токена / Cookie):** Если у вас включена двухфакторная аутентификация или не открывается браузер — перейдите в **Настройки** → **Аккаунт** → **Редактор токенов** и вставьте актуальные cookie сессии вручную.
---
## ☕ Поддержать проект (Support)
YumaPlayer распространяется бесплатно, не содержит рекламы и не продает подписки. Если плеер вам понравился и вы хотите поддержать автора:
Solana (SOL, USDT, USDC):
DT3ckdbNuiQMR1mrCpBXCMrhLB19GckVv3YfxsLLiF8z
PayPal / Email Transfer:
muwmix.coffee@gmail.com
---
## 🤝 Благодарности (Open-Source Credits)
Проект создан благодаря наработкам и свободному коду сообщества:
* **[ArchiveTune](https://github.com/rukamori/ArchiveTune)** — за отличный фундамент, плеерные наработки и базу настроек.
* **[Meld](https://github.com/FrancescoGrazioso/Meld)** — за концепцию и реализацию гибридного взаимодействия со Spotify.
* **[Stash](https://github.com/rawnaldclark/Stash)** — за вдохновение в организации Lossless FLAC стриминга и загрузок.
* **[Metrolist](https://github.com/mostafaalagamy/Metrolist)** & **[SimpMusic](https://github.com/maxrave-dev/SimpMusic)** — за первоначальные парсеры текстов и интерфейсные идеи.
* **[PixelPlayer](https://github.com/theovilardo/PixelPlayer)** — за идеи кинематики жестов и организацию очереди.
* **[QBDLX](https://github.com/ImAiiR/QobuzDownloaderX)** — за инфраструктуру прямого Lossless аудио.
* **[LRCLIB](https://lrclib.net/)** & **[BetterLyrics](https://better-lyrics.boidu.dev/)** — за открытую базу синхронизированной лирики.
---
## ⚖️ Лицензия и Отказ от ответственности
### Лицензия
YumaPlayer распространяется под свободной лицензией **GNU General Public License v3.0 (GPLv3)**.
Вы можете свободно использовать, изучать, модифицировать и распространять код при условии сохранения авторских прав и открытия производного кода под аналогичной лицензией GPL-3.0.
### Отказ от ответственности (Disclaimer)
YumaPlayer — это независимый неофициальный сторонний клиент. Проект **не связан с Google LLC, YouTube Music или Spotify AB** и не одобрен ими. Приложение создано исключительно для личного использования и управления собственной медиатекой.
---
Разработано с ❤️ и вниманием к каждому кадру. Enjoy the music! 🎵