Filesystem Metadata Doesn't Scale

Although I always use CDDB metadata in my self-ripped MP3 files, the quality of the ID3 tags in my MP3 files lags far behind the quality of the file and folder names.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2006/08/filesystem-metadata-doesnt-scale.html

About ID3 tags for disc number: It looks like TPOS may be what you want (http://www.id3.org/id3v2.4.0-frames.txt), though this may be a case of the standard far exceeding the typical implementations, so the tag may not do you much good.

Run, don’t walk over to Musicbrainz and pick up the latest version of Picard from them.

It is an album based tagger tool that will match up your albums either by metadata or by audio signature to a huge, user edited/moderated, music library. If you are working from CDs you’ve ripped this will work for you an astonishingly high percentage of the time. It can auto-tag the files as well as rename and move them if you want. And if you have some album that isn’t there (doubtful) sign up, add it in and then the next person with that album will get it too.

The moderators do a good job of enforcing the Musicbrainz naming policies. Of course it is not perfect, but you’ll be surprised at the quality.

I’ve been doing this MP3 library stuff for close to 10 years now and I’ve tried everything.

I tried Picard, and I wasn’t impressed. The audio signature matching is the only unique feature, and when I tried to do it, the app crashed on me.

Not sure where it ends up in the ID3 tag but iTunes has a field for disk X of Y.

iTunes approaches the file system from the other direction: if you let it (by enabling the Copy on Add and Keep Music Folder Organized options), iTunes will maintain a directory tree organized by artist and album, with each song named appropriately and prefixed by its track number. It it, however a one-way operation. iTunes expects you to manage your music in the richer, iTunes environment. The directory tree is offered as a convenience for when you are forced to interact with the collection via the sparse, file system environment.

iTunes has defined metadata entry for disc number. I don’t know if it’s a weird, non-standard extension, but it is there. And if I ever decide to abandon iTunes in favour of another system, I can preserve all of my iTunes data. The worst case scenario is that I have to write a small AppleScript to interrogate iTunes and build a text file (XML, CSV, whatever) with all the metadata for each file, along with the path for that file. I’m sure that whatever system would lure me away from iTunes would have some method of inputting the contents of that file. (Even if it’s just another brute-force script.) That said, that’s the worst case scenario, which is why I have no problem letting iTunes manage my music metadata.

The rich environment iTunes provides is quite enough for me. A simple listing of all the files in my music library, which I can search, sort, and filter to my heart’s delight. (And, yes, the editor offers field auto-completion based on your existing library.) And I can also customize the listings with what specific metadata I want to see in the list and what I want to leave behind the curtain of the Show Information command. With that environment available to me, I have zero interest in using the file system to find my music.

Any system involves trade-offs, of course. But I 'm happy to let the computer take care of all the bookkeeping so long as I have my sorting, searches and filters. And, for myself, iPod integration is vastly more important than Windows Media Centre. But that’s just my specific trade-off.

iPod integration

Can’t you just copy mp3s on the iPod like it’s a filesystem? What other “integration” is really necessary?

Hrm. Why do you still use Audiograbber? It was top dog back in the day, but now almost everyone can agree that Exact Audio Copy is king for the “when the data absolutely positively has to be read off the disc correctly” crowd.

And what LAME settings are you using? I started to phase out MP3 a while ago, in favor of MP4. I wish more companies coughMicrosoftcough would get on the ball and start supporting it natively.

iTunes has a field for disk X of Y.

I just tested this and it’s the TPOS field as Ned mentioned. Weird oversight on the part of MusicMonkey.

xact Audio Copy is king for the “when the data absolutely positively has to be read off the disc correctly” crowd

Well, I never had a problem with data being read incorrectly off the discs, so I see no need to switch. Data is data. Using LAME is what matters, I could care less what program shuttles the bytes over. Well, I do care that the ID3 tags are carried over, but you get the idea.

I use the default VBR settings in whatever version of LAME I have installed. Right now its 3.96. I choose VBR “level 3” which generally equates to 140 - 210 kbps depending on the song, but tends to average around 165 kbps or so. I feel that the sweet spot is 160 kbps for VBR…

http://www.codinghorror.com/blog/archives/000470.html

I’ve found that foobar2000 (http://www.foobar2000.org) is the best masstagger for my needs. The Mass Tagging engine is scriptable and can do quite a bit of useful things (one of my favourites is being able to tag all the selected files with one giant text box of metadata – with each line representing a different file; useful for copying pasting info from a band’s web page). It also has freedb tagging capabilities.

But I haven’t tried MediaMonkey yet.

I’m just over 12,000 mp3 files… ripped from my CDs with Audiograbber LAME, just as you’ve described… Even though I have perfect folder structures - I share the same pain you’ve described here… Glad others can share! :slight_smile:

I’ve been using MP3-Info Extension to quickly do ID3 updates (and file renaming). I’ve been around the block a lot looking for something easy and this does the job.

http://www.mutschler.de/mp3ext/

Ugh - and I hate the thought of Windows Explorer or iTunes wrecking my ID3s! (Even Winamp!)

Enjoy!

_dave

My biggest problem with id3 tags is the idea that every song has a single performer/composer. Obviously the artist is not “Bob Marley Bob Dylan”, it’s “Bob Marley” and “Bob Dylan”. And since most libaries are based on simple relational databases with schemas mapped to a subset of id3, even formats like ogg/flac that can support multiple artists/titles/etc or custom tags are truncated to only using the first and no custom.

"However, I do recommend switching to ASCII tags; it defaults to Unicode by default, which most people won’t need, and this doubles the size of the tags."
An extra 100-200 bytes to keep foreign songs from showing up as gibberish is a worthy tradeoff? Or no savings at all if the tag has extra padding? Iffy support is a much better reason.

An extra 100-200 bytes to keep foreign songs from showing up as gibberish

Of course! I don’t have any songs that require Unicode in my library of 11k songs. I guess what this really says is, I don’t personally listen to any Asian music… YMMV.

I have zero interest in using the file system to find my music.

I agree! The filesystem display should be nothing more than an artifact of proper ID3 tagging. Normally you’d use whatever program/UI you want to browse, sort, and play music based on the ID3 tags.

But you still need the filesystem representation at some point, otherwise your music is trapped inside a proprietary program like iTunes…

I love MediaMonkey as well. I’m sitting ar right around 74GB of music and I am fanatical about proper ID3 tags and foldre structure.

MP3s have to be in Genre\Artist\Album\Song.mp3 format, and those same ID3 tags must be correct.

MediaMonkey makes it amazingly easy to do so.

Several tools specifically support converting filenames to ID3 tags. For example, Mp3tag has this feature:

http://www.mp3tag.de/en/images/sht_optcon1.png

When I say ‘iPod integration’, I mean that when I put the iPod in its dock, iTunes automatically copies any new songs/videos/podcasts onto it. Any songs played on the iPod since the last docking have their playcounts updated in iTunes. If I’ve adjusted the star rating for any songs one the iPod, iTunes updates the local copy accordingly. If I’ve created or modified an On-The-Go playlist, iTunes creates a local copy of that playlist. And anything I’ve deleted locally gets deleted from the iPod. And it also syncs my contacts from Address Book and my photos from iPhoto.

To be honest, if I had to manually copy files onto the iPod, it would get updated maybe once every six months. I much prefer just having iTunes transparently download the five or six podcasts I listen to and transparently load them onto the iPod.

And, full disclosure, the iPod stashes it’s music in a hidden folder, with obfuscated filenames and an undefined hash-based directory naming scheme. It uses a proprietary, undocumented file to map songs to files. Since that’s actually more difficult than just copying the iTunes directory tree onto the iPod verbatim, I tend to assume that it’s a result of Apple negotiating with the music industry. Still the tools exist to pull the songs (and playlists) off the iPod – but they really don’t hold much interest for me, since the music is all, by definition, already in my carefully backed up iTunes library.

MP3 tagging is always subjective, particularly the ‘right’ tool for the job. But why on earth are you worried what CD a track was on? For me, if a track is on an album, thats it. Its not 1 to 10 disc 1, 1 - 9 disc 2, its track 1 to 19, done.

A more flexible metadata system would be preferable, a taxonomy style, polyhierarchical etc etc, so an artist could have more than one spelling. But the MP3 file isn’t the place for that. KISS in the ID3 tag.

And why do none of Musicmatch, mediaplayer and winamp support ordering playlists by ID3 Track number!?! Drives me nuts relying on sorting by filename. Corrections to me @ finnie dot co dot uk :slight_smile:

Hi,

I prefer id3-tagit (http://www.id3-tagit.de/english/index.htm) to do my tagging. It’s free, feature rich and can be controlled via the keyboard making working with it very fast.

Unfortunately, it can’t read id3v2.2 tags though, which may or may not be a serious limitation for you.

Philip