Personalize your Echo Nest Playlists

September 9, 2011

Today we are pushing out a major enhancement to our playlisting API allowing developers to create personalized playlists highly tailored to the music tastes of an individual. As part of this release we are introducing the notion of ‘adventurousness’ in playlisting, allowing you, as a developer, to indicate whether the listener is more interested in comfortable old favorites (adventurousness is low) or is interested in listening to mostly new and unfamililar music that matches their taste (adventurousness is high).

The new personalized playlisting API supports a number of playlisting scenarios such as:

  • Playlisting within an individual’s personal collection - In this scenario you can create a playlist that is restricted to the music that is in a user’s personal collection (think iTunes Genius on steroids). The playlisting engine will select music within this collection that we think they will like based upon the user’s listening history and explicit actions (ratings, favorites, skips etc.).  The playlist can be seeded with artists and songs, allowing the listener to focus in on a particular zone in the collection. Of course all of the standard Echo Nest playlisting parameters apply as well, allowing you to filter and constrain the playlist based on dozens of different Echo Nest parameters.  You can create a playlist of just your most popular artists, or a playlist with music where all songs have a tempo between 120 and 130 BPM.   The ‘adventurousness’ parameter can be used to steer the playlist toward music that the listener hasn’t listened to before (by the way, in the average iTunes library, 64% of all songs have never been listened to, even once. We’d like to change that) or to steer toward those comfort songs with high playcounts.
  • Personalized Radio - In this scenario you can create a playlist based upon an individual’s music taste drawing music both from within and from outside of the listener’s music collection. The playlist will contain a mix of the listener’s familiar and favorite songs along with new music we think they will like based upon their listening habits.  The mix of the familiar and the new is controlled by the ‘adventurousness’ parameter.  The more adventurous the playlist, the more new music will be found in the playlist

To support the new playlist personalization features we’ve added two new playlist types:

  • catalog - the playlist is personalized based upon the given seed_catalog. Results are restricted to items that are within the catalog
  • catalog-radio - the playlist is personalized based upon the given seed_catalog. Results are restricted to items that are within the catalog or items that are similar to items in the catalog

The selection of songs in the playlist is governed by the user’s explicit preferences (as indicated in the catalog) such as ratings, bans, favorites, as well as implicit behavior (plays and skips) and the user’s familiarity with items combined with the desired adventurousness of the playlist. Naturally, all of the other Echo Nest playlist constraints and sorts apply as well giving an extremely flexible set of tools for creating highly personalized playlists.

Here are some examples:

Play me music I like - Generates a genius-style playlist based upon a song catalog. No seed song is necessary. This is a one-click, ‘play me music I like’ playlist:

http://developer.echonest.com/api/v4/playlist/static?api_key=N6E4NIOVYMTHNDM8J&results=20&type=catalog&seed_catalog=CAKSMUX1321A708AA4

Play me music I like for jogging - Generates a genius-style playlist based upon a song catalog, seeded by my favorite artist, limiting results to include only songs between 120 and 130 BPM

http://developer.echonest.com/api/v4/playlist/static?api_key=N6E4NIOVYMTHNDM8J&results=20&type=catalog&seed_catalog=CAKSMUX1321A708AA4&bucket=audio_summary&min_tempo=120&max_tempo=130&artist=weezer

Play me music I might like - Generates a more adventurous genius-style playlist based upon a song catalog. No seed song is necessary. This is a one-click, ‘play me music I like’ playlist:

http://developer.echonest.com/api/v4/playlist/static?api_key=N6E4NIOVYMTHNDM8J&results=20&type=catalog&seed_catalog=CAKSMUX1321A708AA4&adventurousness=.8

Play me my old favorites - Generates a genius-style playlist of my most familiar songs in my song catalog. No seed song is necessary. This is a one-click, ‘play me music I like ’ playlist:

http://developer.echonest.com/api/v4/playlist/static?api_key=N6E4NIOVYMTHNDM8J&results=20&type=catalog&seed_catalog=CAKSMUX1321A708AA4&adventurousness=0

Catalog Radio Playlists

Seeded Recommendation Radio - Generates a recommendation radio playlist, with a mix of my favorite music and new music, given an artist catalog and a seed artist. The artist doesn’t need to be in the catalog:

http://developer.echonest.com/api/v4/playlist/static?api_key=N6E4NIOVYMTHNDM8J&results=20&type=catalog-radio&seed_catalog=CAABOUD13216257FC7&artist=weezer

Auto Recommendation Radio - Generates a recommendation radio style playlist, based upon an artist catalog no seed artist is necessary:

http://developer.echonest.com/api/v4/playlist/static?api_key=N6E4NIOVYMTHNDM8J&results=20&type=catalog-radio&seed_catalog=CAABOUD13216257FC7

Auto Recommendation - High Discovery - Generates a recommendation radio playlist, no seed artist is necessary, with high adventurousness:

http://developer.echonest.com/api/v4/playlist/static?api_key=N6E4NIOVYMTHNDM8J&results=20&type=catalog-radio&seed_catalog=CAABOUD13216257FC7&adventurousness=.9


I’ve only touched on some of the nifty things you can do with the new personalized playlisting feature. I’ll be writing more posts soon about other nifty use cases.

The new personalized playlisting capabilities of The Echo Nest API open the doors for whole new classes of applications. We are excited to see what our developers will do with this feature.  Let us know when you build something cool.