Is there a program that would dump the complete structure of ID3v2 tags?

Not just the frame names and values, but full information such as frame order, text encoding, description encoding (for TXXX frames), presence of unsynchronization, presence of multiple tags...

Background: I'm rather curious why some files are incompatible with some programs. For example, some ID3v2.4 tags written by foobar2000 are not read by Winamp; editing with Mutagen fixes them but editing with foobar2000 breaks again. It's not the version or data encoding – most other v2.4 UTF-16 tags work fine... However, if I use foobar2000 to convert the tags to v2.3, then back to v2.4, they start working fine in Winamp – this last bit just does not make any sense.

Edit: Linux or/and Windows.

link|improve this question

62% accept rate
feedback

4 Answers

up vote 2 down vote accepted
+100

mp3diags on windows should both check for known errors and let you look at the raw tags - it lists known errors but you can also look at raw tags. I can't seem to find a way to dump it out to a text file. With a limited number of tags, its good for inspecting, and for bulk fixing of tags.

enter image description here

link|improve this answer
This looks very interesting. Thanks. (It still does not show which encodings are used by tag frames, but it provides more than enough detail otherwise.) – grawity Jan 4 at 13:51
It seems that MP3Diags has its own downsides as well (any edits to ID3 tags downgrade them to 2.3.0, for example), although it works well for fixing other kinds of streams. – grawity Jan 4 at 16:06
feedback

You might need to write your own tool. TagLib and id3lib might be useful in this case.

Of special note is the Projects list on the homepage of id3lib, that contains several tools which might solve your problem without any programming.

link|improve this answer
I had earlier tried the id3info tool which comes as part of id3lib, and it didn't even recognize files with ID3v2.4 tags, only v2.3. Not sure if this is caused by the tool or the library itself, though. I'll take a look at both, but such libraries generally tend to hide the tag structure (encodings, order, etc) from the developer, exposing only tag-value pairs. – grawity Jan 4 at 13:36
feedback

exiftool can give a lot of info:

exiftool -v3 -l FILENAME.mp3

link|improve this answer
exiftool is really able to dump raw info, including ID3v4! Really awsome! – haimg Jan 15 at 0:13
feedback

I'm by no means an expert on id3, however, I've been working on my library lately. You didn't specify an OS. I almost exclusively use Linux. Some tools I've been using, which may be of use to you are id3info (CLI) and kid3-qt (qt KDE id3). The latter is interesting. I'm not sure if it gets you everything you need but it does show a lot of information that may, at least, get you some of the things you seem to be seeking. If you're looking for a more portable tool, which seems to maybe get you all that you're looking for is a python tool called mid3v2. I just checked it out and it has an argument --list-raw, which seems to be pretty useful!

link|improve this answer
Thanks, but neither id3info nor kid3-qt do what I want, they only show formatted values. In fact, id3info does not recognize ID3v2.4 tags at all. mid3v2 is just an interface to Mutagen, which is one of the best when it comes to tag support but still neither the tool nor the Mutagen library itself will give me enough information on the raw structure -- although it looks fairly good so far. – grawity Dec 22 '11 at 18:37
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.