HacKey

What's in a key? Are you a major or a minor person? Are there keys that define your music taste or are there no patterns at all?

I've always been mildly curious about questions like this, so when I discovered the Echo Nest had a new search API that could retrieve key and mode information from song titles alone, I jumped at the chance. The project also fit my two other music hack day criteria, namely being utterly useless and involving colourful pie charts.

Try it out here!

http://users.last.fm/~matt/hackey/pie.png

Features:

  • Takes your Last.fm username as input and retrieves your "favourite songs" by combining…
  • …your top 50 tracks by playcount (overall)
  • …your top 50 tracks by playcount (last 6 months)
  • …your last 50 loved tracks
  • …and then removing duplicates
  • Queries the Echo Nest for key and mode information for each track
  • Live-updating pie chart of key distribution
  • Breakdown of major vs minor keys
  • Background gets lighter when it detects a major key, darkens for minor keys
  • Sample songs in the given key (plus mp3 samples, click to start/stop playback) when hovering over pie chart sections
  • Caches song/key data to speed up subsequent lookups

Todo:

  • Fix bug that causes HacKey to freeze on a particular song for some users FIXED
  • Shareable URLs for your results
  • Compatibility in browsers other than Safari / FF
  • Accept Last.fm tag names as input (could be interesting to compare keys across genres)
  • Find a way to look at trends over time (night vs day, history, etc)
  • Less ridiculous interface for seeing which songs map to which keys
  • Figure out why Echo Nest occasionally gets tracks / keys wrong (hey, it's an alpha search service)
  • Learn Javascript

Rough and ready hack version available here:

http://users.last.fm/~matt/hackey/



By Matthew Ogle <matt@last.fm> / @flaneur