Jan 20 2008
Music players and organisers
I spent last night trying to find a music player that would do what I wanted. I didn’t think I had extremely complex or demanding requirements.
- A music library that can be loaded and queried quickly.
- A music player that can cope with the standard Ogg Vorbis and MP3 files.
- An organiser to sync the library (or a subset of it) with my portable MP3 player.
It seems number one is still beyond the abilities of most people who write these programs. Banshee reportedly has O(1) library loading in an experimental branch, but the remainder offer O(n). And n doesn’t have to get very large before you notice quite a slowdown. Exaile seems the best of the ones I tested, but really it’s just the least worst.
Everything I tested managed number two pretty well. But then, they’re music players, they should at least be able to play music files.
The third feature I want was a massive failure on all fronts. They all recognise my player as an external disk, but then they want to index the damn thing which takes forever. Rhythmbox actually hangs for some five minutes on startup (no UI response at all) until it’s finished loading all the tunes from my MP3 player — something I didn’t even ask it to do.
Exaile doesn’t actually hang while it’s indexing my player’s HD but it gives no indication that anything is happening. But five minutes later it pops back with a full list of everything on the disk. It won’t really let me sync though.
Banshee seems the best for syncing audio between different places. At least it seems to have the kind of options you’d need (manual updating, full automatic syncing). Shame it crashes stupendously when you hit the sync button, eh?
So I don’t have anything better than before. I use Exaile here because its library is pretty fast. I use Rhythmbox at work because it was the only one installed by default and it doesn’t demonstrate much slow-down with only two albums in the library. I have nothing to sync the contents of my on-computer library with my portable player. There are a bunch of separate applications that do this job for iPods but not for anything else, as far as I see. Pretty disappointing.
Banshee’s been the best for me, by a long way. It’ll read the freedesktop file on a device and sort out transcoding all automatically if you want it to. Disturbing you got the freezing problem though; I’ve only had it do that in the Podcast view.
I don’t notice a serious slowdown with about 4000 tracks on querying, either, so I guess I’ve not gotten to the mystical “bad” n value yet. There’s still a wee pause though, it’d be nice to see that excised.
Regarding the O(n) operations, probably because the software writers have never read (or paid attention to) stuff like this http://www.jwz.org/doc/mailsum.html. I guess you have a minor problem with that approach in that your files are not a continuous series of bytes, but it doesn’t seem insurmountable, just an SMP.
Also, regarding point 3, have the implementers of these pieces of software never been exposed to a revision control system? Syncing differences in file-systems has been a solved problem since before the dawn of computer time (I exaggerate, obviously).
Lawrence