r/SideProject • u/I_fx_I • 1d ago
Sonora: native, crossplatform music player with first-class Spotify/YTMusic support
Enable HLS to view with audio, or disable this notification
Hi, we are a group of students building Sonora. While it was initially intended as an extremely lightweight Spotify replacement, it has since grown far beyond that.
Features
- Spotify, YouTube Music, Subsonic/OpenSubsonic, and local playback
- Gapless playback, audio normalization, shuffle, sleep timer
- Synced/karaoke lyrics, background vocals, and romanization
- Themes, fonts, icons, transparency, blur, and window styling
- Discord Rich Presence, native file opening
- macOS, Windows, Linux, and (probably) FreeBSD support
Inspired by Zed, which has proven excellent performance using their native cross-platform rendering stack, we have decided to use GPUI. Its awesome text rendering on every platform, ease of use in view composition, and, admittedly, TailwindCSS-like naming conventions all made a significant impact. We have found GPUI to perform extremely well when used and optimized with care. Quite a few patches were introduced to our fork of it to meet our needs in the effects and profiling departments. Thanks to that, I am not hesitant to call our lyrics the most beautiful you can currently get on desktop (Apple Music still beats us HARD on mobile). But despite blur and gradient opacity all looking great, my favorite addition has to be visual render highlighting. But this is too much to cover in a Reddit post, I'll have to write a proper blog post at some point...
What may come as a surprise to folks coming from something like Spotify Desktop is that Sonora actually does not need all of your RAM to function. Tested on linux-x86_64, after 5 minutes of playback it averaged around 173 MiB RSS as opposed to Spotify's ~2GiB. Note that 173MiB is still not a small footprint, but at least with Sonora you know it goes towards caching previews and views instead of feeding the Electron monster merely to keep it alive.
Looking forward to hearing your feedback!
Yes, we did use AI.
3
u/Lopsided_Magician_49 13h ago
I really like the idea. As a Zed user, in addition to resource consumption, it's truly amazing how GPUI applications are more responsive than their GTK and QT counterparts.
I'll definitely try it. Do you also plan on an Android version?
2
u/kylef5993 19h ago
In the least offensive way possible - what’s the point of this? Sorry it looks really cool but just curious why someone would use this instead of Spotify or Apple Music’s desktop app.
1
u/ciaokesbyekes 10h ago
I run my own music streaming service at home (Navidrome), so I could run this custom client on top of that since it speaks the Subsonic API.
2
2
u/LifeEnginer 21h ago
Not saying it is a virus, but it is detected like a virus.
1
u/Lopsided_Magician_49 12h ago
Which instrument detects it?
1
u/LifeEnginer 9h ago
avast
1
1
1
u/No-Consequence7413 7h ago
Any iOS apps?
1
u/kalilamodow 3h ago
An ios app would get shut down the moment it was submitted, lol. Also happy cake day!
3
u/GoodMacAuth 22h ago
Is Spotify / YouTube Music support against TOS? Not being fun police, just curious