The next Intel Inside
Things were simpler back in the good old days. To play music I just loaded up XMMS, added a couple months worth of mp3s, set it to shuffle and let it go, playing the same dozen songs in a random order. The world has since moved on, and I no longer care to jump through the hoops required to run something like XMMS in this land of tomorrow. iTunes-style media players are now the norm, so the time came to find a new piece of software for my music to call home.
Of music players I’ve tried a few: I started of course with the one that came with GNOME, Rhythmbox (crashy and awful), and moved on from there to Banshee (doesn’t support the tags I need), Quod Libet (too slow with more than a couple thousand songs), Songbird (why the hell is it a web browser?), MPD (why do I need to configure a server?), XMMS with the old gtk libraries (yep, still sucks) and Exaile (tags again), each time pointing the new player at my music library and finding something to kill some time while the import ran, like baking a loaf of bread or learning to speak Mandarin (I now know how to count to ten and tell someone they’re drunk). I eventually settled on Amarok, a media player for KDE that Fedhat can run in GNOME without too much trouble, a player that runs well with a collection of 20,000+ files after I replaced the default backend with a mysql database (sigh), that tries to look a lot like iTunes, that doesn’t allow the full freedom of tags found in something like Quod Libet but generally gets it close enough, or at least close enough that I can stick all those techno mixes under “Various Artists” and leave it at that, a player that does most things pretty alright and is just all around fairly easy on the eyes and fairly easy to use. Finally having a music player that makes metadata worthwhile, I took the time to tag all of my music (Quod Libet actually did come in handy there; the Ex Falso tagger it comes with was very nice for automating most of the tedium), and, since one Gordian knot is never enough, I went ahead and implemented the idea that’s been knocking around in my head ever since I heard it from Olin, my compilers prof: space is cheap, so just rip all of your CDs (above) to FLAC and never worry again about the codec of the week. So now I have a terabyte-and-a-half RAID a quarter of the way filled with a bunch of music sorted, tagged, filed, sealed and signed in triplicate, so what now?
I’ve had a few words, many of them four letters, to say about Web 2.0 in the past. The core tenet of this grand new paradigm is that content is no longer the bailiwick of that oppressive Old World aristocracy, the experts of their fields or the people that can write pretty good; content is generated by the people bringing us all into a bold new network where everyone is connected and no one knows a thing. Despite, however, my bitter words for this affront to literature and human knowledge, there is something about Web 2.0 that I find compelling: tags. A tag is simply a word associated with a thing, like that list of nonsense you see displayed next to Flickr photos or Youtube videos or Amazon reviews. The first inclination is to use such a system as a sort of generic filing system, but it’s no good for that. Tags are at their most powerful and most Web 2.0ish when anyone can add one, and that makes them useless for filing: people are idiots, and you’re going to end up with a lot of imperfect information. And that’s what makes them work. del.icio.us demonstrates this well; I don’t use the site, but I like the idea. If you give everyone the power to tag anything with any label, you’ll end up with a lot of junk, but people tend to have similar ideas for similar things, and eventually patterns will emerge. Ordo ab chao, and that’s really something neat even if I still think that user-driven content is mostly a load of crap.
One of the things that amarok can do pretty well is interact with last.fm, a kind of Web 2.0 music service. The idea is that a bunch of people submit the music that they’re listening to, and based on that and the music you listen to the site can make some guesses on what else you might care to hear. I imagine that the actual algorithm has more to do with advertising dollars than anything, but all the information is there; someone who follows up an album of Norwegian black metal with some show tunes is an outlier, but a hundred people who do that is a pattern.
So I’ve created a last.fm profile, and now we come to my problems with it. One of its functions is to show the world all the crap you’ve been listening to for the past few days, and that’s been something that I need to get out of my head. I used to run a homemade app to do much the same thing back when I lived with Moshe and got tired of him asking what I was listening to, so I’m familiar with the experience of the world knowing I just put together a playlist of eurodance and 90’s skate punk, but I still fear that knowing someone can see it might interfere with my choices. Everybody’s taste in music sucks, and I’m certainly no exception. I need to just forget that the world is watching and let the music play, and I hope I can do that.
Amarok has a couple of ways it can take advantage of last.fm’s information: it can play the last.fm generated playlist, sending back all the information on songs skipped or played, or it can generate a playlist of its own from your local collection based on artists related to the ones you’re listening to. I’ve found a problem with both in terms of diversity. Basing recommendations on a particular song and more recommendations on those recommendations tends to get it stuck in a genre rut. The local mode is especially bad at this: I made a playlist with a handful of songs for which Amarok didn’t have anything in particular to suggest, and then all of a sudden it hit something it could work with and decided that it’s new wave night. The last.fm stream will hopefully be better able to handle local anomalies once I’ve fed it more data. Maybe I’ll get something out user-driven content yet.