My collection of music files has grown organically over the years, and it has no consistent tags nor file names. Especially, older files may have weird ID3v1 tags or no tags at all, which makes them inconvenient to use with tag-based browsers (like the "Music catalog" display of Rhythmbox). Can you suggest any good program for mass re-tagging of the files?
Ideally, I would like the following features in a re-tagging program:
It lets me choose an arbitrary set of files and re-tag them all, updating tag values selectively (e.g., only update "Artist")
It can populate tag values from the filename or the containing folder name (e.g., for files organized like
<album>/<track no.> - <song name>
)It can detect whether there are inconsistencies between ID3v1 and ID3v2 tags (e.g., the song title is different in the two versions)
It lets me search for songs on CDDB or MusicBrainz and then use the fetched metadata to populate the tag values.
Bonus points if it has a two-step approach: first populate tag values from filename or MusicBrainz, then let me edit them, finally re-tag files.
I understand that 1. and 2. are pretty standard, but what about points 3.-5.?
Puddletag should do everything you asked for. There's also an article on it at Ubuntu Geek
MusicBrainz Picard can automatically identify albums via audio finger-printing. If the music is not popular enough to be entered into their open database, you can add an entry and finger-prints for future users.
EasyTag is the most comprehensive tagger I've found for Ubuntu, and I've tried many. It does lookups from CDDB and allows for your #5 criteria, which is probably my favorite thing about it. It can format file/directory names based on tags and vice versa. It has a learning curve, but once you get it down it's by far my fav (be sure to enable the filebrowser pane!). It's available in Ubuntu Software Center/Synaptic.
MusicBrainz Picard is another tagger, which does auto lookup, but it doesn't come close to meeting all your requirements. However it is a good tagger, but can be testy at times... It is also available in the repositories.