Levyra-deepsound
A music player for Android and Windows that plays what you stream and what you already own.
Keep streamed tracks and local files in one library, save music for offline listening, and follow synced lyrics. You don't need a Levyra account. There are no ads or telemetry.
Download Levyra
42 languages · 100% Android translation coverage · No telemetry
[!IMPORTANT] Lawful use. No piracy. I built Levyra as an independent open-source music player. I don't run a music-hosting service, and Levyra isn't affiliated with third-party providers. I don't support or promote piracy. Only stream, download or share content when you have the rights to do so, and follow each service's terms. Finding something online doesn't give you permission to use it. The full Legal Notice applies alongside this README.
Why Levyra
I built Levyra because I was tired of keeping two players: one for streaming and one for the files on my phone. I wanted one library where a local album and a streamed single sit in the same playlist, and where my history and downloads don't depend on yet another account.
Downloads are ordinary audio files in your storage, so you can play them outside Levyra. Your device stores your library and listening stats. If you enable Last.fm or ListenBrainz scrobbling, the app sends your listening activity to that service.
You can sign in to YouTube Music on Android to import playlists, liked songs and saved albums and get a Home feed based on your account. It's optional. You sign in on Google's own pages, and Levyra stores the session encrypted with Android Keystore. If you disconnect, the imported music stays in your library.
High-quality audio
Turn on high-quality audio and Levyra can play the same recording from JioSaavn at up to 320 kbps. The app checks the performers, release and other track details, then measures the stream's bitrate. If it can't verify a match, it uses the normal source. Your queue, lyrics and history stay with the original track.
I don't host FLAC audio on Levyra's servers. On Android, experimental FLAC playback gets streams from independent third-party websites, separate from JioSaavn. The app checks for the same recording and reads the audio headers to verify the format, bit depth and sample rate. If no lossless match passes, it uses the normal source. Availability depends on those websites, the track, your region and your access rights. Checking the format doesn't establish permission to stream or download it. See Third-party services and rights.
Interface & screenshots
Features
- Native playback. Play gapless albums, use crossfade, change pitch and speed, or tune the sound with a 10-band EQ and AutoEQ headphone profiles. Android uses Media3 and ExoPlayer and also has ReplayGain. Windows uses libVLC.
- One library. Keep local files and streamed tracks in the same playlists, favorites and queues. Queue Spaces let you keep several listening sessions without losing your place.
- Playlist import and export (Android). Bring over playlists from services such as YouTube Music, Spotify, Apple Music and Deezer, or import a playlist file. Review track matches before saving, and export your playlists to files.
- Offline downloads. Save tracks to your storage as standard audio files, with metadata, artwork and lyrics.
- Synced lyrics. Tap a line to jump to it, adjust the timing, set an offset for Bluetooth latency, and read romanized versions of non-Latin scripts. On Android, you can also share lyrics as image cards.
- Motion artwork. See animated artwork in Now Playing. When it isn't available, the regular album cover appears. Android also has a full-screen Ambient view.
- Audio or video. Switch between audio-only and full video with subtitles. SponsorBlock skips sponsored segments.
- Skins (Android). Choose one of ten layouts besides Levyra Default: Nocturne 78, Prism, Torque, Ivory, Glacier, Atelier, Spotify Style, Apple Music Style, YouTube Music Style and Qobuz Style. Find them in Settings > Design > Skin.
- Studios. Customize your theme, mini player and navigation bar with presets and live previews.
- Widgets (Android). Control playback or start song recognition from your home screen. Widget Studio lets you customize your playback widgets.
- System integration (Android). Use Android Auto, lockscreen controls and a Quick Settings tile. On HyperOS 3, synced lyrics appear in the Super Island. On OriginOS, the current track appears in the Atomic Island.
- Jam (Android). Listen together on devices connected to the same Wi-Fi network.
- Sleep timer (Android). Stop playback after a set time or at the end of the current track.
- Song recognition. Identify a song through the microphone or from audio playing on your phone. The app saves the results in a local history.
- Explore. Listen to live radio, check international charts, browse by genre and mood, or find recommendations and radio based on songs and artists.
- Podcasts (Android). Browse shows and episodes in a dedicated podcast library.
- Levyra Vault. Back up and restore playlists, favorites, history and preferences in one local file.
- Private stats. Check play counts and listening hours calculated on your device. Android also has listening recaps for different periods. Last.fm and ListenBrainz scrobbling are optional.
Translations
Volunteers have helped me translate Levyra into 42 languages. If a string reads wrong or your language is missing, you can help on Weblate.
Help translate Levyra on Weblate
Hosted Weblate provides translation hosting at no cost to the project.
Contributing
If you find a bug, open an issue with your Levyra version, device and the steps to reproduce it. I also welcome pull requests. Start with the contributing guide. For questions and ideas, use GitHub Discussions. Report security vulnerabilities privately through the security policy.
The Android app needs Android 8.0 or later and builds with JDK 17. The Windows app lives in desktop/ and builds with JDK 21. desktop/README.md has its build steps.
Android uses Kotlin, Jetpack Compose and Media3. Windows uses Compose Multiplatform and libVLC. Both apps share LevyraExtractor for stream resolution.
./gradlew :app:assembleDebug
Architecture notes are in docs/ARCHITECTURE.md and the project documentation.
Author & credits
LUC4N3X
Creator & maintainer
I built Levyra and still maintain the Android and Windows apps.
I review contributions, fix bugs and handle releases.
Open-source projects
- Metrolist: used as a reference for renderer recovery and BetterLyrics TTML parsing.
- PipePipeExtractor: the starting architecture for LevyraExtractor, later adapted with Levyra's own stream resolution and retry handling.
- NewPipeExtractor: upstream extractor concepts and service foundations.
- zemer-cipher: open-source work used for YouTube cipher deobfuscation and PoToken generation.
- faraday: secondary source of YouTube player configurations, checked alongside zemer-cipher.
- LRCLIB: provides the synchronized lyrics database and API.
- ByeDPI: local network compatibility tool used by the optional YouTube connection mode.
- ByeDPIAndroid: Android wrapper for the ByeDPI integration.
- SponsorBlock: community timestamps used to skip sponsored and other marked video segments.
- AutoEq: headphone measurements and GraphicEQ profiles used by the AutoEQ catalog.
FLAC playback on Android uses independent third-party websites. I don't host their audio, and listing an integration doesn't mean there is a partnership or endorsement.
Project checks and mentions
Kotlin Weekly •
Techno360 •
Australia By Aussie •
OSCHINA 开源中国 •
CSDN •
SecurityLab.ru
GeekParadize •
OpenSalerno •
Techolay •
Hysen Labs •
PitchHut
Legal
NO PIRACY · NO HOSTED MUSIC CATALOG · THIRD-PARTY RIGHTS RESPECTED
I built Levyra as independent software that runs on your device. I don't operate a music-hosting service, and Levyra isn't affiliated with or endorsed by third-party providers. Those services can change, limit or block access at any time.
Artwork, visuals and editorial content from third parties come from external sources, including the providers' public websites and services. I don't host a separate catalog of this material or claim to own it. The rights remain with the respective rights holders. Something being publicly accessible doesn't give you permission to copy, reuse or redistribute it.
Streaming, downloading, conversion, export and caching don't give you rights to someone else's content. You need permission or another lawful basis, such as an applicable copyright exception. Personal or non-commercial use alone doesn't make a stream or download lawful. Follow the law and each service's terms. Please support artists through licensed services, purchases or other official channels.
I don't host FLAC files or run the websites that supply them. The app gets FLAC streams from independent third-party websites. I don't control their availability or access rules. Finding a stream or account credentials online doesn't establish permission to use them. See Third-party services and rights.
FLAC integrations and optional network tools don't authorize access to someone else's account, paid features or restricted content, or unlawful circumvention of technological protection measures. The network tools are experimental and may not restore access. Service terms, account restrictions and network rules still apply. See Technical compatibility.
You don't need a Levyra account, and the app has no ads or telemetry. Online features contact third-party services with their own privacy policies. If you enable Last.fm or ListenBrainz scrobbling, the app sends listening activity to that service.
I release Levyra under the GNU GPL v3.0, "as is" and without warranty, to the extent permitted by law. The GPL covers the licensed code, not third-party content, trademarks or services. These notices don't restrict your GPL rights. The full Legal Notice, including Warranty and liability, applies alongside this README. It doesn't remove legal obligations or liability for maintainers, distributors or users. Open-source status or research purposes alone don't make an integration or its use lawful.
If you hold rights to material distributed in Levyra or this repository and have a concern, contact me through the repository's official GitHub channels. For media hosted by another service, contact that provider or the relevant rights holder. Don't post credentials or other secrets publicly. For vulnerabilities, use the private security reporting process.







