从源码构建需 JDK 21、Android SDK 37 与支持 AGP 9.x 的 Android Studio;登录 Spotify/YouTube Music 为可选操作,不登录仅能使用基础功能;使用个人歌单与推荐同步需在设置中单独完成账号授权

YumaPlayer
MuwMxGPL-3.0活跃维护一款 Android 混合音乐客户端,把 Spotify 的发现与界面、YouTube Music 的曲库和 FLAC 无损串流整合在一起,适合追求高音质的用户。
🎵 Hybrid music client for Android: Spotify discovery & UI + YouTube Music library + Hi-Res Lossless (FLAC) streaming with fluid Glassmorphism💫
git clone https://github.com/MuwMx/YumaPlayer.git
cd YumaPlayer
./gradlew assembleReleaseREADME 未说明具体硬件要求,仅标注平台为 Android 8.0+(minSdk 26)
安卓混合音乐客户端,聚合 Spotify 发现与 YouTube Music 曲库,支持无损 FLAC 播放
一款 Android 混合音乐客户端,把 Spotify 的发现与界面、YouTube Music 的曲库和 FLAC 无损串流整合在一起,适合追求高音质的用户。
核心能力
- 双模式浏览 Spotify 与 YouTube Music 曲库及推荐
- 双音频引擎交叉淡入,实现无缝连续播放
- 自动检测段落并做 BPM 匹配与低音交换过渡
- 流式播放与下载真无损 FLAC 音轨
- 集成 SponsorBlock 可配置跳过赞助片段
容易踩的坑
- v1.2.0-RC.1最新正式版2026-10-17 · 2026-10-17 21:45 UTC
YumaPlayer v1.2.0-RC.1
A massive milestone update representing over a month of intensive development and a complete architectural overhaul. This release introduces a dedicated low-level audio DSP engine, the YDS 2.1 design system with a draggable Telegram-spec navigation island, native Spotify browsing, Canvas loops, robust proxy networking, and deep performance optimizations.
✨ Major Highlights
🎛️ Audio Engine & Smart Automix (
:core:audio-dsp)- Dual-Deck Continuous Crossfade: True gapless playback using two independent, synchronized audio deck controllers with atomic role swapping. Zero silence between tracks.
- DJ Transition Intelligence: Automated outro/intro cue detection, energy cliff analysis, BPM matching, and complementary bass-swap filters (0.45–0.55 window).
- Audiophile Codec Pipeline: Dedicated 24-bit packed PCM processing, Kopus-first Opus decoding with MediaCodec fallback, and native FLAC length resolution.
- Stall Guard & Recovery: Intelligent fallback to hard cuts during network drops, background stream revival upon reconnection, and strict source-scoped cache identities.
- N+1 Prefetching: Seamless background caching of upcoming tracks into the local download cache.
🏝️ YDS 2.1 & Gesture Physics
- Draggable Navigation Island: Compact, draggable floating dock inspired by Telegram specifications, featuring dynamic corner morphing, scroll-hide sync, and local haptic feedback.
- Unified Player Sheet V2: Re-engineered gesture physics with GPU-accelerated backdrop blur (
Haze), isolated drag layers, and independent artwork scaling. - Canvas Backdrop Engine: Hardware-accelerated background video loops supporting up to 4K resolution, backed by an isolated cache to prevent ghosting during track changes.
- Spoiler Veil: Interactive Telegram-grade particle engine to obscure tokens and sensitive settings.
- Particle Splash Screen: Customizable startup burst physics with shape selectors and offline state management.
🟢 Native Spotify Catalog
- Native Album Screen: Browse Spotify albums and custom playlists directly inside Yuma without external app dependencies.
- Two-Tier Search & Deduplication: Multi-stage scoring algorithm with cross-script deduplication and semaphore-throttled YouTube matching.
- Locale-Aware Metadata: Automatic synchronization with the device's locale and language headers.
🛡️ Network, Stability & SponsorBlock
- SponsorBlock Integration: Configurable in-app segment skipping (fillers, reminders, music hooks).
- SOCKS5 Proxy Support: Native proxy routing with JVM Authenticator support.
- Stream Decryption v3: Updated signature deobfuscation and PoToken generation routines to handle strict YouTube stream delivery.
- Memory Leak Elimination: Integrated LeakCanary 2.14, resolved theme lifecycle leaks, stopped background palette extract loops, and bounded karaoke memory allocations.
🛠️ Detailed Changes
Playback & Queue
- Auto-scroll to currently playing track inside the queue layer.
- Reordered queue operations to use immutable item UIDs instead of volatile layout indices.
- Bounded memory allocations for karaoke lyrics models to eliminate Out-Of-Memory crashes.
- Extracted Discord RPC and playback history tracking into isolated specialists.
Integrations & Settings
- SponsorBlock Controls: In-app settings to auto-skip or notify for sponsor segments, music hooks, fillers, and subscription reminders on YouTube Music tracks.
- Random Background on Startup: Optional dynamic styling that rolls a random home background palette upon launching the app.
- Enhanced Privacy & Security: Sensitive tokens and proxy credentials can now be concealed with the interactive Spoiler Veil.
UI & Screens
- Home Screen: Adaptive card dimensions, alternating contextual greeting header, and isolated category chip sections with zero la
- v1.2.0-Beta.42026-09-19 · 2026-09-19 11:48 UTC
查看更新说明
Changelog v1.2.0-Beta(4)
A stability and architecture-focused update addressing playback pipeline performance, Spotify queue reliability, UI smoothness, interactive splash animations, and in-app update delivery.
✨ Highlights
🟢 Spotify Playback & Queue Optimization
- Instant Queue Start: Large playlists and personal mixes now start playing immediately by preloading a local window while resolving the remaining queue lazily in the background.
- Queue Pagination Reliability: Fixed infinite pagination dropping trailing songs in long sessions and "Liked Songs".
- Radio Decoupling: Prevented redundant YouTube auto-radio triggers from overriding Spotify queues.
- Home Feed Playback: Resolved shelf item playback issues and fixed pull-to-refresh stale cache handling.
🎨 Interactive Particle Splash Screen
- Dynamic Visuals: Introduced a particle physics engine featuring shockwaves, radial flashes, and coordinated UI reveal transitions on cold start.
- Theming & Controls: Fully supports Light and Dark themes. Can be toggled off at any time via Settings → Appearance → Splash Animation.
⚡ UI Responsiveness
- Smoother Lists & Grids: Removed micro-stutters across Charts, Moods/Genres, and song lists through stabilized item keys and reduced Compose layout passes.
- Faster Navigation: Reduced initial layout latency when navigating into Library, Mixes, and playlist screens.
🔄 In-App Updater
- Direct Asset Downloads: Fixed GitHub asset resolution to download APKs directly via verified CDN release URLs, preventing stalled downloads and 404 redirects.
- Cache Bypassing: Update checks now bypass intermediate network cache to fetch latest releases immediately upon publication.
⚠️ Known Issues & Work in Progress
- Track Matching (Spotify Mode): In some cases, resolved YouTube audio streams may not accurately match the requested Spotify track (e.g., matching a live version or cover).
- Spotify Home Feed Navigation: Certain playlist shortcuts from the Spotify home tab may route to incorrect playlists.
- Stream Resolution & Regional Throttling: Depending on your region or ISP, initial playback buffering might take a few moments.
- Playlist Management: Creating or directly editing Spotify playlists from within the app is currently not supported; manage playlists directly in Spotify for syncing.
- Search Engine: In-app search currently targets the YouTube Music catalog.
Note: The comprehensive decoupling of legacy dependencies and network resolution is ongoing across upcoming releases to address these matching inaccuracies directly.
- v1.2.0-Beta.32026-09-12 · 2026-09-12 10:29 UTC
查看更新说明
Changelog v1.2.0-Beta(3)
A major stabilization, playback performance, and architecture update. Focus on playback latency, synchronized lyrics reliability, Spotify/YTM dual-mode library sync, background Canvas video engine, and in-app updates.
✨ Highlights
🔁 Dual-Source Likes & Library Synchronization
- Independent Source Flags: Migrated database (Room 35 → 36) to track
likedYtmandlikedSpotifyseparately. Liking a song on YouTube Music no longer corrupts Spotify library state, and vice versa. - Unified Read Semantics: UI hearts and badges reflect union state (
likedYtm || likedSpotify), while local lists, filters, and counter badges strictly honor the selected service context. - Set-Diff Sync Engine: Reworked background sync using fast set-difference operations and batch lookups. Syncing 1000+ tracks now runs in milliseconds without UI freezes or database lockups.
- Asymmetric Unliking & Mutex Guards: Single-tap fully unlikes across the active source; added dedicated in-flight sync guards and cooldown timers to prevent rate-limiting.
🎨 Looping Video Canvas Engine (Spotify / Apple)
- Instant Disk Caching: Canvas videos now download and cache immediately upon track resolution. Local MP4 files take strict priority over network streams, killing replay latency and mobile data waste.
- ExoPlayer CacheDataSource: Video streaming is now wrapped in a shared MediaCache layer.
- Zero-Leak Transitions: Switching tracks immediately clears previous canvas artwork and releases the old video player; no old video flashes while the new track loads.
- Aspect Ratio & Geometry Fix: Fixed horizontal text cropping on modern 20:9 displays. Immersive canvas artwork now scales at full 3:4 aspect ratio with an 80% gradient fade behind seekbars and controls.
- Pause Synchronization: Fixed background video continuing to play when audio is paused.
🎤 Synchronized Lyrics Engine
- Generation & Desync Guards: Added atomic generation tokens and media ID verification across all coroutine suspend points. Rapid track skipping will never leave the previous song's lyrics scrolling over new audio.
- LRC Word-Timing & Mirror Pipeline: Fully restored upstream provider parity for LRCLIB, Kugou, Paxsenix, and BetterLyrics.
- Clean Fallback Handling: Missing lyrics or
LYRICS_NOT_FOUNDnow reliably clears the screen and ticker instead of freezing previous lines. - Removed Mini-Lyrics: Removed the experimental flickering lyrics text from the player controls column.
🔄 In-App Updater & Cast
- Direct APK Download & Install: Switched in-app installer to the unified OkHttp engine with streaming progress and package-installer intent redirects.
- FOSS Fallback: On FOSS builds, updates gracefully route to external browser releases.
- Cast Integration: Restored 3-dot sheet Cast picker on GMS builds with unified YDS button styling.
⚡ Architecture, Network & Monolith Splits
- Unified Network Layer: Enforced a single shared OkHttp client across all modules (DoH, rotating proxy, proxy authentication, connection pools). Eliminated isolated engine cross-kills.
- Database DAO Modularization: Fully decomposed the 2500-line monolithic
DatabaseDaointo 9 focused domain DAOs (SongDao,PlaylistDao,AlbumDao,ArtistDao, etc.) behind a unified database facade. - Provider Decoupling: Split monolithic
PaxsenixLyrics(5 backends) andBetterLyrics/TTMLParserinto focused parsers and internal client delegates without breaking public APIs. - YTPlayerUtils & Spotify Split: Extracted player resolution, stream caching, and error mapping from
YTPlayerUtils; isolated Spotify GraphQL, library, search, and playlist operations into modular components. - AI Content Filter: Ported optional AI content filtering to sanitize automated/AI-generated tracks from recommendations and feeds.
🛠️ Key Bug Fixes & Ref
- Independent Source Flags: Migrated database (Room 35 → 36) to track
- v1.1.0-Beta2026-09-07 · 2026-09-07 20:47 UTC
查看更新说明
Changelog
Features
- feat(spotify): paginate LikedSongs ViewModel via likedSongsPage — by @MuwMx
- feat(ui): add horizontal mini-player dismiss gesture with slider haptics — by @MuwMx
- feat(ui): exact 1:1 port of PixelPlayer mini-player horizontal dismiss gesture — by @MuwMx
- feat(haptics): introduce YumaHaptics single source of truth and provider — by @MuwMx
- feat(ui): add queue header automix button, haptics and dedicated queue action menu — by @MuwMx
- feat(ui): add consistent haptics to FullPlayer and Lyrics collapse/menu buttons — by @MuwMx
- feat(playback): play instant algorithmic radio (automix) on search song click — by @MuwMx
- feat(spotify): add persistent profile cache, Stale-While-Revalidate and direct recentlyPlayed endpoint — by @MuwMx
- feat(ui): implement YdsInsets with insets consumption, layout phase modifiers, and landscape cutouts — by @MuwMx
- feat(ui): tune player background blur to reveal soft artwork silhouette — by @MuwMx
- feat(lyrics): toggle for lyrics player controls panel — by @MuwMx
- feat(lyrics): implement position freezing during manual scrolling — by @MuwMx
- feat(spotify): adapt quick grid cells to YDS 2.1 dynamic palette — by @MuwMx
- feat(spotify): add background like sync with Spotify library — by @MuwMx
- feat(spotify): guard like sync with user preference toggle in account settings — by @MuwMx
- feat(player): mode-dependent overflow label close — by @MuwMx
Fixes
- fix(player): restore startRadioSeamlessly for radio to fix freeze (revert PlayerMenu) — by @MuwMx
- fix(radio): restore NextPage endpoint and MediaMetadata isMusicVideo from ArchiveTune — by @MuwMx
- fix(about): improve avatar quality from 128 to 512 to fix pixelation — by @MuwMx
- fix(about): remove software bitmap and fixed size to fix avatar aliasing — by @MuwMx
- fix(about): handle hardware bitmap getPixels crash — by @MuwMx
- fix(about): split hardware render and 32x32 software palette extraction to fix aliasing — by @MuwMx
- fix(fgs): guard MediaNotificationManager startForeground on Android 16 (ForegroundServiceStartNotAllowedException) — by @MuwMx
- fix: FGS IllegalStateException guard + TogetherOnlineHost safe unwrap (approveParticipant) — by @MuwMx
- fix: data saver toggle + queue V2 count/ListQueue + crossfade 10s guard — by @MuwMx
- fix(flac): smart cache key effectiveSource + volatile StateFlow + dynamic Qbdlx pool (no restart) — by @MuwMx
- fix(settings): add missing refreshDiscordNow import in DiscordSettings — by @MuwMx
- fix(spotify): add tokenMutex on refreshAccessToken body + likedSongsPage pagination — by @MuwMx
- fix(spotify): make Liked queue static full cache, hasNextPage false — by @MuwMx
- fix(ui): force dark buttons in queue/lyrics cards via darkColorScheme — by @MuwMx
- fix(ui): queue/lyrics dark content via LocalContentColor — by @MuwMx
- fix(ui): wrap yumaGlassCard inside dark provider — by @MuwMx
- fix(ui): 3dots sheets always dark theme — by @MuwMx
- fix(ui): replace GoogleSans hardcodes with LocalArchiveTuneFontFamily — by @MuwMx
- fix(ui): fix dismiss gesture cancel, float precision, teleport glitch and add continuous drag haptics — by @MuwMx
- fix(ui): refine mini-player dismiss haptics with M3 frequent ticks and delayed snap-reset — by @MuwMx
- fix(ui): remove dead bottom padding when miniplayer dismissed and remove collapse haptics — by @MuwMx
- fix(ui): resolve gesture conflicts, touch swallowing and unclickable controls across sheets — by @MuwMx
- fix(spotify): restore GraphQL recent items parsing with playlists, full album artists, and fix SWR UI flashing — by @MuwMx
- fix(ui): fix status bar insets in FullPlayer, floating bar immersive padding, and clean YdsInsets modifiers — by @MuwMx
- fix(library): force album list items to single segment position — by @MuwMx
- fix(queue): balance theme provider braces around LazyColumn — by @MuwMx
- fix(spotify): eliminate sync duplicates, double calls and optimize batch operations — by @MuwMx
- fix(player): isolate sheet background t
- v1.0.0-Beta2026-08-31 · 2026-08-31 17:29 UTC
查看更新说明
Hey everyone! 👋
After weeks of refactoring and completely rewriting the UI from scratch on Jetpack Compose, I'm excited to share the first public beta of YumaPlayer — an independent, open-source Android music client focused on clean ergonomics, fluid motion, and audiophile-grade playback.
The project combines Spotify's recommendation feeds with YouTube Music's backend catalog and lossless FLAC streaming into a unified, privacy-first native application.
🔥 Key Features
- 🔄 Dual Home Experience: Switch between personalized Spotify feeds (Daily Mixes, Discover Weekly, personal playlists, liked songs) and the full YouTube Music catalog (charts, radio, moods & genres).
- 🎧 Audiophile Sound & Hi-Res FLAC: High-bitrate playback via YT Music (Opus/AAC) with instant fallback, plus true Lossless FLAC streaming via Qobuz integration (custom token or open community resolvers).
- 🎨 YDS 2.1 Design System: Custom glassmorphism UI with real translucent surfaces, floating islands, dynamic Monet palette extraction, and smooth Telegram-style morphing headers on scroll.
- 🎤 3-Tier Synced Lyrics: Live karaoke scrolling with simultaneous original text (Kanji/Hangul), Romaji pronunciation guides, and on-the-fly translations.
- 📱 Dual-Sheet Gesture Engine: Independent, conflict-free swipe physics (left swipe for Lyrics, right swipe for Queue).
- 🚗 Android Auto Support: Full dashboard playback controls, queue management, and media notifications.
- 📦 Local Playback & Essentials: Play standalone local audio files (FLAC, MP3, WAV), automatic background caching, built-in 5-band EQ, loudness normalization (EBU R128), and a sleep timer.
- 🔒 Privacy-First & 100% FOSS: Licensed under GPLv3. Zero telemetry, no third-party trackers, no ads, no paid tiers. All credentials stay locally encrypted with AES-256-GCM (Google Tink).
🧪 Beta Status & Feedback
The app is roughly 90% ready. Core playback and features are fully stable, but since this is an early public beta, edge-case UI scaling bugs might still occur on certain device aspect ratios.
If you encounter any bugs, crashes, or visual glitches, please drop a comment with:
- A brief description (or screenshot)
- Your device model and Android version
P.S. Huge thank you to everyone in the open-source community who tested early builds and provided feedback. Enjoy the music! 🎵✨
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
🌟 About the Project
YumaPlayer is an independent, open-source Android music player that unites the libraries and recommendation features of two leading streaming services alongside standalone local playback in Hi-Res quality.
The project evolved as a comprehensive rebuild of ArchiveTune (with foundations from Metrolist and SimpMusic), inspired by PixelPlayer's queue mechanics, Meld's Spotify integration pipeline, and Stash's FLAC architecture. On top of this base, YumaPlayer implements a modular 20-module architecture, a dedicated low-level audio DSP engine, the custom YDS 2.1 design system, and hardware-accelerated fluid gesture physics.
No subscriptions. No advertisements. Zero telemetry, crash reporters, or third-party trackers. All credentials live exclusively on your device, encrypted with AES-256-GCM via Google Tink, and the codebase is completely open under the GNU General Public License v3.0.
📸 Showcase
✨ Key Features
🎛️ Audio Engine & Smart Automix
- Dual-Deck Continuous Crossfade: True gapless and overlapping playback using two independent, synchronized audio deck controllers with atomic role swapping. Zero silence between tracks.
- DJ Transition Intelligence: Automated outro/intro cue detection, energy cliff analysis, BPM matching, and complementary bass-swap filters (0.45–0.55 window).
- Audiophile Codec Pipeline: Dedicated 24-bit packed PCM processing, Kopus-first Opus decoding with MediaCodec fallback, and native FLAC length resolution.
- Smart Stall Recovery: Automatic degradation to hard cut on buffer underruns, automated stream revival upon network reconnection, and strict source-scoped cache identities.
- N+1 Prefetching: Seamless background caching of upcoming tracks into the local download cache.
🔄 Dual Mode (Spotify + YouTube Music)
- Spotify Catalog: In-app browsing of Spotify albums, Daily Mixes, Discover Weekly, and playlists with cross-script deduplication and locale-aware metadata.
- YouTube Music Catalog: Full-catalog search across YouTube Music, charts, mood & genre categories, radio stations, and fast channel switching.
- SponsorBlock Integration: Configurable in-app segment skipping for sponsor messages, music hooks, fillers, and subscription reminders.
🎧 Lossless Playback & Local Audio
- Lossless FLAC: Stream and download true lossless FLAC tracks (via Qobuz / QBDLX backbone integration) using your own credentials or open community resolvers.
- Seamless Fallback: If a track is unavailable in lossless catalogs, playback instantly routes through YouTube Music's high-bitrate stream (Opus / AAC).
- Local Audio Engine: Built-in player for standalone files stored on your device (FLAC, MP3, AAC, OGG, WAV).
- Audio Tuning: Built-in 5-band equalizer, EBU R128 loudness normalization, tempo and pitch adjustment, and a sleep timer.
🎨 Yuma Design System (YDS) & Fluid Motion
- Draggable Navigation Island: Compact floating navigation dock inspired by Telegram specifications, featuring dynamic corner morphing, scroll-hide sync, and local haptic feedback.
- Unified Player Sheet V2: Re-engineered gesture physics with GPU-accelerated backdrop blur (
Haze), isolated drag layers, and independent artwork scaling. - Canvas Video Backdrops: Hardware-accelerated background video loops supporting up to 4K resolution with an isolated cache.
- Spoiler Veil: Interactive Telegram-grade particle engine to obscure tokens and sensitive settings.
- Dynamic Monet Theming: Adaptive palette extraction powered by the currently playing track's artwork, tuned for strict WCAG contrast compliance.
🎤 Synchronized Lyrics & AI Translation
- 3-Tier Synchronized Display: Simultaneous live display of original lyrics (Kanji / Hangul), pronunciation guide (Romaji), and translated lines.
- Live Karaoke Scrolling: Word-by-word and line-by-line sync pulled from 6+ providers (LRCLIB, Kugou, BetterLyrics, SimpMusic, Unison, YouLyPlus) with bounded memory allocation to prevent OOM.
- On-the-Fly AI Translation: Instant translation of lyrics into your preferred language right inside the player.
- Lyrics Card Sharing: Export and share formatted lyrics quote cards as clean images.
📥 Download & Installation
Building from Source
git clone https://github.com/MuwMx/YumaPlayer.git
cd YumaPlayer
./gradlew assembleRelease
# Built APK will be located at: app/build/outputs/apk/release/
Prerequisites: Android Studio with AGP 9.x support, JDK 21, Android SDK 37 (compileSdk/targetSdk 37, minSdk 26).
🏛️ Architecture & Tech Stack
YumaPlayer is organized as a 20-module Clean Architecture project following Unidirectional Data Flow (UDF):
- UI & Presentation: Jetpack Compose, YDS 2.1 design tokens, GPU-accelerated Haze overlays, fluid gesture physics.
- Audio Engine: Media3 (ExoPlayer),
:core:audio-dsp(Smart Automix, dual-deck continuous crossfader, DJ filter cascade). - Network & Ingestion:
:core:innertube(YouTube Music engine), Ktor/Retrofit, SOCKS5 proxy support with JVM Authenticator. - Storage & Security: Room ORM, hardware-backed secure preferences (AES-256-GCM via Google Tink).
📖 Detailed Developer Documentation:
- Architecture Overview & Module Graph
- Architectural Decision Records (ADRs)
- Yuma Design System Specification (YDS 2.1)
- Coding Standards & Rules
🌍 Globalization & Localization
YumaPlayer is localized into multiple languages thanks to our community translators. The localization pipeline is continuously synchronized with the codebase via Hosted Weblate.
Want to help translate Yuma? No coding or Git knowledge required. Just open our Weblate translation dashboard, choose your language, and start contributing directly through your browser.
⚙️ Account Setup
YumaPlayer is fully functional out of the box without signing in. Logging in is optional and only required to sync personal playlists, likes, and recommendations:
🎵 Connecting Spotify
- Open Settings → Account → Spotify → Tap Log In.
- Sign in with your standard Spotify credentials in the secure in-app browser window.
- Your session cookie (
sp_dc) will be automatically captured and encrypted on your device.
📺 Connecting YouTube Music
Two login methods are supported:
- Method 1 (Google Account): Open Settings → Account → YouTube → Sign in using the secure in-app authentication sheet.
- Method 2 (Token / Cookie Input): If you use two-factor authentication or prefer manual setup, navigate to Settings → Account → Token Editor and paste your session cookies directly.
☕ Support the Project
YumaPlayer is free, open source, and has no ads or subscriptions. If you enjoy using the player and wish to support ongoing development:
- Solana (SOL, USDT, USDC):
DT3ckdbNuiQMR1mrCpBXCMrhLB19GckVv3YfxsLLiF8z - PayPal / Email Transfer:
[email protected]
📈 Star History
💡 Contributing
Contributions make open-source projects thrive! Whether you are fixing bugs, proposing new features, or improving docs:
- Read our Contribution Guidelines before submitting code or PRs.
- Want to translate? Head over to our Hosted Weblate — no coding required.
👥 Contributors
🤝 Acknowledgments (Open-Source Credits)
YumaPlayer is built on the shoulders of the open-source community:
- ArchiveTune — for the solid playback foundations, rich settings base, and core architecture.
- Meld — for the conceptual breakthrough and implementation of the Spotify hybrid integration.
- Stash — for inspiration in organizing lossless FLAC streaming and download pipelines.
- Metrolist & SimpMusic — for early lyrics parsing and interface inspirations.
- PixelPlayer — for swipe kinematics ideas and queue structure.
- QBDLX — for the lossless audio streaming infrastructure.
- LRCLIB & BetterLyrics — for the open synchronized lyrics databases.
⚖️ License & Legal Disclaimer
License
YumaPlayer is free software licensed under the GNU General Public License v3.0 (GPLv3).
You may freely copy, modify, and redistribute the source code provided you preserve copyright notices and distribute derivative works under the same GPL-3.0 license.
Disclaimer
YumaPlayer is an independent third-party client. It is not affiliated with, endorsed by, or sponsored by Google LLC, YouTube Music, or Spotify AB. The application is provided for personal use only as a tool for managing your own library.