[ID3 Dev] Synchronised lyrics/text frames and Byte-Order-Markers
martin.benkert at gmail.com
Mon Feb 8 12:02:31 PST 2010
the synchronized lyrics frame SLT/SYLT supports text encodings, and also
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
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
- 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