MM field <-> ID3v2 frames correlation

Download and get help for different MediaMonkey for Windows 4 Addons.

Moderators: Peke, Gurus

MCSmarties
Posts: 251
Joined: Tue Dec 06, 2005 8:01 pm

MM field <-> ID3v2 frames correlation

Post by MCSmarties »

Hello,

Out of curiosity, and to get a better understanding on how I should use tags (and what other fields I should wish for),
how do the tag fields used in MM as explained here correlate with the ID3v2.4 frames declared here?

eg. I would like to get the following information:

"Track Title" = TIT2
"Track Artist" = TPE1 (or TPE2?)
"Rating" = POPM

etc...

Thanks!
MCSmarties
Posts: 251
Joined: Tue Dec 06, 2005 8:01 pm

Post by MCSmarties »

OK, I decided to go ahead and figure it out by myself. I didn't stop there, I figured it out for FIVE different taggers!
I would expect the developers (jiri, are you reading this?) to be highly interested in this, and I'm planning to post a wishlist based on these results soon.
nB: please don't ask how long it took me to compile this. Long enough that I doubt I would do it again!! :roll:

The corresponding "wishlist" is posted here.

Programs:
*********
MM: Media Monkey 2.5.2
HE: Helium
MMJB: Musicmatch Jukebox
ML: Music Library
TC: MP3 tag clinic
TGF: The Godfather

Method:
*******
- Took an old MP3 file, cut it down to a very small fragment (30 seconds)
- CLEANED all existing tags and made 5 copies, named them appropriately
- Loaded each file with a different tagger and filled all available fields using either the field name or a predefined code (to easily identify the results)
- opened each tagged MP3 file with a text editor and searched manually for all ID3 frames! :o

Results, alphabetically by ID3 frame:
*******************************************************************

APIC: Album Art - MM, HE, MMJB, TGF

COMM:
"Comment" or "Notes - all (HE allows multiple comment fields)
"MMJB Tempo" - all except TGF
"MMJB Mood" - HE, MMJB, ML, TC (that explains why I lost all mood info when I switched MMJB -> MM!)
"MMJB Situation" - all except TGF
"MMJB Preference" - all except TGF (but MM remaps it as "quality")
"MMJB Biography" - HE, MMJB, TC
Custom fields - MM, HE (3 each)
Featured Artist - MMJB, TC
"Classical" tags (Period, featured performer, movement, instrument, genre, arranged for) MMJB, TC
Catalog # - HE
"Helium Comment" - HE

COMR:
Commercial contact URL - TC
Seller - TC
Commercial logo - TC

OWNE: Seller - TC (REPEATS the info from COMR!)

POPM: Rating - MM, HE

RVA2: Volume adjustment - MM, HE

TALB: Album - all

TBPM: BPM - MM, HE, TC

TCOM: Composer - all

TCON: Genre - all

TCOP: Copyright - all except MMJB

TDLY: Playlist Delay - TC

TDOR: Release Time (HH:MM) - TC

TDRC: Recording Date (YYYY/MM/DD-HH:MM) - TC (duplicates the info from TYER here)

TDRL: Release Year - HE

TENC: Encoded by - HE, ML, TC, TGF

TEXT: Lyricist - MM, HE, TC, TGF

TFLT: File Type - TC

TIPL: Function -> Name (multiple fields) - HE, TC

TIT1: Grouping - HE, Work - MMJB, Content Group - TC, TGF

TIT2: Track title - all

TIT3: Subtitle - HE, TC, TGF

TKEY: Initial Key - TC

TLAN: Language - HE, TGF

TMCL: Instrument -> Musician (multiple fields) - HE, TC

TMED: Media Type - HE, TC, TGF

TMOO: Mood - MM only!

TOAL: Original Title / Album - MM, HE, TC, TGF

TOFN: Original Filename - TC, TGF

TOLY: Original Lyricist - MM, HE, TC, TGF

TOPE: Original Artist - all except MMJB

TOWN: File owner - HE, TC, TGF

TPE1: Track artist - all

TPE2: Album artist - MM, HE or Orchestra - TC, TGF (note: ID3v2 specs calls for BAND/ORCHESTRA, "Album artist" DOES NOT EXIST!)

TPE3: Conductor - MMJB, TC, TGF

TPE4: Remix / Modified by: HE, TC, TGF

TPOS: CD # of # - HE, MMJB, TC, TGF

TPRO: Producer - HE

TPUB: Publisher - MM, HE, TC, TGF

TRCK: Track # - all

TRSN: Internet Radio Name - TGF

TRSO: Internet Radio Owner - TGF

TSOP: Artist Sort Order - HE

TSOT: Title Sort Order - HE

TSRC: ISRC - MM, HE

TSSE: Encoder - MM, HE, TGF. Note: TC uses it to store a hotkey ?!?

TXXX:
Featured Artist - HE
User text (long field) - TC
Tones, Styles, Mood, Situation, Rating, Quality, Tempo, Type, User fields (2) - TGF

USER: Terms of Use - TC

USLT: both unsynchronized and timestamped lyrics - all (TC includes a separate "lyrics description" field)

WCOM: Buy CD / Commercial URL - HE, TC, TGF

WCOP: Copyright URL - TC, TGF

WOAF: Audio URL - HE, MMJB, TC, TGF

WOAR: Artist URL - HE, MMJB, TC, TGF

WOAS: Source URL - TC, TGF

WORS: Radio URL - HE, MMJB, TC, TGF

WPAY: Payment URL - TC, TGF

WPUB: Publisher URL - HE, TC, TGF

WXXX: Custom URL - ML, TC, TGF


*******************************
DEPRECATED FRAMES FROM ID3v2.3:
*******************************
IPLS: Involved People - MM, HE, TGF (TGF is the only one to assign multiple fields)

TDAT: Original Date - TGF

TIME: Original Time - TGF

TORY: Original Year - MM, HE, TGF

TYER: Year - all

Finally a note on the location of the tags in the file:

Almost all taggers conform to specs here. The only difference I found were:
- Musicmatch: Tags are spread all over the file, truly a mess! (NOW I understand why tags often get corrupted in MMJB!)
- MP3 Tag Clinic: puts the Commercial and MMJB fields later in the file.

NOTE:
SINCE ORIGINALLY POSTING THIS, I DISCOVERED I MADE A FEW MISTAKES.
WILL CORRECT THEM AS SOON AS I HAVE TIME. DON'T FULLY TRUST THESE RESULTS YET!
Last edited by MCSmarties on Fri Jun 16, 2006 3:59 pm, edited 2 times in total.
popper
Posts: 34
Joined: Mon Feb 21, 2005 5:10 pm
Location: Germany

Post by popper »

This is a very interesting and important topic, thank you very much for this hard work(*). I never dreamt that there would be so many differences between the taggers all claiming to follow the ID3 standard, until I started to wonder why other music managers could not find my "rating" field that I had set in MediaMonkey!

I find this rather sad. What's going wrong here?

popper.

(*) although I guess that it would be easier to read in a table format...
MCSmarties
Posts: 251
Joined: Tue Dec 06, 2005 8:01 pm

Post by MCSmarties »

Obviously I had this data in a table but well, I couldn't post in that format.

I think there are several reasons for these differences.

One, ID3 is only an INFORMAL standard, it's unfortunately not BINDING.

Two, the specifications are not always entirely clear and I guess some programmers just didn't read the standard carefully enough (a very common "mistake" seems to be to use COMM frames for custom fields, they should really be in TXXX.

Three, MMJB is clearly to blame for deviating from the standard. I have no idea why they did that but the cynic in me suspects an attempt for vendor lock-in. Since MMJB was de facto one of the best taggers available some 5-8 years ago with a huge user base, people complained in other software that it was not compatible with MMJB - so it got spread further.

In my opinion, there is one tool that is sorely missing: a way to export ALL tag information to a text file, and reimport it with a specified mapping. If such a tool would exist, the problem would be solved: users could just save all their tags, change tagging software and reassign the information they so painstakingly entered...
Lowlander
Posts: 58631
Joined: Sat Sep 06, 2003 5:53 pm

Post by Lowlander »

I think that if MediaMonkey wants to be a real music manager it should be able to do more with the tags. A problem of course is that mp3 has the most tags and other file formats are more limited.

Additional (Gold) tools like the ability to write to tags of other application, read all tags (advanced tab), copy from other application tags to MediaMonkey tags, etc. would be a nice set of advanced features. For many this would be overkill, but it certainly would be a welcome feature for others.
Custom

Post by Custom »

Thanks for sharing this information with us! This may help us to make an impact on the developers of these applications to better follow the standards.

PS. The link to Helium seems to be wrong. DS.
Post Reply