프로젝트 소개
LastWave는 공개 YouTube Music 카탈로그에서 스트리밍하는 오픈소스 네이티브 Android 음악 클라이언트입니다. Kotlin과 Jetpack Compose, Material 3 Expressive 디자인으로 제작되었으며, README에는 연구 및 교육 목적을 위한 것이라고 설명되어 있습니다.
README에 설명된 핵심 기능:
- YouTube Music 클라이언트: 트랙, 앨범, 아티스트 및 공개 플레이리스트를 탐색하고 스트리밍하며, 백그라운드 재생과 광고 없음을 지원합니다.
- 스마트 플레이리스트 생성기: 청취 기록, 시드 아티스트, 좋아하는 트랙 및 상위 장르를 기반으로 한 알고리즘 취향 믹스와 무드 라디오.
- 범용 Last.fm 스크로블러: 네이티브 OS 미디어 세션 추적을 사용하여 YouTube Music, Spotify, Apple Music 및 로컬 플레이어와 같은 앱 전반의 재생을 추적합니다.
- 실시간 동기화 가사: LRCLIB에서 가져온 밀리초 단위로 동기화된 애니메이션 가라오케 가사와 여러 사용자 지정 모션 스타일.
- 오프라인 다운로더: 한 번의 탭으로 다운로드하여 Music/LastWave 아래 로컬 저장소에 저장하며, 커버 아트와 .lrc 가사로 태그가 지정됩니다.
- 디스커버리 피드 및 장르 DNA: 개인화된 추천, 장르 분석, 주간 청취 요약 및 즉석 믹스 라디오.
- 크로스 플랫폼 플레이리스트 가져오기: Spotify 및 Apple Music에서 공개 플레이리스트를 가져옵니다.
- 소셜 피드: Last.fm을 통해 친구의 청취 활동을 팔로우하고 최근 스크로블과 상위 트랙을 확인합니다.
- 테마: 동적 배경화면 테마, 사용자 지정 HSL 팔레트 엔진, 앨범 아트 색상 추출, 애니메이션 및 햅틱.
기술 스택: 100% Kotlin과 Jetpack Compose; 잠금 화면 컨트롤 및 Android Auto를 지원하는 오디오용 AndroidX Media3 ExoPlayer; Opus 오디오 스트리밍; Last.fm API; 가사용 LRCLIB; MVVM과 Clean Architecture, Room, Jetpack DataStore, Dagger Hilt, Coroutines 및 Flow.
시작하기: Releases 또는 Actions 탭에서 최신 APK를 다운로드하여 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.