Posts Tagged demo

Fetching my saved tracks from Spotify

The @SpotifyPlatform team just pushed out an update to the Spotify Web API that lets a developer retrieve and manipulate the tracks that a user has saved in ‘Your Music’. To show off this new functionality I wrote a quick demo that shows how to fetch the saved tracks for a Spotify user via the nifty new API.  The demo will first solicit permission from the user, and if the user grants such permissions, the app will then retrieved the saved tracks and show them as a simple list.

My Saved Tracks


The demo is on line here: My Saved Tracks and the source is on github.


Leave a comment

Fetching My Starred Items from Spotify

I wrote a quick demo that shows how to create a web app that fetches the starred items for a Spotify user via the nifty new Spotify Web API.  The demo will first solicit permission from the user, and if the user grants such permissions, the app will then retrieved the starred list and show the tracks in a simple list.


The online demo is here: My Starred ItemsThe source is on github.


Leave a comment

Learn about a new genre every day

The Echo Nest knows about 800 genres of music (and that number is growing all the time). Among those 800 genres are ones that you already know about, like ‘jazz’,’rock’ and ‘classical’. But there are also hundreds of genres that you’ve probably never heard of. Genres like Filthstep,  Dangdut or Skweee.  Perhaps the best way to explore the genre space is via Every Noise at Once (built by Echo Nest genre-master Glenn McDonald).  Every Noise At Once shows you the whole genre space, allowing you to explore the rich and varied universe of music.  However, Every Noise at Once can be like drinking Champagne  from a firehose – there’s just too much to take in all at once (it is, after all, every noise – at once).  If you’d like to take a slower and more measured approach to learning about new music genres, you may be interested in Genre-A-Day.

Genre-A-Day is a web app that presents a new genre every day.  Genre-A-Day tells you about the genre,  shows you some representative artists for the genre,  lets you explore similar genres, and lets you listen to music in the genre.


If you spend a few minutes every day reading about and listening to a new genre, after a few months you’ll be a much more well-rounded music listener, and after a few years your knowledge of genres will rival most musicologists’.

An easy way to make Genre-A-Day part of your daily routine is to follow @GenreADay on twitter. GenreADay will post a single tweet, once a day like so:

Under the hood – Genre-A-Day was built using the just released genre methods of The Echo Nest API. These methods allow you to get detailed info on the set of genres, the top artists for the genres, similar genres and so on. It also uses the super nifty genre presets in the playlist API that allow you to craft the genre-radio listener for someone who is new to the genre (core), for someone who is a long time listener of the genre (in rotation), or for someone looking for the newest music in that genre (emerging).  The source code for Genre-A-Day is on github.

, , , ,


Getty Images and The Echo Nest

This week, The Echo Nest and Getty Images announced that they were partnering to make thousands of high quality artist images available for developers through The Echo Nest API. Getty Images has spent years building an amazing library of artist images and now, as a result of this partnership, it is easy for developers to use these images in music apps.

I took the new Getty Images API for a spin and built a couple of apps that show how easy it is to build an Echo Nest app that uses the images. First, I built an app that shows images of the top hotttest artists:




Next, since Getty Images has some really awesome images going back to the classic rock era, I adapted my app to show some Getty Images for some of our top classic rock artists:




We’ve extended our image API to return additional information with the Getty images. There’s image attribution information, image size information, and some curated image tags that you can use to select the best image for your app. Tags include landscape, portrait, black-and-white, solo, award, performance, color and many more.

The Getty Images are really top notch.  It’s a great addition to The Echo Nest API. I’m excited to see how developers will use this asset.

, ,


One Minute Radio

If you’ve got a short attention span when it comes to new music, you may be interested in One Minute Radio. One Minute Radio is a Pandora-style radio app with the twist that it only every plays songs that are less than a minute long.  Select a  genre and you’ll get a playlist of very short songs.


Now I can’t testify that you’ll always get a great sounding playlist – you’ll hear  intros, false starts and novelty songs throughout, but it is certainly interesting.  And some genres are chock full of good short songs, like punk, speed metal, thrash metal and, surprisingly, even classical.

OMR was inspired by a conversation with Glenn about the best default for song duration filters in our playlisting API.  Check out One Minute Radio. The source is on github too.

, ,


Getting the Hotttest Artists in any genre with The Echo Nest API

If you spend a few hours listening to broadcast radio it becomes pretty evident who the most popular pop artists are.  You can’t go too long before you hear a song by Justin Timberlake, Rihanna, Bruno Mars or P!nk.  The hotttest pop artists get lots of airplay.  But what about all the other music out there?  Who are the hotttest gothic metal artists? Who are the most popular Texas blues artists?   Those are the kind of questions we try to answer with today’s Echo Nest demo:  The Hotttest Artists


This app lets you select from among over 400 different genres from a cappella to Zydeco and see who are the hotttest artists in that genre.  The output includes a brief bio and image of the artist, and of course you can listen to any artist via Rdio.   The app is an interesting way to explore all of the different genres out there and sample some different types of music.  The source is available on github. The whole thing including all Javascript, html and CSS is less than 500 lines.

Try out the Hotttest Artist app  and be sure to check out all of the other Echo Nest demos on our demo page.

Leave a comment

Getting Artist Images with the Echo Nest API

This week I’ve been writing a few web apps to demonstrate how to do stuff with The Echo Nest API.   One app shows how you can use The Echo Nest API to get artist images.  The app is nice and simple. Type in the name of an artist and it will show you 100 images of the artist.


The core code to get the images is here:

function fetchImages(artist) {
    var url = '';

    var args = { 
            api_key: 'MY-API-KEY',
            name: artist,
            results: 100, 

    info("Fetching images for " + artist);
    $.getJSON(url, args,
            function(data) {
                if (! ('images' in data.response)) {
                    error("Can't find any images for " + artist);
                } else {
                    $.each(data.response.images, function(index, item) {
                        var div = formatItem(index, item);
            function() {
                error("Trouble getting blog posts for " + artist);

The full source is on github.

With jQuery’s getJSON call, it is quite straightforward to retrieve the list of images from The Echo Nest for formatting and display.

The most interesting bits for me was learning how to make square images regardless of the aspect ratio of the image, without distorting them. This is done with a little CSS magic. Each image div gets a class like so:

        .image-container {
            width: 240px;
            height: 240px;
            background-size: cover;
            background-repeat: no-repeat;
            background-position: 50% 50%;

Try out the Artist Image demo , marvel at the square images and be sure to visit the Echo Nest Demo page to see all of the other demos I’ve been posting this week.

1 Comment

Controlling the artist distribution in playlists

The Echo Nest engineering team just pushed out a new feature giving you more control over the artist makeup in playlists.  There is a new parameter to the playlist/static API called distribution that can be set to wandering  or focused.   When the distribution is set to wandering the artists will appear with approximately equal distribution in the playlist. If the distribution is set to focused artists that are more similar to the seed artists will appear more frequently.  When combined with the variety parameter, you have excellent control over the number and distribution of artists in a playlist.  If you want to create a playlist suitable for music discovery, create a playlist with high variety and a wandering distribution.  If you want to create a playlist that more closely mimics the radio experience choose a low variety and a focused distribution.

I’ve put together a little demo that lets you create playlists with different levels of variety and distribution settings. The demo will create a playlist given a seed artist and show you the artist distribution for the playlist.  Here’s the output of the demo with distribution set to focused:

You can see from the artist histogram that the playlist draws more from artists that are very similar to the seed artist (Weezer).  Compare to these results from a wandering playlist with the same seed and variety:

You can see that there is flatter distribution of artists in the playlist.   You can use variety and distribution to tailor playlists to the listener.  For instance, you can give the Classic Rock Radio experience to a listener by setting variety to relatively low, setting the distribution to focused and seeding with a classic rock artist like Led Zeppelin.  Here’s the artist distribution for the resulting playlist:

That looks like the artist rotation for my local classic rock radio.

Give the demo a try to see how you can use variety and distribution to match playlists to your listener’s taste.  Then read the playlist API docs to see how to use the API to start incorporating these attributes into your apps.

The Demo:  Playlist Distribution Demo (source)

, , , , ,

Leave a comment

The BPM Explorer

Last month I wrote about using the Echo Nest API to analyze tracks to generate plots that you can use to determine whether or not a machine is responsible for setting the beat of a song.   I received many requests to analyze tracks by particular  artists, far too many for me to do without giving up my day job.   To satisfy this pent up demand for click track analysis I’ve written an application called the BPM Explorer that you let you create your own click plots.  With this application you can analyze any song in your collection, view its click plot and listen to your music, synchronized with the plot.  Here’s what the app looks like:

Check out the application here:  The Echo Nest BPM Explorer.  It’s written in Processing and deployed with Java Webstart, so it (should) just work.

My primary motiviation for writing this application was to check out the new Echo Nest Java Client to make sure that it was easy to use from Processing.   One of my secret plans is to get people in the Processing community interested in using the Echo Nest API.  The Processing community is filled with some  ultra-creative folks that have have strong artistic, programming and data visualization skills.   I’d love to see more song visualizations like this and this that are built using the Echo Nest APIs.  Processing is really cool – I was able to write the BPM explorer in just a few hours (it took me longer to remember how to sign jar files for webstart than it did to write the core plotter).    Processing strips away all of the boring parts of writing graphic programming (create a frame,  lay it out with a gridbag, make it visible,  validate, invalidate, repaint, paint arghh!). For processing, you just write a method ‘draw()’ that will be called 30 times a second.   I hope I get the chance to write more Processing programs.

Update: I’ve released the BPM Explorer code as open source – as part of the echo-nest-demos project hosted at google-code.  You can also browse the read  for the BPM Explorer.

, , , ,