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 -

Growth of Spotify

Source: "Understanding Spotify: Making Music Through Innovation." Goodwater Capital, 10 Apr. 2019, www.goodwatercap.com/thesis/understanding-spotify

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 -

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.”

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.”

Interface variations
Interface variations used in the study

Results showed that the radar chart helped the participants to discover a significantly higher number of new songs compared to the sliders.

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.

Discover Weekly Archive
Discover Weekly Archive created by IFTTT

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

Song Playlist
Spotify Individual Song Playlist

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 -

Playlist Machinery
Playlist Machiner's genre charts to organize your music

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.

Dubolt
Dubolt can organize your music based on attributes exposed by Spotify's API

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 -

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.

Footnotes:

  1. “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. 

  2. “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

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora