Open-source music player for Android and Windows with no accounts or tracking. Built for quick discovery, synced lyrics, radio, and rich artwork ♫ - LUC4N3X/Levyra-deepsound
1 comment
The project started out of a personal itch: I wanted my offline audio files and the music I stream to live in the exact same library. In my experience, getting personal files into streaming apps always felt clunky, and the offline players I liked did not handle streaming. In Levyra, local files and streamed tracks share the same playlists and playback queue, without an account, and the app itself has no analytics or telemetry.
On the technical side, the app is 100% Kotlin. The Android UI uses Jetpack Compose, and the Windows version runs on Compose Multiplatform on the JVM. For audio, Android uses AndroidX Media3 (ExoPlayer), while Windows uses libVLC through VLCJ and JNA. I stayed away from Electron and embedded WebViews to keep memory usage low and playback responsive.
When available, Levyra can also pull 320 kbps audio from JioSaavn. To make sure it finds the right recording, the matching logic compares duration, album details, release year, and artist credits so it does not swap in a live cut or a compilation version. It also checks the actual stream bitrate before showing the 320 kbps badge, falling back to the default audio source if the match cannot be confirmed.
When you download a track for offline listening, it does not get buried in an encrypted cache. It saves as a standard tagged M4A file with artwork directly into your device storage. Play history and listening stats are kept in a local SQLite database.
I also added a few practical features I kept missing elsewhere. Synced lyrics have a manual offset control to compensate for Bluetooth audio delay, AutoEQ profiles can be applied for specific headphones, and SponsorBlock skips non-music intros on streams.
The source is on GitHub, and the app is available via GitHub Releases and F-Droid. I would appreciate any feedback or bug reports, especially regarding playback stability across different Android ROMs and devices
Read the full thread on Hacker News →
Related stories
- Hacker News · 26 points · about 9 hours ago
- Hacker News · 1 points · 8 days ago
- Hacker News · 1 points · about 8 hours ago
- The Verge · 0 points · 9 days ago
- Hacker News · 7 points · 2 days ago
- Show HN: JBR-001 – An open-source 3D printable desktop robotprojecthub.arduino.ccHacker News · 121 points · 1 day ago