Stash: Offline-First Unified Music Player
Stash is an offline-first Android music player designed to sync liked songs, playlists, and mixes from Spotify and YouTube Music into a unified local library. The application downloads tracks as high-quality FLAC audio for local storage and playback.Technical Specifications
| Category | Details |
|---|---|
| Version | 0.9.12 |
| Android Requirement | 8.0+ |
| License | GPL-3.0 (Open Source) |
| CPU Architectures | arm64-v8a, armeabi-v7a, x86, x86_64 |
| Screen DPIs | 160dpi, 240dpi, 320dpi, 480dpi, 640dpi |
| Security | AES-256-GCM encryption for credentials; no telemetry |
| Signature | Untouched APK; MD5: 51572c31db0cf8ec5d499a5da790aebf |
Core Features
- Unified Sync: Aggregates library data from Spotify and YouTube Music.
- High-Fidelity Audio: Downloads tracks in lossless FLAC format.
- Matching Engine: Bulletproof matching system with a 99% accuracy rate.
- Mix Detection: Automatically detects Release Radar, Discover Weekly, On Repeat, Daylist, Repeat Rewind, Time Capsule, and Daily Mixes (1-6).
- Sync Modes:
- Refresh: Replaces contents during each sync.
- Accumulate: Stacks new tracks on existing content.
- Download Management: Supports 8 parallel downloads via a foreground service for background execution.
- Audio Tools: 5-band equalizer with presets, bass boost, and virtualizer.
- Interface: Built-in Spotify sign-in and high-resolution album art support.
- Updates: Daily GitHub checks for new release notifications.
Version 0.9.12 Changelog
- Lossless-First Search: Implemented a new search-tab preview and download system utilizing a v0.9.10 lossless registry.
- SearchPreviewMediaSource: Integrates ExoPlayer's
SimpleCacheas a shared byte buffer between streaming and downloading. - Optimized Networking: Tapping "Download" after "Preview" finalizes the file from the existing cache, fetching only missing ranges to prevent duplicate network requests.
- Confidence Thresholds: Increased search-tab matching confidence to 0.65 (up from 0.5) to ensure accuracy without ISRC data.
- SearchDownloadCoordinator: Replaces
DownloadExecutorfor improved track finalization, embedding, and database management. - Fallback Logic: Lossless misses fall back through
PreviewUrlExtractor(InnerTube/yt-dlp) while maintaining cache routing.
You do not have permission to view the full content of this post. Log in or register now.