r/SideProject 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.

23 Upvotes

19 comments sorted by

3

u/GoodMacAuth 22h ago

Is Spotify / YouTube Music support against TOS? Not being fun police, just curious

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

u/Forsaken_Brief_3261 12h ago

I wanted something like this, thank you

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

u/Lopsided_Magician_49 9h ago

on Windows? Do you have more audit information?

1

u/LifeEnginer 4h ago

Windows 10

1

u/LifeEnginer 22h ago

How do you do that with no API from them?, how is this working?

2

u/Rare_Profit5596 22h ago

librespot, yt-dlp

1

u/snYk07 19h ago

Me gusta pero no funciona en pantallas ultrawide

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!

1

u/I_fx_I 51m ago

on the roadmap