Andrew Trembley (bovil) wrote,
Andrew Trembley

Learning Curve...

I think I've finally figured out a nagging problem I've been having with iTunes, and even fixed it.

It's all got to do with ID3 tags.

The ID3 standard isn't a bad standard, it's just got its history of bad implementation.

"ID3 v1" wasn't really even a standard. It was something a guy hacked out on a weekend to extend the MP3 file format. It was dirt-simple, but it was also very limited. Then somebody gave it a name.

"ID3" became "ID3 v1" after some folks proposed a more flexible and efficient way to store tags. ID3 v2 has a developer community working to maintain a standard, and they're not doing a bad job.

So Apple was one of those companies with a flawed ID3 v2 implementation. There were a few bugs in their v2.3 implementation, and a lot in their v2.4 implementation. They've since (from what I've seen) done a lot to correct this in iTunes 7. Even with the fixes, there's still an issue: some MP3 files have ID3 tag information that iTunes can't update.

This isn't normally an issue. In addition to using the ID3 tags in a file, the primary repository for track information is the "iTunes Library," an XML file that stores all the track information you enter into iTunes (and all your playlists).

It's not a problem until you upgrade iTunes to a new version that uses a heavily revised iTunes Library format. In some upgrades, iTunes validates the Library information against the ID3 tags, and if those tags aren't up-to-date your Library data can be reverted to old information. In addition, some bad ID3 data can render an MP3 file unreadable in your upgraded iTunes, and iTunes can "lose" tracks if they can't be validated.

After my last upgrade, I noticed that some albums were missing the "of #" portion of the track information. Some albums were missing tracks. Looking into the iTunes Music directories, the tracks existed, but Windows was showing ID3 information that didn't match what I had in iTunes. I updated track information, but it didn't appear to be saving to the files.

After a bit of searching, I found some utilities that could "zap" the ID3 information from MP3 files. Because the iTunes Library stores a vast amount of track meta-data, it's (relatively) safe to zap the meta-data from the MP3 files and use "Convert ID3 tags" in iTunes to write new ID3 v2.4 tags to the files after they've been zapped. Even the unreadable "lost" tracks could be retagged and re-added to the iTunes Library after being zapped.

On the down-side, that loses all the album artwork that's stored in the ID3 tags. It doesn't lose album artwork downloaded from the iTunes Music Store (using "Get Album Artwork"). Now I'm replacing album artwork on a lot of albums that iTMS doesn't know about. I've still got a lot of it stored outside iTunes, which makes things a bit easier.

On the up-side, I shouldn't have to go back and fix tons of data after my next upgrade, or the one after that. All my ID3 tags are in ID3 v2.4, and they're all writeable by iTunes.

Of course, after all this, I found out one other thing. I can't see the meta-data in Windows Explorer. None of my MP3 files have ID3 v1 tag information anymore. It turns out that Windows XP Explorer can't read anything newer than ID3 v1 tags. Talk about lame.

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded