For almost a year now I’ve been working on re-ripping all my CDs to lossless audio files (FLAC) and simultaneously creating high quality VBR mp3s. For my ripping I’ve used what I believe are the best 3 rippers available; X Lossless Decoder (OSX), Rubyripper (Linux/Ubuntu), and Exact Audio Copy (Windows).
Problem
That task done, the next task is the ensure consistent metadata across my entire music collection. The rippers I just mentioned all support pulling metadata down from multiple online databases, but as anyone as anal as I am about their metadata knows, automatically populated audio metadata is often incorrect and never consistent. For example, is the artist field in classical music for composer or performer? Do you prefer hip-hop, rap, or r&b? Do you want to use Rock & Roll or RockNRoll or Rock and Roll. And just cause you know they are all the same does not mean that iTunes (or whatever you use) does.
So, to fix audio metadata I resort to using the following tools depending on the task; iTunes + GimmeSomeTune, PicardTagger and Mp3tag.
Solution 1: iTunes + GimmeSomeTune

I use iTunes to play my music and to sync with my iPhone and iPod, so its to be expected that I do some of my music tagging work in iTunes. If it is a simple, manual task like renaming a couple tracks names, modifying an album title or artist, etc… Then I just use the tag editing functions built into iTunes. This also works fine for manually adding album art.

GimmeSomeTune is a nice little iTunes plug in that automagically adds metadata to tracks that iTunes plays. I have mine configured to add lyrics and album art if they are missing. I would estimate that this works around 75% of the time. The other 25% is a mixture of GimmeSomeTunes not finding the lyrics or album art for my music and finding the wrong lyrics or art. In the later case I manually go in and fix the error or resort to using one of the two following applications.
One thing to note is that the GimmeSomeTune website says that the app is being rewritten from the ground up.
Solution 2: PicardTagger

PicardTagger is nice because it works onall platforms and it can try and discover what a track is based solely on the music file (sorta like how shazam). It can also use whatever metadata is already in a track (album name, artist, track number, track name) and search for the rest of the data. The problem with Picard is that it only works against the MusicBrainz database, which does not always have what you want, or may not be able to find your music because of the way that the database is set up for searching.
Another bonus is that PicardTagger has a build for all platforms.
Solution 3:Mp3tag

This is (for me) the big dog. The best music tagger I’ve seen. Some notable features that I have use are:
- It searches multiple music dat abases (Amazon, discogs, musicbranz and others),
- it supports every audio format I can think of, it automatically downloads music art,
- it supports all tag types, it can export and import music data from text and html,
- it can be used to infer metadata from filenames or rename files based on metadata,
- text editing and replacement features
And all these functions can be be run in batch over subsets or your music collection or over the whole thing. Basically, if Mp3tag doesn’t do it, its time to start writing code.
The one drawback is that Mp3tag only has a windows version.
One last thing
Using either Picard or Mp3tag would not work if iTunes didn’t scan audio files for changes. Thankfully it does. Right before playing a file iTunes checks if it has been modified, if so it reads the files metadata and updates the iTunes music database. Apple, please never take this away!
Happy Tagging…