[ID3 Dev] Clarifying the TCON Frame

Ben Bennett fiji at ayup.limey.net
Tue Mar 6 12:59:19 PST 2007

Yeah, it is a maze of twisty passages, all alike ;-)

My rule of thumb is to try iTunes to see what they do (although their
2.4 implementation has some nasty bugs), and test that against winamp
for 2.3 support and amarok (which uses a newer fancy id3 2.4 library).

As long as you are willing to use a subset of the spec, and don't
stray too far into the wilds, things will go well.


On Tue, Mar 06, 2007 at 08:55:44AM -0800, John Slane wrote:
> Thanks very much for your patient and thorough answers.  You have cleared up most of the confusion I had, and I feel ready to design a way to fit my metadata into ID3v2.3 tags that will be handled by a majority of apps.
> I must say, this task was more complex than I expected, given the nonuniform way that the ID3 tags are exploited by various apps.  Without your help, I would have little confidence in proceeding.  
> Thanks, again, for taking the time to help me out.
> Ben Bennett <fiji at ayup.limey.net> wrote: On Tue, Mar 06, 2007 at 05:42:23AM -0800, John Slane wrote:
> ...
> > The various music-management software I am using (MediaMonkey,
> > Mp3tag, etc.) are writing alphanumeric (English words) data to this
> > type (Genre) frame.  So I would like to clarify a few things.
> > 
> > (1) Is a TCON frame really supposed to contain a numeric string?  If
> > so, what is the definition of a "numeric string"?  
> The 2.3 version of TCON is a mess.  2.4 made some changes, but it is
> still a bit tricky.
> It should not contain just a numeric string.
> The format is optional parenthesized genre reference e.g.: (4)
> Then an optional textual refinement e.g.: Eurodisco
> There can be multiple references in the frame, and there are rules for
> escaping (s.  There is no mention of multiple refinements, I would
> assume only one, and at the end of the string.
> You can also make references to RX for remix and CR for cover.
> So these are legal strings:
>  (4)
>  (4)Euro Disco
>  Euro Disco
>  (21)(4)(RX)Euro Disco
> > (2) If I have English words in a TCON frame
> > e.g. TCON = Soul R&B Motown
> > will that cause a problem with any apps down the road?
> I think that is the safest and sanest thing to do.  I would not use
> the references stuff.  iTunes puts just bare text in the frame and
> does not handle lists.  And since iTunes is widely used, I would
> assume other software tries to read their tags.
> > (3) If alphanumeric words are allowed, what is the best way to
> > delimit multiple values in the frame?  Are there any characters -
> > delimiters or otherwise - that should be avoided in a TCON frame?
> I do not think you can... the frame can not be repeated, and there is
> no identification of a list separator in that frame.  The only
> possible thing would be to do:
>  (4)Euro Disco(32)Duck Themed
> But I bet that is not well supported.
> However, you can indicate multiple genres through textual convention:
>   Euro Disco; Duck Theme
>   Euro Disco -- Duck Theme
>   Euro Disco / Duck Theme
> Just pick what you think is most visually correct.
> 2.4 has proviisions for multiple values (using NUL as a separator).
> But I think most software just shows the first value and ignores the
> rest.
> > So far, I have experimented with simply adding the multiple genres
> > as a text string delimited only with spaces (as in the earlier
> > example).  This seems to work OK for now, since I typically am
> > searching for files with TCON containing a certain substring.  Is
> > this a robust use of the TCON frame?  Are there rules/guidelines for
> > entering multiple values into a Text Information Frame?  
> Discussed above.
> > One other question (which will show off what a newbie I am):
> > 
> > What is the essential difference(s) between Text Information Frames
> > (TALB, TBPM, ...) and Comments Frames.  As best I can tell, a Text
> > Information Frame is to contain a single string of text, with no
> > carriage returns allowed.  A Comments Frame can contain carriage
> > returns (newlines).  Is that the essential difference?
> Not quite... the T*** frames indeed can only contain a single text
> string with no newlines, but COMM is more general than that.  It is
> basically a way for people (or programs) to stick arbittrary data into
> the tag.  iTunes uses COMM for their audio normalization flag among
> other things.
> I would not expect COMMs to show up in various programs
> consistently...  But yes, the "actual text" field can contain
> newlines.
> >  Also, is the USLT (Lyrics) frame type basically the same as a COMM
> > frame, but simply with a specific purpose?
> Yes.
>    -ben
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
> For additional commands, e-mail: id3v2-help at id3.org
> ---------------------------------
> Need a quick answer? Get one in minutes from people who know. Ask your question on Yahoo! Answers.

To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
For additional commands, e-mail: id3v2-help at id3.org

More information about the ID3v2 mailing list