ID3 tag Version Differences

GO TO ADMIN PANEL > ADD-ONS AND INSTALL VERTIFORO SIDEBAR TO SEE FORUMS AND SIDEBAR

cucuzza

Member
Joined
May 17, 2010
Messages
52
Points
6
Can someone help me understand the differences between ID3 tag versions (more specifically v2.3 and v2.4)?

My MP3 collection seems to have a mix of these versions and sometimes data seems to get "lost" depending on ID3 tag version used. How do I ensure that I input the tagging I want and that those tags are permanently written to the file (and won't do some weird voodoo where it seems like the tags are written but then when I reload the file later it "resets" or "reverts" back to some other state)?
 

cjmnews

Moderator
Staff member
Moderator
Joined
Apr 26, 2006
Messages
10,022
Points
63
Location
Arizona
v2.3 is the most compatible. Almost every application handles these properly, as long as they were written in the last 7 years or so. v2.4 is the latest, and the application support is more sparse, but growing.

The voodoo you need to ensure your tags are up to date is to force iTunes to write out the iTunes data into the ID3 tags for MP3 files. iTunes DOES NOT do this by default, which causes the reverting of tags when you play the song, so you have to update your MP3 files manually if you update the data in iTunes.

Here are the steps to force iTunes to write out the metadata to the MP3 files.
  • Click on Songs in the left column to see the tracks.
  • Click on View->Show View Options and put a check mark next to Kind and close the window.
  • Click on the Kind header above the tracks to sort by Kind.
  • Click on the first MPEG audio file
  • Scroll down to the last MPEG audio file
  • Hold the SHIFT key and click the last MPEG audio file to select them all
  • Click on File->Convert->Convert ID3 tags
  • Put a check mark next to ID3 tag version, set the version to v2.4 in the drop down box
  • Click OK.
You can of course do this to a limited number of MP3 tracks instead of all of them.
 

cucuzza

Member
Joined
May 17, 2010
Messages
52
Points
6
So, you're saying the solution for iTunes to permanently/force write the tag information is if ALL MP3s are converted to ID3 v2.4? Does that, in fact, permanently solve it?

It seems like iTunes reverts randomly. Is there a way to tell WHICH files will have its tags reverted (and WHICH tags will be reverted) if it's ID3 tag is not v.2.4? It's a bit annoying because I maintain my large library meticulously, but I do a check of all tags once every few months and seemingly different files have different issues at different times. It's very frustrating to not be able to proactively prevent it. I guess I'll have to convert my entire library to ID 3 v2.4 (and incorporate this ID3 tag conversion into my process when maintaining future income MP3s).
 

cjmnews

Moderator
Staff member
Moderator
Joined
Apr 26, 2006
Messages
10,022
Points
63
Location
Arizona
iTunes can't be setup to "permanently fix" the problem. What I am saying is MP3 files do not get their ID3 tags updated automatically by iTunes. You have to force iTunes to write them out to the files.

Yes the tags revert from the correct iTunes tags to the incorrect ID3 tags when the MP3 files are played if you DON'T force iTunes to write it's data out into the ID3 tags.

You can use v2.3 or v2.4 either will work.

The root of the problem is:
  1. iTunes has a database of information (the iTunes Library)
  2. The song files have embedded information (ID3 tags for MP3, m4a/b/p files have tags too)
  3. iTunes automatically updates the changes in the m4a/b/p song files
  4. iTunes DOES NOT automatically update the changes in the MP3 song file ID3 tags.
  5. iTunes shows you the MP3 information from the iTunes Library, until the song is played.
  6. iTunes reads the ID3 tags from the MP3 files when the song is played and shows the ID3 tags instead of the library information (revert)
  7. iTunes updates the library with the information from the ID3 tags. (aka: revert)
Apple could fix this, but they have chosen not to fix it for 10 years and probably will never fix it.

Just go through the bulleted steps to make the ID3 tags match the information from the iTunes Library. That will resolve the problem until you add new MP3 files and alter the iTunes Library and forget to update the ID3 tags manually. If you use the bulleted steps every time you update song information in MP3 you should not see the reverting of tags any more.
 

phil_smith

New member
Joined
Feb 6, 2022
Messages
1
Points
1
I will tell you the most important difference between v3 and v4. V3 has a bug which is fixed in v4, but the fix may break older software.

ID3 tags are meant to go in front of mp3 files. Mp3 files are arranged in frames. Each frame begins with "synch bits" which tell mp3 players where each frame begins. The synch bits are 11 or 12 consecutive 1s. They do not need to start on a word or byte boundary, they can be anywhere in the file stream. The designers of ID3 knew that they could prepend anything to an mp3, as long as it didn't have the synch bits. So, for numbers, they designed a "synch-safe" scheme. Simply, bit 8 of every byte holding a numeric value is set to 0, and the other bits shifted to the left. Here's an illustration of how that works:

0xxx xxxx 0xxx xxxx
<-dcb a987<-654 3210


The problem was that in v3 they didn't specify that frame lengths were sync-safe. This leads to the possibility that a frame length could contain 11 consecutive 1s. If the length were 2047, for example, an mp3 player would interpret that as a mp3 frame, and, presumably, a very ugly sound would come out. There are other numbers which could cause this problem: 4094, 8188, 16376, etc. Now, the likelihood of this happening is low. Obviously, the odds against this happening are enormous, and I know of no examples of it actually occurring. Still, they fixed it v4. The v4 specs say that frame lengths are synch-safe.

And that's the problem. If an older metadata reader which doesn't know about v4 changing the frame lengths to synch-safe reads the synch-safe number as a plain number, it's going to come up with the wrong length if the value is greater than 127. This is a distinct possibility. So we're waiting for all older software to be updated to be v4-aware. It's actually been 22 years. It's probably safe now. OTOH, things are working fine, and there aren't really that many improvements in v4. I like the TMOO frame, mood, and TMCL, the musician's credit list, but they aren't enough to warrant the whole thing breaking.
 

cjmnews

Moderator
Staff member
Moderator
Joined
Apr 26, 2006
Messages
10,022
Points
63
Location
Arizona
Nice side topic, I will use ID3 version 2.4 from now on.

Unfortunately, that doesn’t fix iTunes not updating the ID3 tags in MP3 files automatically when changes are made in iTunes. Apple should have fixed that years ago. The manual work around is the only “fix”.
 
Top