Dec 15 2007
Automated music for skiing with
Last week I was discussing choosing music for a “skiing playlist” (or some similar mood-based list) with Helen and her dad. It’s a really hard task if you’ve got gigabytes of music at your disposal to find the exact subset that’ll you make you feel on fire as you woosh down the pistes. (I’m going entirely on the opinions of others and idle speculation here. I have never been skiing so I don’t know what it feels like.)
Is there an automated way to make the computer create a suitable list for you?
I thought initially of spam filters. Bayesian classification allows you to create general sets of things you like (messages from friends) and dislike (viagra adverts) and the training system gets better at distinguishing these when you help it along.
Why not do the same with music? General categories that come to mind include: tempo, artist, genre and play frequency. Thus you can easily ignore songs that you rarely listen to, all 35-minute prog-rock songs, anything by Bach or Vivaldi, and so on. Has anyone done something like this?
A quick search reveals a Master’s thesis for something called AutoDJ which seems to be doing exactly that. The abstract says:
This paper presents AutoDJ: a system for automatically generating music playlists based on one or more seed songs selected by a user. AutoDJ uses Gaussian Process Regression to learn a user preference function over songs. This function takes music metadata as inputs. This paper further introduces Kernel Meta-Training, which is a method of learning a Gaussian Process kernel from a distribution of functions that generates the learned function. For playlist generation, AutoDJ learns a kernel from a large set of albums. This learned kernel is shown to be more effective at predicting users’ playlists than a reasonable hand-designed kernel.
Seems hopeful, though I honestly haven’t read through the rest of it in any detail. I doubt I would understand it anyway: my knowledge of all that stuff is, ah, ropey, to put it charitably.
Further research also reveals general Bayesian classifier libraries (like Reverend, written in Python) which can be quickly bent to your will. Combine that with, say, the iTunes metadata gleaned from its music library file and you could probably work something out fairly quickly.
I should really stop there before I do something stupid like “looking into it”. Ahem.
Comments Off