262A Look at the Last.fm API: Day 4 of A Week of GenreCodex
On: February 4, 2011
Under: GenreCodex, Major Studio
As identified in Phase 1 of the GenreCodex project, Last.fm is a prime contender for the data source that would be able to feed a living, evolving map of music. If you are not familiar with Last.fm, it is a music personalization site that uses a desktop application which keeps a record of the music you play (on your computer in a program like iTunes, your iPod, or even your Phone), referred to as a “scrobble.” As you scrobble more music, Last.fm uses that data to recommend new music to you (remarkably accurate, much like Pandora, although the recommendation algorithms likely differ significantly), tell you how much you have in common with other Last.fm users (the Tasteometer), and perhaps most importantly to GenreCodex, serve as a token that affirms the existence of a track, album, and musician. As each scrobble is built from the meta data stored in each track’s ID3 tags, they contribute to a massive, labyrinthine, almost fractal-like wiki. Last.fm houses what must be hundreds of thousands of pages for each unique artist, album and track collected from their massive global user base. The crucial determining factor of the individual scrobbles provides the key structural element, as scrobbles are aggregated into play counts. Massive alternative rock bands like Coldplay and Radiohead dominate the upper-echelon of most scrobbled music, but there is a presence afforded to any track that gets scrobbled, down to the virtually unknowns who barely have more than a handful of listeners. As such, Last.fm provides a relatively stratified sample of massively crowd-sourced music information, not to be taken literally, but rather comparatively within itself. Comparing the scrobbles of one musician to the myspace plays of another, for instance, would be totally pointless, but a comparative look at both’s scrobbles can give an idea of listenership more clearly than most other readily available sources.
The Last.fm API is free to anyone using it for non-commercial purposes. Application is easy, and can be done in moments. With an API key, one could build a web app or program using any of the following data forms, each with their own range of command methods: Album, Artist, Auth, Chart, Event, Geo, Group, Library, Playlist, Radio, Tag, Tasteometer, Track, User, Venue. Interestingly, perhaps alarmingly, there is no obvious area for genre. However, there is a slight discrepancy between the nomenclature of Last.fm, as “tags” are used to identify both the collective data for a track or scrobble, and what would be considered the genre. It appears that genre is something that is added by dedicated listeners (whose motivations, it can be interpreted, are similar to those fueling the Wikipedia project) on individual artist pages. The Last.fm API does indeed hold the data, but it is not as obvious in the list of data types; rather, it is hidden within individual call methods within many of the data types. For example, there is a call method called “.getTopTags” within the Artist, Album, User, and Track data, which contains the genre information.
Here are two important and interesting projects I have found this week that use the Last.fm API as a data source:
The Music Maze, by Paul Lemere, Echo Nest
Listening History by Lee Byron