Christmas comes early to The Echo Nest

November 16, 2012

The Christmas season is the most musical of seasons. There are literally thousands of Christmas songs spanning across all genres from Gregorian Chant to Heavy Metal and everything in between.  To make it easier for our developers to create a good Christmas listening experience we are adding support for the ‘christmas’ song type in our API.  With this Christmas song type you can easily create playlists that consist of only Christmas songs or for the Scrooges among us, create playlists that are totally free of Christmas music. For instance, to create a Christmas playlist of songs by artists similar to Justin Bieber, make a call like so:

http://developer.echonest.com/api/v4/playlist/static?api_key=FILDTEOIK2HBORODV&artist=justin+bieber&format=json&results=20&type=artist-radio&song_type=christmas

This will return a song list that looks something like this:

 "songs": [
            {
                "artist_id": "ARFCWSZ123526A0AFD", 
                "artist_name": "Justin Bieber", 
                "id": "SOFWFLV133A922EB37", 
                "title": "Someday At Christmas"
            }, 
            {
                "artist_id": "ARRHNA81187FB53D58", 
                "artist_name": "Aly & AJ", 
                "id": "SOAGOSR12A58A7AD8B", 
                "title": "Deck The Halls"
            }, 
            {
                "artist_id": "ARUCF6P11A348F0B17", 
                "artist_name": "Demi Lovato", 
                "id": "SOQHXYA13741BDDBB0", 
                "title": "Wonderful Christmastime"
            }, 
            {
                "artist_id": "ARTA13R1187B9B8E0D", 
                "artist_name": "David Archuleta", 
                "id": "SORDOZC12A8C140F99", 
                "title": "Pat-A-Pan"
            }, 
            {
                "artist_id": "ARCQJYZ11E2835D077", 
                "artist_name": "Vanessa Hudgens", 
                "id": "SOOCSKC12A58A79283", 
                "title": "Winter Wonderland"
            },
            //  more songs omitted ....
]

To create a playlist that has no Christmas songs, you can make a query like this:

http://developer.echonest.com/api/v4/playlist/static?api_key=FILDTEOIK2HBORODV&artist=justin+bieber&format=json&results=20&type=artist-radio&song_type=christmas:false

We also support the Christmas song type in song search. For example, you can find all the Christmas songs by Weezer with a query like this:

http://developer.echonest.com/api/v4/song/search?api_key=FILDTEOIK2HBORODV&format=json&artist=weezer&song_type=christmas

We’ve also added a ‘song_type’ bucket that you can add to any query that returns songs. The song_type bucket will tell you whether or not a song is a Christmas song.  For example, to see if Bing Crosby’s White Christmas is a Christmas call, make a query like:

http://developer.echonest.com/api/v4/song/search?api_key=FILDTEOIK2HBORODV&format=json&artist=bing+crosby&bucket=song_type&title=’white+christmas’&results=1

The returned info includes a song_type list that will include the string ‘christmas’ if the song is a Christmas song.  

            {
                "artist_id": "ARRL2QH1187B9AC814", 
                "artist_name": "Bing Crosby", 
                "id": "SOWOGON1312A8AB172", 
                "song_type": [
                    "christmas"
                ], 
                "title": "White Christmas"
            }

Deciding whether or not a song is a Christmas song is not such an easy task.  A song like “My Favorite Things"  can be considered a Christmas song when Andy Williams sings it, but not when John Coltrane plays it.   We include wintry songs like Winter Wonderland in our definition of Christmas music. We probably should call the song type ‘northern_hemisphere_winter_solstice_seasonal_music’ but ‘christmas’ seemed a bit shorter, if less accurate.

There’s a little demo that will create a Spotify Christmas Playlist for any seed artist:

 

You can use it to create some unusual Christmas playlists like an all punk playlist seeded with the Sex Pistols.  Give it a try: The Christmas Playlist, and then read the song search and playlist docs to start creating your own Christmas playlists.