No other holiday dominates our listening like Christmas. During this season, we are exposed to a seemingly never ending playlist of Christmas music. So its no surprise that there’s a huge amount of Christmas music available on Spotify. How much? Let’s take a look.
How much Christmas music is there?
It is actually quite hard to pinpoint the exact number of Christmas songs. First, every week during the holiday season thousands more Christmas songs are added to the set. Second, some songs are seasonal – is Frosty The Snowman a Christmas song? Not literally, but it gets a lot of play at this time of year, even by the antipodes. Finally, there are a number of other holidays and celebrations at this time of year such as Hanukkah, Boxing Day, New Years, Kwanzaa, the Winter Solstice, and Festivus that we want to include in this category. So when I say “Christmas Music” I’m referring to western music that is played primarily during December. There’s probably a better term to describe this music, but terms like seasonal, and holiday have their own special baggage – perhaps something like music coincident with the northern hemispheric winter solstice is the most precise description, but lets stick with Christmas music just to keep things simple. So how much Christmas music is there? In early December 2014, crack music + data nerd Aaron Daubman dove into the Spotify + Echo Nest music catalog and found 914,047 Christmas tracks – that’s just under a million Christmas tracks. Let’s unwrap this dataset to see what we can find.
First, some basic stats: Those 914,047 tracks represent 180,660 unique songs and were created by 63,711 unique artists – from Aaron Neville to Zuma the King. The top 20 artists with the most Christmas tracks in the Spotify catalog are all pre-Beatles artists:
Artists with the most Christmas Tracks
|4||Nat King Cole||11613|
|5||Johann Sebastian Bach||8958|
|15||The Andrews Sisters||3567|
Yes, that’s right, Bing Crosby has 22,382 different Christmas tracks (!) in the Spotify catalog. Now, a little digression on what we consider to be a unique track. Music, especially popular music, is released in many forms. A very popular song, such as Bing Crosby’s White Christmas, may appear on a wide range of albums – from the original studio release to a plethora of Christmas Compilations and artist ‘best of’ albums. Each of these track releases may have different album art, different rights holders and regional licenses. Thus, even though the audio for White Christmas may be the same on each of the release, we consider each release as a different track.
Let’s take a closer look at Bing Crosby’s White Christmas. In our catalog of nearly a million Christmas tracks, 2,196 of them are Bing Crosby’s classic. I’ll say that again, just because it is a rather phenomenal fact – there are 2,196 different albums on Spotify that contain Bing’s White Christmas. It is hard to believe, so I created a web page that contains all 2,196 of the albums so you can see them all. Click on the image below to load them all up (warning – with 2000+ album covers it’s a bit of a browser buster).
White Christmas isn’t the only uber-track of the holidays. Here are the top 25 Christmas tracks based upon the number of times they have been released on an album:
The most released Christmas tracks
|1||Bing Crosby – White Christmas||2196|
|2||Eartha Kitt – Santa Baby||1286|
|3||Elvis Presley – Blue Christmas||1285|
|4||Frank Sinatra – Jingle Bells||1121|
|5||Harry Belafonte – Mary’s Boy Child||904|
|6||Bing Crosby – Silver Bells||881|
|7||Nat King Cole – The Christmas Song||870|
|8||Frank Sinatra – The Christmas Waltz||811|
|9||Rosemary Clooney – Suzy Snowflake||788|
|10||Bobby Helms – Jingle Bell Rock||779|
|11||Elvis Presley – White Christmas||738|
|12||Judy Garland – Have Yourself a Merry Little Christmas||735|
|13||Frank Sinatra – White Christmas||703|
|14||Frank Sinatra – Christmas Dreaming||696|
|15||Frank Sinatra – Have Yourself a Merry Little Christmas||695|
|16||Elvis Presley – Silent Night||688|
|17||Elvis Presley – I Believe||664|
|18||Frank Sinatra – Santa Claus Is Coming to Town||660|
|19||Louis Armstrong – Zat You Santa Claus||598|
|20||Dean Martin – The Christmas Blues||575|
|21||Frank Sinatra – Mistletoe and Holly||568|
|22||Louis Armstrong – Cool Yule||566|
|23||Frank Sinatra – Silent Night||563|
|24||Bing Crosby – Jingle Bells||560|
|25||Elvis Presley – Santa Claus Is Back in Town||559|
You can see all of the releases for Elvis’s Blue Christmas and Eartha Kitt’s Santa Baby here:
So there are lots of copies of Bing Crosby’s White Christmas and Eartha Kitt’s Santa Baby out there – but what are the most common Christmas songs overall? Which ones have been recorded the most by any artist? The following table shows the top 25:
Most recorded songs
|5||Joy to the World||9093|
|6||The First Noel||8731|
|7||Have Yourself a Merry Little Christmas||8511|
|8||O Holy Night||7925|
|9||Hark The Herald Angels Sing||7727|
|10||The Christmas Song||7673|
|11||Away in a Manger||7544|
|12||God Rest Ye Merry Gentlemen||7524|
|13||O Little Town of Bethlehem||7480|
|14||Santa Claus Is Coming To Town||6851|
|15||I’ll Be Home for Christmas||6844|
|16||O Come All Ye Faithful||6273|
|17||Deck The Halls||6057|
|20||What Child Is This?||5755|
|21||We Wish You A Merry Christmas||5619|
|22||It Came Upon A Midnight Clear||5019|
|25||Let It Snow! Let It Snow! Let It Snow!||4598|
Of course this data may be confounded by the uber-tracks like White Christmas that have thousands of versions by a single artist, so lets look at the most recorded songs by unique artists – that is, we only count Bing Crosby once for White Christmas instead of 2,196 times. When we do that the top 25 changes a bit:
Most recorded Christmas songs (Unique Artists)
|3||Joy to the World||3593|
|5||O Holy Night||3536|
|6||The First Noel||3181|
|7||What Child Is This?||3150|
|8||Away in a Manger||3140|
|9||God Rest Ye Merry Gentlemen||2871|
|10||Have Yourself a Merry Little Christmas||2823|
|11||O Come All Ye Faithful||2675|
|12||Hark The Herald Angels Sing||2638|
|13||Angels We Have Heard on High||2494|
|15||The Christmas Song||2398|
|16||We Wish You A Merry Christmas||2281|
|17||Deck The Halls||2274|
|18||O Little Town of Bethlehem||2197|
|19||We Three Kings||2048|
|20||Santa Claus Is Coming To Town||1837|
|21||It Came Upon A Midnight Clear||1768|
|23||Auld Lang Syne||1603|
|25||I’ll Be Home for Christmas||1577|
The songs in green are the songs that are unique to each list.
Artists with the most number of unique songs
Bing Crosby is at the top of the Most Christmasy artists mainly because of the widespread re-issuing of White Christmas. But if we look at unique songs (i.e. White Christmas only counts once for Bing Crosby), the top Christmas artists look very different – with classical composers, Karaoke ‘artists’ and music factories topping the charts:
Artists with the most number of unique songs
|1||Johann Sebastian Bach||3681|
|3||The Karaoke Channel||1098|
|4||George Frideric Handel||903|
|7||ProSound Karaoke Band||762|
|8||Pyotr Ilyich Tchaikovsky||691|
|9||SBI Audio Karaoke||641|
|10||Mega Tracks Karaoke Band||577|
|12||Ameritz Karaoke Entertainment||508|
|13||Tbilisi Symphony Orchestra||506|
|16||Karaoke – Ameritz||428|
|17||Nat King Cole||413|
|18||Ameritz Karaoke Band||397|
|19||Merry Tune Makers||385|
Current popular Christmas crooner Michael Bublé, with 31 unique Christmas songs has a way to go before he makes it on to the most-unique-songs-recorded chart.
Speaking of Karaoke – there’s lots of Christmas Karaoke – 23,472 tracks to be precise. The top 25 Karaoke songs are the classics:
Top Karaoke Christmas Songs
|9||The Christmas Song||185|
|10||Jingle Bell Rock||172|
|11||Have Yourself a Merry Little Christmas||171|
|12||Please Come Home for Christmas||163|
|13||Little Drummer Boy||163|
|15||O Come All Ye Faithful||154|
|16||Here Comes Santa Claus||150|
|18||All I Want for Christmas Is You||146|
|19||O Holy Night||144|
|20||I Saw Mommy Kissing Santa Claus||143|
|21||Rockin’ Around the Christmas Tree||135|
|22||Santa Claus Is Coming to Town||126|
|23||Frosty the Snowman||125|
|24||Rudolph the Red Nosed Reindeer||121|
|25||We Wish You a Merry Christmas||118|
We can build a good list of seasonal terms by finding the most frequently occurring words in song titles. Here are the top 75 or so, as a word cloud created by wordle (stop words are removed of course).
Longest Christmas song name
There are lots of very long song names in the set of Christmas songs – the longest is this Christmas medly.
Andrea und Manuela – Morgen kommt der Weohnachtsmann – Medley / Morgen kommt der Weihnachtsmann/Leise rieselt der Schnee/Oh du Fröhliche/Ihr Kinderlein kommet/Süßer die Glocken nie klingen/Oh Tannenbaum/Kling Glöckchen/Stille Nacht, heilige Nacht/Alle Jahre wieder – Morgen kommt der Weihnachtsmann/Leise rieselt der Schnee/Oh du Fröhliche/Ihr Kinderlein kommet/Süßer die Glocken nie klingen/Oh Tannenbaum/Kling Glöckchen/Stille Nacht, heilige Nacht/Alle Jahre wieder
A great song for testing how well your music player UI deals with unusual titles.
One would think that with a million Christmas tracks we’d already have more than enough Christmas music – but, it seems, we still like new Christmas music. Ariana Grande’s recently released Santa Tell Me is climbing the streaming charts (currently #44 at charts.spotify.com).
Plus, there’s seemingly no-end to the variety of Christmas Music. If White Christmas with Bing Crosby is not your style, then there’s Blue Christmas by Elvis.
And If that’s not your thing, maybe you’ll enjoy Red Christmas by Insane Clown Posse.
‘Tis the season for artists to release Christmas music … and they release lots of it. In the last two weeks Spotify has added thousands of releases with ‘Christmas’ in the title. I though it would be fun to build a little web app that lets you explore through all the releases. Here it is: ‘Tis the Season.
It shows you all the Christmas albums that have been released in the last few weeks, lets you listen to them and lets you open them in Spotify.
It makes use of the Spotify Web API – there’s a nifty search feature that lets you restrict album searches to albums that have just been recently release. That’s what makes this app possible. Check out the app at ‘Tis the Season. The source is on github.
Over the last six months or so The Infinite Jukebox had a link to a survey about features peopled would like to see in a mobile version of The Infinite Jukebox. Since then, over 10,000 people have taken the survey. Here are the results.
The survey was linked to directly from the Infinite Jukebox. The questions asked were:
Since the text in link to the survey was “Interested in a mobile version of the Infinite Jukebox? Then take this one minute survey” it is no surprise that 99% of all respondents are interested in a mobile version of the app.
The split between Android and iOS aligns with other iOS vs Android metrics out there on the webs.
As for how much people would be willing to pay, 64% would be willing to pay something for the app.
This was a bit surprising – 70% of folks want to play music from their own collection, and only 11% are interested in playing music from a streaming service like Spotify or Rdio.
The final question was an open-ended question asking about what other features would you like to see in the Infinite Jukebox. Many of the responses were about what features would like to see in the current web version, while many were about what features should be in a mobile version. Some of the more common results are here:
Common new feature suggestions
- Background playing
- Offline playling
- No Ads
- Simple tuning options
- Playlist support
- Choose song length
- Time limits per song
- Infinitise multiple songs
- Color schemes
- Volume controls
- Social features (voting on best tunings)
So, you may be wondering where is the mobile version of the Infinite Jukebox? It is coming along, all the hard coding bits are done, but it has been very much a spare time project. I do hope to release it sometime in the near future. Here’s a short clip of the app in action:
Thanks to everyone who took the survey, its been quite informative.
Yesterday, I upgraded the Infinite Jukebox to make it less likely that it would get stuck in a section of the song. As part of this work, I needed an easy way to see the play coverage in the song. To do so, I updated the Infinite Jukebox visualization so that it directly shows play coverage. With this update, the height of any beat in the visualization is proportional to how often that beat has been played relative to the other beats in the song. Beats that have been played more have taller bars in the visualization.
This makes it easy to see if we’ve improved play coverage. For example, here’s the visualization of Radiohead’s Karma Police with the old play algorithm after about an hour of play:
As you can see, there’s quite a bit of bunching up of plays in the third quarter of the song (from about 7 o’clock to 10 o’clock). Now compare that to the visualization of the new algorithm:
With the new algorithm, there’s much less bunching of play. Play is much more evenly distributed across the whole song.
Here’s another example. The song First of the Year (Equinox) by Skrillex played for about seven hours with the old algorithm:
As you can see, it has quite uneven coverage. Note the intro and outro of the song are almost always the least played of any song, since those parts of the song typically have very little similarity with the rest of the song.
Here’s the same song with the new algorithm:
Again, play coverage is much more even across all of the song outside of the intro and the outro.
I like this play coverage visualization so much that I’ve now made it part of the standard Infinite Jukebox. Now as you play a song in the Jukebox, you’ll get to see the song coverage map as well. Give it a try and let me know what you think.
It has been over two years since the Infinite Jukebox was first released after Music Hack Day Boston 2012. Since then millions of people have spent nearly a million hours listening to infinite versions of their favorite songs. It has been my most popular hack.
There has always been a problem with the Infinite Jukebox. Certain songs have sections with very dense interconnections. For these songs the Infinite Jukebox would sometimes get stuck playing the same section of the song for many minutes or hours before breaking free. This morning I finally sat down and worked out a good way to deal with this problem. The Infinite Jukebox will now try to steer the song toward the beats that have been played the least. When the jukebox is deciding which beat to play next, it will search through all the possible future paths up to five beats into the future to find the path that brings the jukebox to the least played part of the song. The result is that we exit out of the rats nest of connections rather quickly. The code is quite succinct – just 20 lines in one recursive function. Good payback for such a small amount of code.
While I was in the codebase, I made a few other minor changes. I switched around the color palettes to favor more green and blue colors, and I use a different color to draw the beat connections when we make a jump.
On the annual drive to Thanksgiving dinner I’ve tortured my family with Alice’s Restaurant too many times over the years. Arlo Guthrie’s classic is still, in my mind, the classic Thanksgiving song, but there has to be more. So this year, I set out to expand my repertoire of Thanksgiving music – to build the ultimate Thanksgiving playlist. To do so, I looked through the top 300 or so most listened to Thanksgiving playlists on Spotify and found the top 100 songs that most frequently appear in all of these playlists, after discounting for popularity. Here are the results: The Ultimate Thanksgiving Playlist:
This is six hours of Thanksgiving music. All the classics are there, from Alice’s Restaurant to We are going to be Friends by the White Stripes. It should get you through the Thanksgiving drive, the meal, dessert and maybe even an after dinner snack.
However, if you want to synchronize your cooking and your music listening, there’s no better way then to hop on over to Time For Turkey for your basting+music needs.
And since the Christmas season starts immediately after the last piece of pumpkin pie has been consumed, lets not waste time breaking out the Christmas playlist. Here are the top 100 songs appearing across the most popular 1,000 Christmas playlists: Top Christmas Songs
A few weeks ago, the Spotify Web API team pushed out some updates to the API that allows developers to update the tracks in a listener’s playlist. With these changes a developer can add, replace, remove and rearrange tracks in a playlist on behalf of a listener. This week I wanted to try out these new API features so I built an app called Sort Your Music.
Sort Your Music lets you sort the tracks in any of your playlists based on a number of Echo Nest parameters. You can sort a playlist by BPM, Energy, Danceability, Loudness, Acousticness, Valence and more. Once you’ve sorted a playlist you can save it back to Spotify, letting you listen to it on any of your music devices. For example, here’s a copy of the Spotify Top 50 playlist, where the tracks have been sorted from highest energy to lowest.
Using Sort Your Music is quite simple, login with your Spotify credentials and give the app permission to modify your playlists. Then, select the playlist you want to work on and, after a few seconds (while all of the song data is retrieved from The Echo Nest), your playlist will appear in table form like so:
To sort the playlist, just click on the column headings for any of the parameters. When you are happy with the changes, just click save, and your playlist will be updated.
Under the Hood
This is a pretty straightforward app, but there were a few challenging bits. The primary challenge was dealing with the large number of calls to The Echo Nest. Each song in a playlist requires a call to The Echo Nest to fetch the song attributes, so even a modest playlist of 40 songs results in 40 Echo Nest calls. Multiply that by a few dozen active users and the app will be overwhelming my Echo Nest API rate limit. To avoid this, I created my own caching server that sits between the web app and The Echo Nest. It fields bulk requests from the web app (all the IDs at once), and retrieves the song data from The Echo Nest, eliminating any unneeded data, and passing it back to the web app. The big performance win comes from keeping a cache of the song info. After a bit of usage, most popular songs will be in the cache making most playlist song resolving quite snappy. Still, if you have a long and obscure playlist it may take 10 seconds to resolve.
Having a caching server gives me a few other benefits – I have a central point to handle rate limit throttling – if the app gets busy and we start hitting the rate limit, the server can do the throttling automatically, and I can take action. Another big advantage is that I don’t have to expose my Echo Nest API key to the world like I would need to do if I made Echo Nest calls directly from the web client.
My caching server has an info endpoint that returns some json data about the server status, including the average time to process each request to resolve a playlist. The current average resolve time is about 700ms – not too bad.
A Safari glitch – when I tested the finished app on Safari, I found that authentication didn’t work. This was quite puzzling, as it had worked for me before. I went back to some of my older Spotify apps that perform authentication and it turns out that they were no longer working as well. What changed? Well, I’m running the spiffy new Yosemite with an update to Safari. Digging deeper it turned out that the new Safari doesn’t like redirect URLs without a trailing slash. Once I added a trailing slash to the redirect URL all was well.