PRODUCTION RELEASE v0.8.0 · Keyless Audius & Offline MediaStore

High-Performance Native Android
Audio Engine & Streaming Architecture

Engineered with Jetpack Compose, AndroidX Media3 ExoPlayer, and decentralized Audius streaming. Zero API keys. Instant offline playback. Hardware-accelerated 28-band bass-reactive audio visualizer.

28
Hardware FFT Bands
256 MB
Media3 LRU Cache
0
API Keys Required
26–36
Android API Support
Vynora Home Screen with Indian Music & Audius Trends
Vynora Now Playing Screen with 28-Band Hardware FFT Visualizer
Vynora Local Library Screen with 45 device tracks

Production Architecture & Subsystems

Built according to Android Modern App Architecture standards with strict separation of concerns, resilient caching, and low-latency audio processing.

🌐

100% Keyless Audius Discovery

Direct integration with decentralized Audius validator nodes via api.audius.co. Implements dynamic host health consensus, round-robin connection pooling, HTTP 302 redirect resolution, and typo-tolerant search indexing without rate limits or API key mandates.

🎛️

28-Band Hardware FFT Visualizer

Attaches directly to ExoPlayer's audioSessionId via android.media.audiofx.Visualizer. Extracts real and imaginary Fourier components into 28 logarithmic frequency bins (20Hz–20kHz) with gravitational decay physics on floating peak dots and dynamic album-art ambient backlighting.

📁

Universal Local MediaStore Engine

Asynchronous background indexing of local audio files (MP3, 24-bit FLAC, WAV, M4A, OGG) via Android's ContentResolver on Dispatchers.IO. In-memory search filtering with zero UI thread contention, backed by Room SQLite for favorites and playlists.

⚡

256MB Media3 LRU Caching

High-efficiency playback pipeline powered by AndroidX Media3 SimpleCache and LeastRecentlyUsedCacheEvictor. Prefetches upcoming queue audio chunks to deliver instantaneous next/previous track transitions without redundant network transfer.

🛡️

Foreground MediaSessionService

VynoraPlaybackService guarantees uninterrupted background audio during process suspension, screen lock, and system memory pressure. Implements audio focus arbitration, notification playback controls, and automatic halt on headset disconnect.

🎨

Declarative Jetpack Compose UI

Unidirectional Data Flow (UDF) with immutable UiState contracts collected via collectAsStateWithLifecycle. Features an edge-to-edge dark theme, docked persistent miniplayer, dynamic artwork color palette extraction, and a custom sleep timer modal.

Universal 28-Band Hardware FFT Spectrum

Experience physics-based peak hold decay, logarithmic frequency binning, and dynamic amber album-art illumination running in real time.

Hardware AudioSession FFT Active · 60 FPS
Interactive Web Audio API Synthesizer
PALETTE:

Real Device Interface In Action

Unfiltered captures recorded on Android 16 (API 36) showcasing the production interface.

Vynora Now Playing Screen with 28-Band Hardware FFT
Core Playback Engine

Bass-Reactive 28-Band Hardware FFT Player

Connects directly to AndroidX Media3 ExoPlayer’s native audio session ID. Renders 28 logarithmic frequency bins, physics-calculated peak-hold indicators, and extracts dynamic ambient amber glow from album cover art.

  • Zero-latency real-time hardware spectrum analysis
  • Dynamic amber glow extracted from LOUDWERX album art
  • Integrated sleep timer & queue track controls
  • Android MediaSession background service continuity
Install This Release (v0.8.0)

Layered System Architecture

Clean separation between presentation, state orchestration, domain repositories, and the native audio engine.

● 1. Presentation Layer (Jetpack Compose & Material 3)
UI & Canvas
HomeScreen.kt NowPlayingScreen.kt ExploreScreen.kt LibraryScreen.kt AudioVisualizerView.kt (28-Band FFT) MiniPlayer.kt
● 2. Reactive State & ViewModel Layer (Kotlin Flow & Coroutines)
StateFlow / UDF
AudiusViewModel.kt LocalAudioViewModel.kt PlayerViewModel.kt PlaybackController.kt
● 3. Domain & Repository Layer
Business Logic
AudiusRepository.kt AudiusSearchEngine.kt (Phonetic Index) LocalAudioRepository.kt AppDatabase.kt (Room SQLite)
● 4. Audio Playback Engine (AndroidX Media3 ExoPlayer)
Low-Latency Audio
VynoraPlaybackService.kt (MediaSessionService) MediaCacheManager.kt (256MB SimpleCache LRU) VisualizerController.kt (Hardware FFT) SleepTimerManager.kt
● 5. External Providers & Storage Subsystems
Data Sources
Audius Decentralized Network (Keyless REST v1) Android MediaStore ContentProvider (API 26–36)

Contributor Technical Roadmap

Architectural extension points for senior developers to contribute and advance the Vynora platform.

Audio DSP Subsystem

10-Band Graphic Equalizer & DSP

Extend VynoraPlaybackService by instantiating android.media.audiofx.Equalizer, BassBoost, and Virtualizer hooked to the active audio session ID.

  • Expose band frequency ranges (60Hz to 14kHz) with ±12dB gain sliders.
  • Implement custom Room SQLite entity for saving custom user EQ curves.
  • Add hardware-accelerated preset curves (Acoustic, Electronic, Rock, Vocal).
Storage & Media3

Permanent Offline Download Manager

Implement androidx.media3.exoplayer.offline.DownloadManager and a foreground DownloadService to enable permanent offline caching of Audius streams.

  • Store encrypted audio chunks in scoped external storage.
  • Maintain download progress, pause/resume, and storage quota management.
  • Seamless fallback to local chunk playback when network is disconnected.
Interactive UI

Synchronized LRC Lyrics Engine

Build a timestamped .lrc parser hooked to a free lyrics API (such as LRCLIB) to render synchronized karaoke-style lyrics on the Now Playing screen.

  • Parse standard timestamp tags ([mm:ss.xx]) into an indexed timeline.
  • Auto-scroll the active line in Jetpack Compose using animateScrollToItem.
  • Allow users to tap on any lyric line to instantly seek audio position.
Web3 & Identity

Audius OAuth2 & Cloud Sync

Integrate Audius OAuth2 authentication to let users log in with their Audius account, syncing remote favorites and custom playlists with the blockchain.

  • Chrome Custom Tabs OAuth2 login flow.
  • Bi-directional synchronization between Room SQLite and remote Audius playlists.
  • Follow artists, like tracks, and repost tracks directly from the app.
Multi-Device

Android Auto & Wear OS Companions

Implement MediaLibraryService.MediaLibrarySessionCallback to expose Vynora's media hierarchy to automobile dashboards and smartwatches.

  • Support root node browsing for Trending, Favorites, and Local MediaStore.
  • Rotary dial navigation and optimized high-contrast automotive UI.
Performance

Audio Jitter & Perfetto Profiling

Add custom Perfetto trace markers across the ExoPlayer render loop, buffer chunk allocation, and Visualizer FFT transforms to ensure zero audio underruns.

  • Measure chunk decode latency on low-end ARM Cortex-A53 cores.
  • Benchmark memory allocations to ensure zero garbage collection pauses during playback.

Technical Specifications

Production-grade dependencies and Android platform standards implemented in Vynora v0.8.0.

Component Technology / Library Version Architectural Role
Programming Language Kotlin 2.1.0 Primary language with Coroutines, Flow, and strict type safety
UI Framework Jetpack Compose & Material 3 BOM 2024.12.01 Declarative reactive UI, edge-to-edge layouts, and smooth 120Hz animations
Audio Playback Engine AndroidX Media3 (ExoPlayer) 1.5.1 Audio streaming, chunk buffering, 256MB LRU disk cache, and queue management
Background Service Media3 MediaSessionService 1.5.1 VynoraPlaybackService handling lockscreen, audio focus, and media notifications
Online Discovery Audius REST API v1 Decentralized 100% keyless online music discovery, trending charts, and direct streams
Offline Discovery Android MediaStore API 26–36 Automatic local indexing of MP3, FLAC, WAV, M4A, and OGG audio files
Local Persistence Room SQLite Database 2.6.1 User playlists, favorite songs, playback history, and play queue
Networking Retrofit & OkHttp 2.11.0 / 4.12.0 Dynamic host selection, stream redirects, and network connection pooling
Image Loading Coil Compose 2.7.0 Asynchronous album art loading, memory caching, and palette extraction
Target Platform Android 16 (VanillaIceCream) API 36 Target SDK with backwards compatibility down to Android 8.0 (API 26)

Get Vynora for Android

Direct 1-click APK download. Verified with Android APK Signature Scheme v2. Free and open-source under the Apache License 2.0.

SHA-256 Verified Checksum
25B4482756FF86C8DE498236BD6E48C6887A1540BA7D45E2EBB84227183BB89B
01
Download APK
Tap the download button above to download the verified v0.8.0 Android APK file to your device.
02
Allow Unknown Apps
If prompted by Android, enable "Install unknown apps" in Settings for your browser or file manager.
03
Enjoy Your Music
Launch Vynora, grant audio storage permissions, and start streaming Audius tracks or local MP3/FLAC music.
Copied to clipboard!