Uncovering Spotify's black-box to discover new music- 9 mins
The joy of music and music discovery
Discovering new music is like finding an elixir to me. Especially since it makes a great companion to so many of my daily activities. From listening to chill/down-tempo in my morning walks/runs with the dog, to when I want to be plugged in to get some work done at my desk. I use it to power through my workouts and I use it to calm me down after a stressful day. I use it as inspiration for my hobbies (playing the guitar) and I use it for travel. (The latter has been a wonderful discovery for me. I realized that listening to just one new album for a travel trip can bring back vivid memories of that trip by just replaying the album. More on this to come later.)
Spotify wins with its black-box recommendation system
While I’ve now built a massive library of music that I enjoy in Spotify, I’ll occasionally find myself bored of my library. On those days it feels like no song that I’ve heard really ‘clicks’ with my current mood. And this is where Spotify’s Discover Weekly and other ‘smart’ playlists come into the picture. Previously I used to rely on last.fm (so many ‘scrobbles’) and other such apps. But Spotify really took discovering music to the next level with their recommendation system that generates playlists such as the Discover Weekly and Daily Mix. Just take a look at this graph of Spotify’s user growth over the years -
And behind the success of Spotify’s discovery weekly is its powerful recommendation system that tailors to your personal musical interests. While Spotify has detailed technical on its engineering blog1 on how it’s recommendation system works, there is no tinkering around it. This is my biggest complaint about discovering music with Spotify. For eg, these are some of the features I would LOVE to get from the Spotify Discover Weekly Playlist -
- Increase the number of songs in the Discover Weekly Playlist
- Dictate selected genre(s) for the upcoming week (especially since my music tastes seem to alternate)
- Brief text on why the songs were selected/added to the mix.
Spotify’s closed recommendation systems are not new. A lot of modern media apps provide ‘smart’ recommendations without particularly mentioning the reasons behind those recommendations. And this decision to make it a black-box is not favorable to all users as research points out2 -
“The “black box” nature of today’s recommender systems raises several challenges for users, including a lack of trust and limited user control. Providing more user control is interesting to enable end-users to help steer the recommendation process with additional input and feedback. However, different users may have different preferences concerning such control.”2
In this research experiment, the participants were provided a custom interface that provided users with a custom interface that allowed users to tinker with song attributes such as ‘energy’, ‘danceability’ etc. And as you can imagine the results were pretty obvious -
“Having the ability to control musical attributes may have allowed the participants to discover the songs which may otherwise have been ignored by either themselves or the system.”2
Results showed that the radar chart helped the participants to discover a significantly higher number of new songs compared to the sliders. 2
And so as a self-titled, advanced user of Spotify - I’ve detailed out the following sections into 2 parts. In part 1, I’ll show you my system of using Spotify to the best of its capability to help me discover music and in part 2 - I’ll show you how when Spotify’s API is exposed to external apps, it can turbo boost your search for discovering new music.
Part 1 - Obscure Spotify tips to discover new music
Storing the history of your magic Spotify playlists to discover new music
Spotify has two playlists that keep me very entertained every week. Discover Weekly and Release Radar. As mentioned early, Discover Weekly is a smart curation of your music tastes that Spotify serves as fresh music to you every week. Release radar, as the title suggests, is a playlist with new songs that artists you ‘like’ have recently released.
There are weeks when I’m just not able to get to both of these playlists and since these playlists get over-written with new songs every week, there is no way for you to keep track of what you may have missed. Enter IFTTT. In case you didn’t know, here’s a brief description of IFTTT taken from Wikipedia -
If This Then That is a web-based service that allows users to create chains of conditional statements triggered by changes that occur within other web services such as Gmail, Facebook, Telegram, Instagram, or Pinterest.
IFTTT works by connecting different ‘applets’ to its service that runs automatically on its server. Spotify also has an integration with this service. With this integration, I’ve been able to set up two ‘applets’ that let me store a history of all of my discover weekly and release radar playlists. This way I can go back to those playlists to know that I have a wealth of gems to listen back to. The applet that allows me to do this in IFTTT is here.
Using song playlists to discover new music
Spotify previously experimented with a radio functionality that allowed users to ‘dislike’ or ‘like’ songs in that radio playlist. Based on your input, Spotify dynamically would update the radio station with new songs. I was a big fan of this feature until Spotify sunsetted it.
The new radio stations from Spotify are static and don’t have the option to learn from your inputs. However, there is a hidden functionality that works just like radio stations from before but better.
When you have a song you really like and want to discover similar music, all you have to do is right-click on that song and add it to a new playlist. For eg - here’s a new playlist I created from an artist I really enjoy
Notice how the screen below says ‘add’ songs to the existing playlist. You can traverse through that list at the bottom and if you find a song that you like, you can add it to the playlist. If you’re not satisfied with the results in that section, click refresh, and boom - you have a new set of songs that you can choose to add to the playlist. As you continue to add songs to the playlist, Spotify will continue to provide you with recommendations for the songs added to that playlist. This way you have your own smart song recommendation system to discover new music.
Part 2 - Exposing Spotify’s black-box through external apps to help you discover new music
This is where things get interesting. Spotify stores detailed attributes for all of its songs and expose these attributes only through its API. Having control over these attributes and tweaking them opens the pandora box that can help you discover music faster. Here are my favorite web apps that connect to Spotify’s API to allow you to do this -
Organizing and Sorting your music using song attributes
If you want a way to get more out of your existing collection of music and playlists or organize your playlists by mood if you haven’t already done so then Playlist Machinery is the perfect web app to do this.
One of the features of Playlist Machinery is to organize your music by plotting your existing playlist collections on a graph like the one below -
Selecting music on the graph can help you create new playlists at a whim.
Discovering music through Dubolt
Dubolt is another one of Spotify’s 3rd party web apps that allows you to tinker around with some attributes to give you a smart selection of radio/playlists. From the popularity of the songs to energy and danceability among many other options allows you to discover songs with ease in this well-designed UI.
The popularity bar is especially useful if you’re looking to find explore popular music in a new genre or find obscure music in a genre you already like to discover new and upcoming artists. Very powerful.
Other cool apps built using the Spotify API
Spotify’s Developer showcase has a bunch of these apps listed and some of them are really cool. From improving the functionality by speeding up song selection, to music discovery (like the ones covered above) to simply just niche and cool functions - these apps are amazing.
Some of my favorite ones are -
- Discover Quickly - Fast access to Spotify’s playlist and also very intuitive song selection.
- MagicPlaylist - This allows you to create ‘magic’ playlists based on your favorite songs. Very similar to Dubolt.
If you enjoyed this summary or have any feedback - let me know in the comments below 👇
Also, you can follow me on Twitter for more updates from me.
“How We Improved Data Discovery for Data Scientists at Spotify.” Spotify Engineering, 22 Aug. 2020, engineering.atspotify.com/2020/02/27/how-we-improved-data-discovery-for-data-scientists-at-spotify. ↩
“Controlling Spotify Recommendations: Effects of Personal Characteristics on Music Recommender User Interfaces.” Millecamp, Martijn, Nyi Nyi Htun, Yucheng Jin, and Katrien Verbert. ACM, 2018. https://doi.org/10.1145/3209219.3209223. ↩ ↩2 ↩3 ↩4