London Music Hack Day — our audio API put us in the driver's seat

Tuesday, 6 December 2011
by matthias
filed under Trends and Data
Comments: 10

The Music Hack Day didn't just see us arrive with a lot enthusiasm, but also with a brand new API extension that exposes audio features, similar song playlists and Spotify URIs. And we won prizes!


Photos by Thomas Bonte

All awesomeness hype aside, the Hack Day really was a nice experience, and even the 3 hour marathon that was Sunday's demo session was a joy to watch because of the great quality of the hacks. It was my first hack day, and I was truly impressed (see Wired's and Insider's take on it). So what did we do?

My oh my, an API!

You may have noticed from my previous blog posts (Anatomy of the UK Charts, Parts 1, 2, 3, 4 and 5) that we have put quite a lot of effort into finding a mix of well-tested and newly developed audio features that capture distinct attributes of audio recordings, such as energy, harmonic creativity and smoothness. Just to be totally clear: no Last.fm tags and no Last.fm scrobble magic are involved, only pure audio features, retrieved directly from the original recordings.

We calculated 21 of these features on 2 Million of our most scrobbled recordings and Mark built a neat, very fast service to host them. Since Friday this service has been publicly accessible through our outward-facing Last.fm API, thanks to Duncan's API magic. You can either ask for certain feature ranges and retrieve a list of songs that satisfy them, or you can retrieve the audio features themselves by providing the track's artist and title. Of course, bringing even the shiniest of APIs doesn't qualify as a hack...

Driver's Seat — steer your music playlisting!

Since I'd been very impressed with Spotify's new app integration I persuaded Sven to help me build a hack that nicely exposes how good our new API is at audio feature playlisting. And because it puts you in control of steering your music we called it Driver's Seat (screenshot). Below you see a video of the resulting Driver's Seat Spotify app in action.

According to your preferences you select a preset, or adjust feature sliders and hit "Go get playlist!" and the app will fire a http request to the Last.fm API that looks like this

http://ws.audioscrobbler.com/2.0/?method=track.findbyaudiofeatures&filter[]=bpm:80:91...

The result is a list of tracks that we then get the Spotify URI of using another brand new API of ours that loves requests such as this:

http://ws.audioscrobbler.com/2.0/?method=track.getPlaylinks&artist[]=radiohead&track[]=creep...

We really liked our hack because it allows music discovery to be uninhibited by artist genre or history — it just gives you the kind of music you request. The Spotify team liked it so much that they gave us their hack prize, which we share with a hack called CTRL — two of the 18 Spotify hacks.

PitchFork Effect

Sven and I weren't the only ones hacking away though. Alex produced some intriguing visualisations of how PitchFork reviews influence Last.fm listening stats... and received one of the two prizes from MusicMetric. Marek also made a cute little virtual album store as an antidote to the all too modern iTunes and Amazon stores. And Coffey re-worked a previous hack of his to scrobbling tracks at gigs you go to: it uses the set lists available through setlist.fm's API—find the hack here.

Comments

  1. João Paulo Pesce
    6 December, 12:10

    First music hack day that is near me and I missed it, damn :(

    João Paulo Pesce – 6 December, 12:10
  2. Alainn
    6 December, 14:57

    That looks pretty nifty, would love to get my hands on that. Minor question: is it supposed to give only about ten tracks or was that to limit the amount of data?

    Alainn – 6 December, 14:57
  3. Matthias Mauch
    6 December, 15:18

    @Alaton: we ask the API to return 20 tracks, and the subset of those that we can find Spotify URIs for is listed.

    We chose 20 because that’s the maximum number of tracks that the URI lookup API allows us to post, but, of course, one could do several separate lookups to get more tracks.

    So, in short, there’s not actual technical limitation because not much data is involved. The question is: how many more are useful?

    Hope this helps.
    Matthias

    Matthias Mauch – 6 December, 15:18
  4. Allan
    9 December, 07:30

    The application looks great and seems to have a lot of features. I would love to have it.

    Allan – 9 December, 07:30
  5. Karl
    11 December, 23:55

    I can’t seem to find the documentation for these new calls on the api site (findbyaudiofeatures)? http://www.last.fm/api

    Is there any more info on this?

    Karl – 11 December, 23:55
  6. Matthias Mauch
    12 December, 11:57

    @Karl: Thanks for your interest – you’re right – we wanted to first test drive the new API at the hack day, so (for now) more detailed information is not officially released. I expect that we will have more to say over the next few months.

    Matthias

    Matthias Mauch – 12 December, 11:57
  7. Karl
    14 December, 13:27

    Hey Matthias, thanks for the information. Be sure to keep us posted, looking forward to see this addition to the api.

    Really enjoyed the “Anatomy of the..” series and think that a lot of interesting stuff could come from making the information available.

    Karl – 14 December, 13:27
  8. Kristofer Carlson
    28 December, 19:43

    This is nice, but what I want is a Last.fm app that posts my scrobbles to Facebook and/or Google+.

    I know this ages me, but I like to listen to albums, not tracks. Last.fm is a good way to discover new music, but having discovered it, I’d like to have the option to listen to an entire album, like I can do on Spotify. If you gave me this option on Last.fm, I wouldn’t have to subscribe to Spotify.

    Kristofer Carlson – 28 December, 19:43
  9. du hoc uc
    1 January, 19:09

    I missed this event! I so disapointed……

    du hoc uc – 1 January, 19:09
  10. wctube
    5 January, 20:15

    The application looks great and seems to have a lot of features. I would love to have it…

    wctube – 5 January, 20:15

Comments are closed for this entry.