[ID3 Dev] Unicode SYLT

Mitchell S. Honnert mitch at honnert.com
Sat Feb 25 18:44:27 PST 2006

I have a question regarding how many Byte Order Markers should be in a frame
with Unicode text.

According to the ID3v2.3 standard...
"Unicode strings must begin with the Unicode BOM ($FF FE or $FE FF) to
identify the byte order."

This seems to be pretty straightforward until you try to read a Synchronized
Lyrics frame written by Windows Media Player.  The standard says that the
SYLT frame has (among other fields) a Content Descriptor field and pairs of
Lyrics and Timestamp fields.  But what's not so clear (at least to me) is if
there should be both a BOM at the beginning of the Content Descriptor field
and *every instance* of the Lyrics field.

The WMP version of the SYLT frame will just place a BOM at the beginning of
the Content Descriptor field, but not each instance of the Lyrics field.  I
can see that this would economize on the frame size, but it still seems to
go against the standard.

So, in this situation, is Windows Media Player correctly formatting the SYLT


 - Mitchell S. Honnert

PS: In my ID3 library, I allow for either scenario, so I'm not losing any
lyric text on the read.  But I was still curious to see if I was reading the
standard correctly or if there were some additional perspectives out there
that might shed some light on the situation for me.  I'm also wondering if
this would warrant placing WMP on the "ID3 Offenders List" that I've been

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