The Emotional Playlist interface with controls for valence, energy, and danceability
The app is currently in development mode. To try it, send me an email with your name and Spotify email address so I can add you to the user list.
Music has always been one of our most powerful tools for emotional expression and regulation. Whether we’re seeking to amplify our current mood, shift to a different emotional state, or find sounds that resonate with specific feelings, the right playlist can make all the difference. But finding music that precisely matches our desired emotional state often requires significant time and effort.
What if we could directly shape our musical experience based on emotional parameters rather than just artists, genres, or song titles?
The Spotify API offers a fascinating window into how music can be quantified along emotional dimensions. For each track in its vast library, Spotify provides computed audio features including three key parameters that map directly to emotional experience:
These three dimensions create a comprehensive emotional space in which any piece of music can be positioned. This three-dimensional model aligns with psychological research on emotion, which often describes feelings along similar axes.
Leveraging these emotional dimensions, I’ve built Emotional Playlist, an application that gives users intuitive control over the emotional character of their music recommendations.
The app works by:
Behind the scenes, the app analyzes your source music to understand your preferences, then uses Spotify’s recommendation engine to find tracks that match your specified emotional parameters while staying within your genre preferences and exploration comfort zone.
The power of Emotional Playlist lies in its flexibility. You can:
The exploration slider adds another dimension to your control. At 0%, you’ll get only tracks from your source playlists that best match your emotional targets. At 100%, you’ll receive entirely new recommendations shaped by your source music’s distribution but matching your specified mood.
As a demonstration, I created Jazz mood, a playlist built using two of my existing playlists as sources. I selected jazz as the only genre, set the emotional parameters to Valence: 93%, Energy: 20%, Danceability: 72%, and set exploration to 100%.
The result is a collection of upbeat yet relaxed jazz pieces—all new discoveries that weren’t in my source playlists, but which match the emotional profile I was seeking. The source playlists influenced the recommendations by establishing my taste profile, but the emotional parameters guided the specific track selection.
This project represents just the beginning of what’s possible with emotion-based music curation. Future developments could include:
By making the emotional dimensions of music explicit and controllable, we can develop more intentional relationships with our listening habits and discover new artists and tracks that speak to our emotional needs in ways we might never have found through traditional browsing.
title: ‘Emotional Playlist’ date: 2022-09-13 00:00:00 description: A Spotify App for Customized Playlist Generation. featured_image: ‘/images/projects/emotional_playlist/image.png’ —
The app is currently in development mode. To try it, send me an email with your name and spotify email address so I can add you to the user list.
The Spotify API lets anyone access information about users, playlists, artists and tracks. In particular, it offers access to precomputed audio features such as valence, energy and danceability. Valence and energy directly maps to their respective use in the description of emotions, whereas danceability seem correlated to the third emotional dimension often called controlability or dominance.
I’ve had a few ideas on how to improve the Spotify experience for some time, so I decided to build a simple app and test things out. The Emotional Playlist app lets you build playlists by presenting a source of music (e.g. a list of playlists you may like) and giving control over the genres, the mood and the level of exploration you might want.
Among the genres represented in the playlist, you can pick the one you want. The target mood of the playlist is then customizable through 3 sliders for valence, energy and danceability. Finally, the exploration slider lets you decide whether you only want songs from the music source (0 exploration), only new songs (100 exploration) or something in between.
Here is Jazz mood, a playlist built by using two of my playlists as music sources, selecting for jazz music only, a target mood Valence: 93%, Energy: 20%, Danceability: 72% and cranking up exploration to 100% such that none of the songs can be found in the source playlists. With full exploration, the source playlists only shape the song distribution to orient spotify’s recommendations.