Spotify Search Hardware
Spotify is an excellent platform that capitalizes on what is known as the ‘long tail’ effect (Chris Anderson, 2006). This states that with a huge quantity of products available, particularly easy to do with digital products, the less popular products can collectively sell in far greater volumes that the relatively few current bestsellers and blockbusters.
Spotify works hard to make it easy to find the music you love as well as find new music. However its quantity of music is both its greatest strength and biggest weakness. Spotify uses many different algorithms to provide recommendations based on what it knows about you. With today’s technology, this can mean an ‘echo chamber’ problem, where only things that are similar to things you have previously expressed a liking for are shown to you, making it hard to find truly new things. UI features to enable browsing by metrics such as genre, playlist or popularity are possible, however can often be a slow process.
One of the fastest and most convenient ways to interact with a machine is the humble switch. This got me thinking, what if finding new music was fun and as easy as flicking a switch? Spotify provides a web API that provides access to a long list of metrics for every track on the platform, the ‘get audio analysis’ command being most interesting. Others such as ‘get a track’ provide catalogue information including year and popularity.
// get audio feature information for a single track identified by its unique Spotify ID GET https://api.spotify.com/v1/audio-features/{id}
// json response { "danceability": 0.735, "energy": 0.578, "key": 5, "loudness": -11.84, "mode": 0, "speechiness": 0.0461, "acousticness": 0.514, "instrumentalness": 0.0902, "liveness": 0.159, "valence": 0.624, "tempo": 98.002, "type": "audio_features", "id": "06AKEBrKUckW0KREUWRnvT", "uri": "spotify:track:06AKEBrKUckW0KREUWRnvT", "track_href": "https://api.spotify.com/v1/tracks/06AKEBrKUckW0KREUWRnvT", "analysis_url": "https://api.spotify.com/v1/audio-analysis/06AKEBrKUckW0KREUWRnvT", "duration_ms": 255349, "time_signature": 4 }
To take advantage of this, I pulled together an idea for a ‘play music’ spotify switch with some fun hardware filters to help you find new things. I may well put this together with the Python API in the future.
References
Anderson, C., 2006. “The Long Tail: Why the Future of Business Is Selling Less of More“. New York: Hyperion
https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-audio-analysis