프로젝트 소개

YumaPlayer는 두 가지 스트리밍 생태계와 로컬 재생을 결합하는 독립적인 오픈소스 Android 음악 플레이어(GPLv3, Android 8.0+)입니다. Spotify 스타일의 맞춤형 피드, Daily Mixes 및 재생목록 가져오기와 함께 YouTube Music 카탈로그 검색, 차트, 무드 및 장르 탐색, 라디오 스테이션을 제공하며, 두 모드 간 빠른 전환이 가능합니다. 재생은 자격 증명 또는 커뮤니티 리졸버를 사용하여 Qobuz 기반 백본을 통한 무손실 FLAC 스트리밍 및 다운로드를 지원하며, 무손실 소스를 사용할 수 없을 때 YouTube Music 고비트레이트 스트림(Opus/AAC)으로 자동 폴백됩니다. 내장 로컬 엔진은 기기 내 FLAC, MP3, AAC, OGG, WAV 파일을 처리합니다. 재생한 YouTube Music 트랙의 자동 캐싱으로 오프라인 청취가 가능하며, FLAC 오프라인 캐싱은 개발 중으로 표시되어 있습니다. 오디오 도구로는 5밴드 이퀄라이저, 시스템 오디오 효과, EBU R128 음량 정규화, 크로스페이딩, 템포 및 피치 조정, 슬립 타이머가 포함됩니다. 가사는 핵심 기능입니다: 3단계 동기화 보기에서 원문, 발음 가이드, 번역을 함께 표시하며, 여러 제공자(LRCLIB, Kugou, BetterLyrics, SimpMusic, Unison, YouLyPlus)에서 집계한 카라오케 스타일의 단어 및 줄 동기화, 실시간 AI 번역, 공유 가능한 가사 인용 카드를 제공합니다. 인터페이스는 프로젝트 자체 YDS 2.1 디자인 시스템을 사용합니다: 반투명 글래스 카드, 듀얼 시트 제스처 엔진(왼쪽 스와이프로 가사, 오른쪽으로 대기열), 스크롤 연동 모핑 아티스트 헤더, 아트워크 기반 동적 테마, 배터리 사용량 절감을 위한 백그라운드 작업 일시 중단 등을 제공합니다. 연동 기능으로는 Last.fm 및 ListenBrainz 스크로블링, Discord Rich Presence, Android Auto, 홈 화면 위젯, WebSocket을 통한 동기화 청취를 위한 Together 모드가 포함됩니다. Spotify Canvas, Apple Motion 비디오 배경, Shazam 스타일 음악 인식은 개발 중으로 표시되어 있습니다. 프라이버시가 강조됩니다: 구독, 광고, 텔레메트리, 크래시 리포터, 서드파티 트래커가 없으며, 자격 증명은 Google Tink를 통해 AES-256-GCM으로 암호화되어 기기에 저장됩니다. 코드베이스는 Clean Architecture와 단방향 데이터 흐름을 따라 약 18개의 Gradle 모듈로 구성되며, 아키텍처, 모듈, 의사결정 기록, 디자인 시스템을 다루는 문서가 제공됩니다. 현지화는 Hosted Weblate를 통해 커뮤니티 주도로 이루어집니다. 빌드에는 JDK 21과 최신 Android Studio가 필요하며, APK는 GitHub Releases, Telegram, Obtainium을 통해 배포됩니다. 이 프로젝트는 ArchiveTune, Meld, Stash, Metrolist, SimpMusic, PixelPlayer, QBDLX, LRCLIB, BetterLyrics를 기반 또는 영감으로 표시하며, Google, YouTube Music 또는 Spotify와 제휴 관계가 없음을 명시합니다.