Lucene enabled Picard

In the last couple of days I’ve stuffed Lucene into Picard and it has given me some quite amazing results. I’ve opened a collection of untagged files and watched it open the right albums and populate it with tags automatically. Mind you, none of the tags were previously tagged with MB ids. Plain amazing!

I have this hip-hop compilation that my friend put together and its utter crap — duplicates, many files without tags, crappy spelling and mostly from greatest hits albums. Ick. The original tagger identified less than 15% of the tracks. The new tagger identifies 50% – 60% of the tracks — that’s a really good rate for this crappy collection.

Continue reading “Lucene enabled Picard”

Trod trod trod

I have Picard starting up on Gentoo linux! Finally sorted out some permission problems and got the last of the requirements installed, and it runs! Well, almost. I can’t actually do anything; dragging files has no effect, the application complains a bit and won’t shut down properly; but still, progress! On the Mac, I’ve managed to work around some Python issues with respect to case insensitive filesystems, but now wxPython won’t compile, so I’ve taken a break from that and turned to the Windows front: I’m installing Windows XP into a VirtualPC as I write.

As an aside, I’ve almost got the my MusicBrainz test server up and running again, having some issues with the database import though. I forgot how many perl modules you need to install to get this thing running, but it only has to happen once.

They're not barriers, they're challenges

Mac OS X: I’ve decided Fink can suck er .. something rancid, and I’ve gone down the path of compiling everything from scratch, including gtk+2 and all of its dependancies, and Python. Now that I’ve got that all out of the way, it turns out that OS X has it’s own version of Python, and this version of Python doesn’t play ball with the ctypes package. Ah well, getting closer, slowly.

Lucene rocks!

I’ve been playing with the Lucene text indexing system (in particular, I’m playing with PyLucene, which is a GCJ compiled version of Lucene with Python bindings). Lucene does text searching really well and its fast!

Eventually I’d like to use Lucene to power the MusicBrainz searches as was as building a copy of it into Picard. Picard? Yes! Lucene is so good, that you can give it a track title and chances are its going to find the right track. My idea is this:

  1. Cluster new files and determine which artists these files cover.
  2. Download and cache the metadata for the artists locally, and build a lucene index of it.
  3. Throw each of the tracks at lucene to see what it can match.
  4. If nothing matches, maybe do a full DB search via the web service or do a TRM calculation.

I’m excited by this — the proof of concept looks fabulous. Executing it on the full scale where things are getting cached and locally indexed, is going to be a fair amount of work. Unfortunately.

But, this gives me hope that Picard will have some serious brainz under the hood. 🙂

Two steps forward, one step back

I’ve been trying to set up various environments to install Picard (Mac OS X 10.3, Gentoo linux, and Windows XP via VirtualPC on the Mac). It’s been a rather trialing process…

I’ve been trying to set up various environments to install Picard (Mac OS X 10.3, Gentoo linux, and Windows XP via VirtualPC on the Mac). It’s been a rather trialing process…

Continue reading “Two steps forward, one step back”