Spotify’s Discover Weekly: How machine learning finds new music
hackernoon.com
hackernoon.com
Which would be quite bad, but that is how it often feels.
“Didn’t I” by Darondo seems to be a good example of this. A fantastic, forgotten soul song (and from the Bay Area!) that was assumed to be a recognition of my friend’s unique taste in his car... until the other four people inside revealed they’d all had it in the last two weeks, too.
It makes me wonder about the motivations. Did the IP for this song recently change hands?
(I still get the shivers recalling the month when people kept gleefully playing me “Temporary Secretary” by Paul McCartney; a new discovery from their Discover Playlists. I could have marched to Stockholm to strangle a data scientist.)
It could be popularized by DJs who are playing it, e.g. Four Tet, whose personal playlist on Spotify now has close to 39 thousand followers.
At least in that case specifically, I doubt it's due to distribution rights. There are no new releases indicated on Discogs, which seems likely if someone new acquired them.
It doesn’t surprise me that “Didn't I” comes up in many playlists, but it does surprise me that the other great songs on that album don’t get worked into Spotify stations. This is a great example of their algorithmic problems.
This is a really foreign concept to me. Why would you be let down because other people listen to the same song?
On the other it led me to double down on my purchased offline music collection, which I already maintained long before rdio.
- Go to the DW playlist
- Click the "..." options button
- Then to "Go to Playlist Radio"
- "Follow" the DW playlist radio
- You can now up/downvote songs
Recommender Systems for Self-Actualization https://dl.acm.org/citation.cfm?id=2959189
I don’t know if it’s a licensing issue—do they save money by keeping song variety down?—or is it an algorithm problem? I wish they would fix it because I’m about to bail for some other service if they can’t.
Pandora is the gold standard for good variety and new artist discovery as far as I’m concerned.
I'm pretty sure that'll shake up the recommendations a bit.
With Spotify, I enter in a song, and get lots of stuff from that same artist (something Pandora can't do!) and then after that's done, a bunch of repeats.
Then again my problem may be that I'm trying to use Spotify the same way I use Pandora.
Seems like a small tweak to let us tell them we dislike this style of music. According to the article a -1 should be able to be put in that matrix (if that's actually how it works).
Also, I dislike that I lose music after a week. Which means I've lost a few good songs from their churn that I forgot to save.
This is difficult to measure of course, and is purely anecdotal. I am also wondering whether there is simply no more music out there that I enjoy, my music taste seems very obscure.
Music's a weird one. And taste changes. Last night I was listening to Jazz, I usually hate Jazz. Should it start recommending that to me now?
I can imagine what works brilliantly for some people will be abysmal for others (but I guess a decently advanced ML system should detect that and try different approaches for different people).
I just checked and this week I didn't even save a single song for example.
I guess it doesn't help that I do listen to really different types of music depending on what I'm doing. If I'm at home, I'm not listening to the same thing as if I'm at work (developer). When I'm reading, I'll also be listening to something different from normally. I wonder if that makes my discovery much more "basic", since it's a mix of pretty much everything.
Discover Weekly seems to have figured out that one of my most listened-to Daily Mixes is post-rock, so it only gives me that. I'm fine with that. I wish they would push the Daily Mixes and Discover Weekly more prominently in the app interface rather than giving me TOP 10 BRAZIL playlists when I open the app.
But honestly you can't beat just going to youtube for a live stream if you want some chillout-ambient music while you're programming. There's so many talented dj's out there culling new music.
Although now that I think about it, one thing that seems to lead to wacky recommendations is sparse data. If I check out Japanese enka albums the "similar to this album" information has stuff like Justin Bieber, which mostly tells me they have so little data on what kind of listeners enjoy the music that it's pure noise.
I think curation is massively underrated - importantly, curation allows a filter on quality. Lots of popular music is popular for reasons other than its quality, and Spotify is unable to detect that. Critics can.
You can use this information to then check out Spotify's auto-generated playlists for each genre. They have at least three types for each one: "The Sound of <genre>", containing definitive representation of the genre, "The Pulse of <genre>", containing songs that fans of the genre listen to now, and "The Edge of <genre>", with unpopular songs (not necessarily of the same genre) that fans of the genre listen to.
This has been a great way for me to find new music that I like, especially "The Pulse". I even created a small script that takes a spotify playlist as input, parses all the artists, converts to genres, and creates a new playlist with "recommendations" based on the Pulse playlists, with each genre represented based on its percentage in the initial playlist.
Basically, I never use Discover Weekly, because I know it will eventually converge just like all my Pandora stations that cycle through the same 20 songs after a few months.
That's my problem right there: my favorite song right now is a musician's piano cover of one of his own songs. His music is usually electronic, which I don't like, but I love this one song. So Spotify will recommend me electronic music from other artists, which of course does not fit my song.
Repeat for every author. I liked one song from a German musician, and now half the recommendations are German music. While I can see why network relations make sense, I wish I could say "give me a similar song, not a similar artist".
Proxies work.
[0] - https://support.spotify.com/cz/using_spotify/the_basics/how-...
Eg. GPM does suggests things like: 1) Looks like you are at work, here's some music without lyrics for concentration. 2) Looks like you are at home, here's some relaxing music.
.. and so on.
Also Spotify sometimes gets things too right, and it stops me from discovering new music. GPM does a better job introducing noise into the suggestions.
However, the catalog of GPM is smaller than Spotify. Cannot find famous songs like "Hotel California" on GPM for instance.
1. I hear repeat songs in my discover all the time, this isn't ideal. I curate my own playlists for moods and know that i'm getting when I play those playlists, surfacing songs I've manually curated in my discover doesn't add value to my experience.
2. I wish I could more easily surface the discover playlists of my friends or those whom I follow. I know that my friends like similar music but the small differences might provide insightful curation data and help me discover new music, so, it'd be interesting to see the data on discovery curation through social connections.
3. There's some chatter about daily mixes here. I find that my daily mixes don't change enough. I'll try them once, two times, then I'll churn from using that feature.
Something is wrong. Discover Weekly is supposed to have only songs you have never listened to, even once. That's how it works for me.
Spotify does this too. Under Browse, many of the suggested playlists are context-dependent and will change depending on the time of day.
Right now I have six different mixes and each one of them seem to be a grouped into a different genre (or sub genre).
1 Electronic, 2 Pop, 3 R&B, 4 Indie, 5 Rap, 6 Country/Americana
Note they aren't named like this, I did that. Spotify identifies them only by a number and a few of the artists contained within. You can find them in the app on your Home screen or under Your Library > Your Daily Mix.
I used to love Discover Weekly, and found a lot of great music through it, but it's gotten less useful over time. A few things that would improve it:
• Multiple Discover playlists sorted roughly into genres, like the Daily Mix but only containing never-before-heard music
• Treat Discover Weekly like a radio station, with thumbs-up and thumbs-down buttons
• Once I've listened to a track a few times, stop suggesting it. At this point I can usually predict what my Discover Weekly playlist will be: all of the songs that have showed up on it before, but that I didn't like enough to click "+" on.
(not affiliated with them in any way)
This will cause your songs not to be influencing the AI curated playlists (like Discover Weekly and Daily Playlists)
A few examples:
I'm Norwegian, and listen to quite a lot of Norwegian music in Norwegian. Norwegian music is also European music, Scandinavian music, Nordic music, etc., and as a result I get music from Germany, France, Finland, Iceland, Sweden, Denmark, among other countries and languages. However, the reason that I enjoy listening to Norwegian music is because I speak and understand the nuances in the language perfectly, while this is not the case with any of the other languages.
In Norway, we have «russefeiring» (russ celebration) (https://en.wikipedia.org/wiki/Russefeiring) from approximately mid-April to mid-May. In the recent years, many groups of «russ» have been making/ordering songs to represent them throughout their celebration, and in that period, I listened to some of those songs because it was fun during that period (around April-May), but it's not interesting to listen to outside of that time period at all, pretty much like Christmas songs. Now it's the second week of October, and my Discover Weekly list still contains a lot of songs (12 of 30 songs) created specifically for the «russefeiring». Imagine getting half your Discover Weekly filled with Christmas songs in May, because that's pretty much my experience with this.
I don't know what they have to do to make Discover Weekly not give me shitty suggestions, but right now it keeps giving me suggestions that are outdated and uninteresting and I have no good way to give that feedback.
I'm really saddened by this, because for the first half year of Discover Weekly, the playlists were so good that I stored them in separate playlists to be able to go back and listen more to them.
I think the Christmas example is a good one, I wouldn't want half my Discover to have Christmas songs- but I wouldn't mind having 1 or 2, perhaps from an artist I had never realized had a christmas single.
Search for some open playlist you like and don't listen to the discovery weekly. In my experience spotify is fairly good a taking the hint.
One alternative would be the daily selection which seems to be more sorted for genres.
I don't mind Iron and Wine but they are definitely a 'meh' for me, so it gets frustrating when they dominate every playlist. And, disliking/thumbs down never seems to get rid of them.
Are they generic enough that the algorithm finds something similar between them and everything I like?
Granted, Spotify doesn't have a huge amount of contemporary jazz (much of what I listen to are imported ECM tracks that Spotify doesn't have, though not all), but it does have a lot of classical.
I don't think it's ever recommended any Latino or folk music, either, come to think of it.
not sure what's up with jazz but i'm guessing it could be a similar problem
The reason collaborative filtering works so much better than anything else is that given enough data, it will already encompass everything else. If there are reasons why certain users prefer certain sounds, or certain lyrics, those patterns will emerge in the listening data.
The main reason to use any non-CF method is mainly for new content that Spotify doesn't have much listening data for.
I'm no longer at Spotify, but let me know if you have any questions
Sounds like there's some NLP and web-scraping involved...so would it make sense to come out with blog posts that compare you to the famous artists that influence you?
as i mentioned in another reply, CF is really what powers DW
Thanks.
Prior to that, the best press I could get was the tedious process of cold-emailing bloggers (a practice which is now dying off).
One thing I worry about with it though is how much my behaviour might influence the choices. For example, if there's a track in there that I already know quite well, because I like it, I'm often scared of skipping it in case the algorithm takes that as a massive negative signal.
I believe that the concept of Frozen has been explained to her by her peer group, through the medium of hair plaits.
Three year old kids are a weird and amazing bunch.
Also, I have a young daughter who often asks me to play music in the car or Google Home and those affect my recommendations. I wish Spotify had some switch I could turn on to temporarily ignore anything I did until I switched it back off.
For example at the moment Apple Music is suggesting to me four Wednesday playlist - all heave metal the genre I never liked and listened to. Also two artist spotlights - Jeff Chang and Danny Chan. Yes I have Japanesese account but this is Cantopop and Taiwanese crooner - so a little off the map especially that I do not enjoy pop music at all especially Asian. Some other examples are what I call comin denominators. Yes I follow lots of jazz but Frank Sinatra is not jazz music, nor Tony Benett. etc...
When I go to an filmfestival or an concert, part of what I pay goes to the proffessionals who make the selection for me. And I'm happy to pay their services, just like I pay for journalists.
Disliking multiple songs from the same artist only to have it suggest the next one from their repertoire is infuriating. Worse, Apple Music will play songs you've disliked in the radio anyway.
I wish they kept it simpler with ratings, and explicit instead of implicit. The discovery weekly playlists are absolutely horrible for me to the point that I don't even bother checking them nowadays.
What works better for me for discovering new music with spotify is right clicking on an existing playlist and then "Create Similar Playlist" - that gives way more control over what kind of genre/style should the playlist consist of.
But I will go as far and say that implicit rating fits a lot more than explicit, because it doesn't require the user to do extra work on top of the base goal of listing to "good" music.
I feel like explicit rating scales very poorly with catalogue size. So when you have music, and as much music as Spotify has, then the work effort of explicitly rating your taste becomes too big, you start to not bother, and quality of rating becomes poor.
They've moved over to the Spotify API since I last had a play, but it's great that they still provide them.
You can get the audio breakdown of a track, as well as a summary of the track features including fun stuff like "danceability" and musical positiveness ("valence"). Radiohead's "Fitter, Happier" was low on both of these points if I remember correctly.
[1]: https://developer.spotify.com/web-api/get-audio-features/
[2]: https://developer.spotify.com/web-api/get-audio-analysis/
The neural network is trained to mimic collaborative filtering vectors from raw audio. It's a separate model from time signature, key, mode, tempo, loudness, etc.
Spotify’s “intelligence” in general is a huge let down though. Radio stations are extremely limited - more like 15-song static playlists indefinitely on repeat! It annoys me to no end, same for daily mixes. I end up listening to the same songs over and over and over and over again. Maybe that’s what makes them the most money?
Last.fm was amazing at finding me new music I liked. Rdio was amazing at.. radio :D I used to go for months on the same station. I miss both a lot, and occasionally I still use last.fm or everynoise.com to generate better playlists for Spotify.
I haven't noticed this bias at all. It might be due to our own music preferences.
But discover weekly only gives recomendations for the dominant genre.
Turns out Spotify has a “Private session” mode to prevent influencing your taste.
They have a ridiculous bias towards covers. I bet I've been recommended 50 (I wish that was an exaggeration) version of the Gladiator theme ('now we are free'). And they are all terribly bad (as in blood coming out of my ears bad). I am genuinely ashamed that someone thought that it would be a good idea to submit it to spotify - and if so how spotify could recommend it to anyone, there is no way spotify could have gotten any indication that anyone has ever liked any of those versions of that song. Similarly I get lots of game of throne covers, and now Despacito covers (never listened to that song in any variant on spotify, on purpose at least).
I've tried training the algo by following artists and saving albums in the style that I would like, but these playlists keep peddling stuff that is way off the mark. Interestingly, the daily mix playlists have responded to this training, but not Discover Weekly or Release Radar.
For users who are tired of the same songs being fed to these playlists each week, you can create an IFTTT action to save the content of these playlists in separate archive playlists. Once a song is in the archive, it won't (or shouldn't) appear in either of the weekly so-called discovery playlists.
edit: grammar
They still do, sometimes, at least for me. But more importantly, adding songs to playlists sends the positive signal to Spotify’s recommendation engine, as far as I know. So, saving all your discover weekly tracks into archive playlists will encourage Spotify to give you similar music in the future.
https://www.youtube.com/watch?v=3c7bISLhVl8
Collaborative filtering seem to be a much bigger contributor to the recommendation right now than objective factors about a song itself.
So let's say for example there are 1,000 people who like Spears and Pantera (specific songs). Now take those 1,000 people and compare the other artists and songs I am listening to. Let's say, of the 1,000 people who like Spears and Pantera, 680 listen to a specific song by Creed. That's a high hit rate, which means that song should be offered to me as I will most likely enjoy it. It doesn't matter that Creed doesn't sound anything like Pantera or Spears.
1. Yes, they claim to offer that for paid subscribers. As a former paid subscriber I can conclude only that they either lack a QA department or I ended up in the A/B bucket from hell.
As a paid subscriber for several years, I've had no difficulties playing album tracks in order. I'm not sure what issue you were having, though.
I’m totally willing to believe that it was some config bug but the effective lack of support was quite a disappointment, especially with Rdio for comparison.
Find a popular song that is likely to be on a lot of people's playlists. Make a new song that is a close match to it for raw audio modelling. Launch on Spotify.
Yeah you'll probably only get one or two plays per user, but spread over a large number of users (who all listen to the whole Discover playlist every Monday, like I do) it's still significant traffic.
Or have I got this wrong?
Also, what you are describing sounds like what producers already do because people actually like it: find the latest trends in sound and copy them, (but hopefully with a fresh twist so that people get into it) :)
YouTube has good automatic playlists but the play-next feature often wanders way off after a few songs
It's big feature, among others, was their heavy rotation section - I only followed people that shared a similar taste to mine and we had a really cozy circle of listeners whose current favorites were surfaced by said heavy rotation section. We discussed albums in comment sections, shared playlists and I regularly stumbled upon familiar usernames and friends when discovering new gems. This social component to discovery is completely missing from Spotify, yet it's more powerful than any recommendation engine I have used, including Spotify's attempts, which I'd rate as mediocre.
I miss rdio.
Further off topic: Among the commercial providers, I found this Indian music site very refreshing (https://gaana.com/). No sign-in, no flash, no widevine.
last.fm for me just recommended the next big artist in the same category. Often their music styles were still obviously different and the recommendation rather put me off. People that are hooked by the complexity, details and perfectionism in "Nightfall in Middle-Earth" won't necessarily like Manowar.
I recently got one Spotify recommendation that lead me into listening through a band's full catalogue and getting tickets for their show two weeks later (Insomnium, btw). It also dug out a song that I liked in primary school but completely forgot about. They discovered that I like cheezy metal covers of 80s pop songs and add one by some obscure band to my list every now and then. I'd say my experience was often pretty accurate.
In other words: yes, last.fm's recommendation was much too much based on "customers also liked", which helps in a lot of cases, but so often it horribly fails ("Customers who bought The Martian on Blu-Ray also bought this asthma medication because chance happens. Wanna try it out?").
[0] https://support.spotify.com/us/using_spotify/the_basics/how-...
- Only listen to the DW playlist once through. Find the songs you even remotely like, put them in a new playlist. Listen to that playlist instead (I call these playlists "DW-{datestamp}").
- Find your favorite songs in the playlist, explore that artist/album. Even if you don't think you'd like the other stuff listening to more of an artist seems to help suggestion variety.
- Don't let your listening for the week be dominated by a good Discover Weekly playlist... every time I do this my next 2-3 weeks are total crap. If you must repeat the same songs over and over, move them to a new playlist.
- Try to mix up genres as much as possible... listening to different genres that aren't your favorite often leads to Spotify recommending off the wall artists in the genres that are your favorite.
- Keep a playlist of your most frequently listened songs, regardless of genre, artist, etc. Whenever you want to listen to one of favorites listen from that playlist, instead of going to their artist page. For some reason this seems to have a large effect on my recommendations.
Most of these suggestions are due to personal experience and two theories:
1) Grouping/organization/total play count of playlists influences recommendations much more than people think
2) It's very easy for Spotify to get into positive feedback loops, forcing variety and constantly curating/making new playlists expands your horizons and keeps the recommendation engine from repeating songs/artists too much.
There seems to be a common misconception, even among programmers who should know better, that Spotify will just instantly and always offer you fresh, undiscovered, music you like on demand... which isn't how these systems work. It definitely makes it easier to find new music, and is a valuable tool in finding new artists or under marketed artists, but you're still going to need to put in a modicum of work curating your own experience to get the most out of the discover playlists.
My taste in music is also rather specific, which made it even more impressive. I shall see how the following weeks fare.
Spotify should add a slider that lets me widen or narrow the 'search area', sometimes I want to hear more similar music, sometimes I want to find more stuff at the edges where all the interesting stuff lurks.
I've found, that if you put in more effort into discovering music yourself, Spotify's recommendations improve.
I used to browse the community forums, propose features and vote on others. Spotify, however, has been pretty unresponsive to even the most reasonable and popular proposals, sadly, I might say.
I think the same of Spotify. Several comments here discuss how it gets too focused, or you're unable to reset preferences, etc. I too wish I could "reset" my daily mixes, or else change it up a bit. Wouldn't even be great if you could have some sort of advanced option to adjust the "genre variability" of your stations?
[0] https://medium.com/@hate5six/sage-an-artificially-intelligen...
This is not just in music, the filtering 'according to preferences' is ubiquitous in today's applications - so I wonder - were does the recommendation end and influence start ?
For example, Google maps routes you to avoid high traffic, but by doing this, it is also generating traffic and the more people use it, the more influence the app has in the real world traffic.
I for one use it sporadically; my music tastes are so state-dependent - sometimes I want ambient music, sometimes I want heavy metal, sometimes I want lyrics and sometimes I want a hard electronic beat. The algorithm does not know my current state, wether I want to keep or change it - even I don't always understand exactly what and how I feel.
Also, I've had it happen lots of times - sometimes I listen to a track or album which I don't immediately like, but then it grows on me and I discover something beautiful hidden in it. There's value in listening to things that don't follow the usual pattern and that's very hard for an algorithm to do.
Only 1 (audio analysis) of the 3 models (collaborative, nlp sentiment, audio) doesn't mix in recommendations from non-you sources, thereby surfacing new music to your attention.
It explains why I tend to like Discover too. Precisely because it doesn't duplicate my exact tastes.
I really miss Spotify's Discover Weekly. Apple Music (AM) has a similar feature, called "New Music Mix", but it's never as accurate.
While I was still using Spotify heavily last year, almost every week I'd duplicate the Discover Weekly playlist so I could keep that exact mix because a majority of the songs would really fit my current music tastes. Nowadays with AM I only duplicate a New Music Mix playlist once every month, if that. It's ridiculous how uninspired the playlist from Apple is and oftentimes it includes music that isn't similar to anything I listen to.
Discover Weekly is the one feature that would bring me back to Spotify and let me ditch AM once my discount period expires.
Do we know anything about the algorithms actually used?
I'm quite unimpressed by this feature. It knows full well that I almost only listen to music without lyrics (trance genre to be specific) when I work.
Sometimes I try the automatic playlists including discover weekly and what do they play? 50% vocal.
I skip as soon as I recognise it but they never learn. I also mostly play from a precompiled list containing only instrumental trance but even that is not enough.
At least they are in good company. Google has seen all my searches, my photos and my mail since before I met my wife and yet for years they figured out the most relevant ads they could show me was for dating sites :-/
It's really unfortunate that their lead singer died of ALS as the group completed producing its album.
This recommendation was based on the preference of a third party (the DJ). I discovered by sharing his listening preferences.
https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd...
Now turn the data into a dating/social app so users can discover the cools that share their exceedingly good taste in music.
It's not obvious/intuitive the NLP and audio model algorithms mentioned would be that successful. I would have thought collaborative filtering + showing you new tracks from artists you like + showing you new tracks in genres you like would get you most of the way there.
There might be an unknown Japanese band that'd suit my tastes perfectly and I'd never know with Collab filtering.
I've come across this just as a user with regard to film. I reckon that I've watched all of the 10/10 mainstream comedies that have been made in English. I want more 10/10 comedies, so I'll have to look at foreign languages films. But there isn't enough overlap of user preference, due to demographic separation I suppose, to get decent recommendation from other countries. If you start adding metainformation preferences (e.g. must not be in English, must be >9/10 stars etc) then you're back to Content-based recommendation territory (i.e. audio analysis as Spotify are doing)
I'm guessing they evaluate in many ways. E.g. play counts for online evaluations, accuracy compared to some ground truth for offline evaluations
I have a ton of songs that I've found over time that I like that spotify has managed to kill for me.
I really enjoyed soundcloud's music and tended to find way more interesting stuff on there. Too bad it's apparently run by morons.
Just face it, the algorithm has you pegged.
I'm kinda bummed by this, since I really looked forward to listening to it on Monday going to work.
It's all gone down hill since they switched everything to mood-based radios. I feel like the main problem is that I like to listen to albums and Google seems to assume I only want to listen to random streams of disconnected singles. I seem to just get played the same stuff over and over, too.
I don't know how to find new (new to me, not the world) music anymore. Are there any good services that anyone recommends?
I have the same problem. Usually I find new stuff on the various music subreddits and last.fm's Similar Artists page. Even though I have tons of playlists and saved songs on Spotify, their recommendations usually suck (probably because I listen to just about every music genre under the sun.)
Their radio feature rehashes the same songs I've heard dozens of times, and Discover Weekly is usually so awful I never listen to it.
Every time I open Spotify this crap shown on the top, before my own lists, it makes me angry every time.
I can write a Discover weekly in about two lines of psuedocode.
IF user.history.containsEvenOne("rap/r&b") THEN discover.weekly.setAll("rap/r&b")
TA-DA~ you now have the complete "Discover Weekly" experience.
People who have music X on their playlist also have Y a lot. Person A listens to X but not Y. Let's make them discover Y.
You could just build a topology of songs like that and then recommend songs to user A if they are topologically close to the songs he likes.
EDIT: Read the article now :D they do that and it's called Collaborative Filtering.
(Not affiliate, just a big fan)