Hacker News new | ask | show | jobs
by macrolime 1292 days ago
I don't think I've ever been introduced to artists I wouldn't have listened to otherwise through Spotify.

In general I find Spotify's recommendation to be slightly worse than just listening to the radio.

I don't have a good alternative at the moment though. A long time ago I built a music recommendation system based on Discogs that made a vector space based on the genres and then found the most similar albums of one album. When I listened to a track I'd then lookup the album for the track, find the most similar albums and then play some random songs from those albums, but with some controls to make larger jumps possible. It was not using a vector database like FAISS so it was kinda slow and had other issues and with too much bitrot I'd need a complete rewrite to get it working again, but I found lots of new music with it.

Maybe there's some services like that out there now that can hook up to streaming services like Spotify?

5 comments

For me is the opposite, almost half the value i get from Spotify is about discovery (the other half is convenience).

Specifically, I discovered amazing artists through the Discovery Weekly and the Artist's Radios. But also the "Fans also listen to" section in an artist profile. I found all sort of things, even obscure indies with a few thousands of listens and other "hidden gems". I'm really happy they now added the "Enhance" function to playlists.

What I noticed though, is that I have to be very careful with my interactions on the platform to "train" the algorithm in the right direction. I have to like only specific genres that I want recommendations about, use playlists for anything else and use a lot the "i don't like this" feature on the discovery weekly. There was a period where I listened to more casual genres than usual and it completely broke my profile. My Dicovery Weekly was terrible at that time, it was a bummer.

What I think would be great is if Spotify would be more open about this. I would love to be able to tweak the discovery by myself (like suggest specific genres or artists, blacklist others). Maybe even create different discovery profiles for different genres. Instead I have to play the game of interacting blindly with the platform and see the results next monday on the new discovery weekly.

I really wish that I could (while respecting privacy) dig into real people's music tastes. I used to download songs with Napster and find some amazing song/artist, and them dig into what else that person had and loved almost all of it.

I have been looking to recreate this discovery through kindred-spirits-in-music ever since.

I spent so many hours finding a user on Napster (or Soulseek) and looking through the albums they had in their collection. Maybe it was because there was a higher barrier to entry for an album getting into a person's collection back then -- they either had to rip it from CD or download it on relatively slow connections, and hard drive space wasn't what it is now of course. It's not anything like favoriting a song or album on a platform like Spotify, even if you could browse their saved albums.

I'd love to have discovery require a little bit of work again, there was a lot of fun and playfulness in digging.

Spotify's recommendation algorithm is weird. I feel like it knows exactly what I do like, but its only able to suggest slightly worse carbon copies of bands I already listen to.

Going through my recommendations feels like a bunch of bad cover bands of things I like.

Is your music recommendation system open source? Would be down to check it out and learn a thing or two from it.

On the topic of vector search, I'm fairly certain that Spotify still uses Annoy (https://github.com/spotify/annoy). Like Faiss, it's a great library but not quite a database, which would ideally have features like replication (https://milvus.io/docs/replica.md), caching, and access control, to name a few.

No. I released part of it as open source, but that was just a script to import Discogs to an SQL database. It was never really more than a proof of concept and I think it would be quite difficult to get the code running now. At the time one of the big issues I had was that I had no idea how to find the closest vector of a vector without it going like really slow.

I was also experimenting with finding a popularity score for songs and artists. The last.fm API worked well for this, but then that was just using an API, so there was a lot of other sources that I was looking into, like using pageviews on the Wikipedia article for an artist.

I've thought about making a new open source version at some point if I get time. I think I've got a decent idea how to make something work quite well now, basically make a vector with the genres/styles, do dimensionality reduction and then store in vector database, so you get like an embedding of the album essentially. A bit like those language models embed words in a vector space, but you don't need a neural network to do it, since that job is done already by humans who have listened to the music and tagged it.

The Echo Nest published a song metadata collection 11 years ago: http://millionsongdataset.com/

They were acquired by Spotify in 2014 and according to announcements at the time, the intention was to enhance their recommendation/discovery system with the deeper insight they got into songs as a result (Infinite Gangnam Style, anyone?), but I don't know what came out of it.

Yes, there are more suitable solutions than faiss or annoay. For example https://github.com/qdrant/qdrant
I gave up on Spotify a long time ago. Pandora more recently. I find myself just listening to a handful of channels on SiriusXM since the desktop streaming app came with my truck subscription.

Anything that I find myself liking a lot I head out to one of the very few record stores out here and buy it on vinyl. But then, I'm old and like having things in my hands and not just streamed. I buy paper books too.

Everyone seems to hate YouTube recommendations but as someone who mostly use YouTube to listen to music their recommendations are amazing.
They used to be good, then Youtube has just stopped trying with me. It has shown me the same music recommendations for the past 2 years, and I'm not even joking.

The only thing that's always new and recommended is the latest hiphop song that's popular right now (i.e. video posted 12 hours ago, 3M views), and it should know I don't listen to hip hop, at all.

+1 for this, threw a lot of awesome Australian stuff my way I would never have heard otherwise