Posted by Neil Crosby on July 24, 2006 11:30 PM
[Edit: Just so you know, this is a shameless advert for my latest project.]
Most people who know me will tell you that I enjoy listening to music. I listen to it all the time, and I have a fairly sizeable collection of albums sitting on my computer. Unfortunately, the size of it means that I can’t always remember everything that’s available to me. This is a problem.
Quite often I’ll want to play a particular type of song. Maybe something relaxing to go to sleep to, maybe something a bit raucous to get my creative juices flowing. I have playlists all ready and waiting for me for these occasions. But, over time, these playlists get staid. I know that there are other songs in my collection that would fit into those playlists, but really I’d be stumped to say what they were unless I just happened upon them.
So, three years ago, I came up with an idea. And personally, I’d say it was a bloody good one. The idea was to build an application that I could tell what mood I was in whilst playing some music. This application would watch everything I listened to, keeping track of how I was feeling. Then, later on I could tell it how I was feeling then and it would put together a playlist that would fit my mood there and then.
“But that’s easy!”, I hear you cry. “Where’s the innovation in that?”
Well, the tricksy part is that whilst you’re listening to your music, the application is busy taking fingerprints from all the songs in your collection. Then, when you request your mood based playlist it takes a look at the fingerprints of the songs that it knows you like listening to in that mood, compares them to the fingerprints of all the other songs in your collection and then puts together a master playlist of songs which have the same overall feeling to them. So, if you enjoyed listening to the Spice Girls whilst you were in a particular mood then the system wouldn’t try and get you to listen to Radiohead, but it might suggest Steps.
For this system, what you don’t play is just as important as what you do. So, if you consistently skipped over a particular song whilst you were in a certain mood, the system would be able to infer that you wouldn’t want to listen to things like that whilst you were feeling that way. And conversely, playing something to death whilst your were in a certain mood would mean that you’d get to listen to lots of similar songs if you asked the system to create you a playlist based on that mood.
Two years ago, for my dissertation at university, I built this system. It wasn’t the first system to do a similar thing, and judging by The Metro this morning it won’t be the last, but I do know one thing about it. It worked.
Today I’m rebuilding that system. It will be bigger, stronger, faster. I have the technology - I will rebuild it. Its name is TaoMixer.com.
If you really enjoyed what you just read, why not buy yourself something from Amazon? You get something nice for yourself, and I get a little bit of commission to pay for servers and the like. Everyone's a winner!