Handling non-standard tags

Hi. Can someone please help me understand the syntax for non-standard MP3 tags.

By experiment I found that I can add my own tag to a file (eg XBOB). I can see it in the extended tags pane as XBOB and its value. I can also display it as a custom column in the filelist by entering %XBOB%.

However, for standard tags the syntax is different. In the extended tags pane I see ARTIST and not TPE1 which is the actual name of the frame. And I have to put %ARTIST% for the name of the column. If I put %TPE1% as the custom column it does not work. So MP3tag uses its own internal names to represent the actual frame names.

So far, so good. It is more convenient to use an internal name like ARTIST rather than something like TPE1.

But here is where I'm getting confused. A program like Media Monkey inserts custom tags that are similar, but not identical, to standard tags. Something like "COMM:Songs-DB_Custom1". I'm not sure exactly what MM is writing. MP3tag displays it as "COMMENT SONGS-DB_CUSTOM1" but this is not the actual name of the frame. Where can I see the exact frame name as stored in the file?

I'm having a similar problem with Replay Gain. Something gets inserted in the file and MP3tag displays it as REPLAYGAIN_TRACK_GAIN. But what is actually written? Is it a RVA2 tag or an RGAD tag or a TXXX?

You may think it's not necessary to dig down to this level of detail. But I feel that this is the only way to understand properly what's happening in complex situations. So can anyone please show me how to access the actual frame names directly?

Thanks, tenbob

No, you cannot access the frames directly with MP3tag. But it might be a worthwhile extension if you could clearify which complex situations you have in mind that require this access.

Hi ohrenkino. So it's impossible to access the frame names directly with MP3tag. Thanks. I will have to find some other way to do it then. Regards, tenbob.

Hi, I would also like to echo this request from tenbob. I would also find it very helpful to be able to see which frame names correspond to which "friendly" tag names, particularly in the case of custom tags or non-standard tags.

One reason for me is that some MP3-creation applications (eg. dBpoweramp) add some ID3 tags which I think are not standard tags, but in fact it's difficult to know for sure whether their tags are standard or not, because I can't see which frame name they correspond to.

Example: dBpoweramp adds three encoder-related tags to the MP3 files it creates, as follows:

Encoded by:
Encoder Settings:

I am aware of two official tags which relate to the encoder information (from http://www.id3.org/id3v2.3.0), which are TENC and TSSE. But it's not completely clear to me which of the above three "friendly" names corresponds to TENC and TSSE, and which is the odd-one-out. And what field name does the extra one correspond to? Maybe TXXX, but I don't know for sure.

This is just one example where, for me, it would be very helpful for Mp3tag to allow me to see the frame name (as TENC, TSSE etc) for every field. There are other similar examples where it would also be helpful, mostly in the case of non-standard tags, or tags which have similar meaning to other tags and it's not clear which frame is being used.

My suggestion would be to have some kind of switch (eg. in the Options, or else a toolbar button), which turns on/off the frame name visibility from each column title at the top of each column. So when this switch is turned on, then the columns look like "Title (TIT2)" and "Artist (TPE1)" etc (with the frame name in brackets after the friendly name). When the option is turned off, then the columns only show the friendly name, just as they already do currently.

A similar switch could also exist when viewing the Extended Tags box, because that is where I will see all of the additional, non-standard tags that might exist.

Any chance of this functionality being added?


You find a list with mappings in MP3tag's help.
I'd say: anything that you cannot find in the table $installdir\help\main_tags.html is probably a user defined field...
It remains true that MP3tag currently does not display this information.

Thanks - that table in main_tags.html is very helpful.

I do notice, though, that although the vast majority of the standard ID3 tags are included in this table, there seem to be at least a couple which aren't there - such as TRDA for example - I assume this means that Mp3tag doesn't have a mapping for that tag.

Although I'd agree that anything not found in the table is most likely a user-defined field, I couldn't say this with 100% certainty if there are still some standard tags that are missing from the table (and therefore from Mp3tag).

Eg. if I encounter a tag which has a date in it, how can I tell if it belongs to TRDA or TXXX, for example? It could be either, right?

The other thing that is tricky is that other tagging applications don't necessarily use the same mapping names that Mp3tag does (as per your table). So being able to see the actual frame names would still be a huge benefit, I think.

I understand that this is still currently not possible with Mp3tag. But is there any chance of it being added as a new feature for a future version? (I'm not sure if you're one of the programmers, but you did mention back in May that it might be a worthwhile extension to add). :slight_smile:

Thank you for elaborating.
But I have to disappoint you: I am none of the programmers. But I still consider it a worthwhile extension to meet the various users' different levels of understanding.

Well I'm glad you agree! So do the programmers read these forums regularly? Or is there another (or better) way to give a suggestion to them?

If you want to see what frame is being used, open your file in a good text or HEX editor. Then you will be able to see the header of the file and the frames.

I did this so I could be sure I was saving my tags in the proper frame (when it is part of the standard) or otherwise in a TXXX frame.