[ID3 Dev] Synchronised lyrics/text frames and Byte-Order-Markers

Martin Benkert martin.benkert at gmail.com
Mon Feb 8 12:02:31 PST 2010


the synchronized lyrics frame SLT/SYLT supports text encodings, and also
Byte-Order-Markers (BOMs).

It has a 'Content Descriptor' which is simply an encoded string and might
have a BOM, just like all other encoded frames.

But it also has a binary structure of items called 'syncs', which have
this structure

     Terminated text to be synced (typically a syllable)
     Sync identifier (terminator to above string)   $00 (00)
     Time stamp                                     $xx (xx ...)

The first item is plain text. I guess it is encoded according to the
specified encoding of the frame.

But what about BOMs here? In a typical file there might be some hundred
syncs (if they are syllables). If they all have individual BOMs this will
be a lot of data. However, if they do not have BOMs at all, it is not
clear how for instance Little-Endian encoding might be specified.

There are four ways it might be intended to be

 - syncs do not have any BOMs at all. This would be nice, but it implies
   Big-Endian byte-order.
 - the very first sync might have a BOM that is also applied to all
   following syncs. This appears to be the best way. It also allows to
   specify Little-Endian byte-order. But the ID3 standards do not specify
   this in any way.
 - all syncs can have their own individual BOMs. This would be crazy - to
   say the least. But it would comply with the ID3 standards (at least in
   an implicit way).  	
 - the BOM used by 'Content Descriptor' is also used for the syncs. Might be
   nice - but it beaks all conventions: Other frames with two encoded strings
   (COM/COMM, COMR, GEO/GEOB, ULT/USLT) all might have individual BOMs for
   text fields - only ID3v2.4 specifies 'All strings in the same frame SHALL
   have the same byte order'.

This somehow indicates that the lyrics in a SLT/SYLT frame appears to be a
real oddity with respect to BOMs.

Question here is: Is there a recommended way to specify the byte-order of
the lyrics of synchronized lyrics frames SLT/SYLT?


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