Об этом проекте
LastWave — это открытый нативный музыкальный клиент для Android, который осуществляет потоковую передачу из публичного каталога YouTube Music. Он построен на Kotlin и Jetpack Compose с использованием дизайна Material 3 Expressive, а в его README указано, что проект предназначен для исследовательских и образовательных целей.
Основные возможности, описанные в README:
- Клиент YouTube Music: просмотр и потоковая передача треков, альбомов, исполнителей и публичных плейлистов, с фоновым воспроизведением и без рекламы.
- Генератор умных плейлистов: алгоритмические миксы по вкусам и радио по настроению на основе истории прослушиваний, исполнителей-ориентиров, любимых треков и топ-жанров.
- Универсальный скробблер Last.fm: отслеживает воспроизведение в таких приложениях, как YouTube Music, Spotify, Apple Music и локальных плеерах, используя нативное отслеживание медиасессий ОС.
- Синхронизированные тексты в реальном времени: анимированные караоке-тексты с миллисекундной синхронизацией из LRCLIB, с несколькими настраиваемыми стилями анимации.
- Офлайн-загрузчик: загрузки в одно касание сохраняются в локальное хранилище в папке Music/LastWave, с обложками и текстами в формате .lrc.
- Лента открытий и жанровая ДНК: персонализированные рекомендации, разбивка по жанрам, еженедельные итоги прослушивания и мгновенные радио-миксы.
- Кроссплатформенный импорт плейлистов: импорт публичных плейлистов из Spotify и Apple Music.
- Социальная лента: отслеживание активности друзей через Last.fm, просмотр недавних скробблов и топ-треков.
- Темы оформления: динамические темы на основе обоев, собственный движок палитры HSL, извлечение цветов из обложек альбомов, анимации и тактильная отдача.
Технический стек: 100% Kotlin с Jetpack Compose; AndroidX Media3 ExoPlayer для аудио с управлением с экрана блокировки и Android Auto; потоковая передача аудио Opus; API Last.fm; LRCLIB для текстов; MVVM с Clean Architecture, Room, Jetpack DataStore, Dagger Hilt, Coroutines и Flow.
Начало работы: скачайте последний APK со вкладки Releases или Actions, установите на Android 7.0+ и при желании подключите аккаунт Last.fm в настройках, чтобы включить скробблинг, миксы по вкусам и радар открытий. Сборка из исходного кода выполняется стандартной командой Gradle (./gradlew assembleRelease).
README содержит отказ от ответственности: проект независим и не связан с Google, YouTube, YouTube Music, Spotify, Apple или Last.fm, а также не размещает и не распространяет защищённый авторским правом контент; доступ к контенту осуществляется через публичные конечные точки.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.