1

What is Lyrics3?


When Winamp introduced its plugin capabilities Kuo (Djohan) Shiang-shiang's Lyrics Displayer was one of the first plugins, and probably the first program that made a connection between MP3 audio and lyrics. The lyrics displayed by Kuo's Lyrics Displayer were stored in separate text files from which the program got it.

Petr Strnad saw the problems in this so he decided to make a lyrics tag, enabling the text to reside inside the audio file. This is done by creating a chunk of data which begins with "LYRICSBEGIN", ends with "LYRICSEND" and has the lyrics between these keywords. This data block is then saved in the audio file between the audio and the ID3 tag. If no ID3 tag is present one must be attached.

lyrics3_blocks.gif Internal layout of an Lyrics3 tagged file.


The following simple rules applies to the lyrics inserted between the keywords:

If you are implementing a new Lyrics Tagging program, consider this version of Lyrics3 to be obsolete and use the Lyrics3 v2.00 standard.

To determine which version of Lyrics Tag is embedded in an MP3 file you first need to know if the file has an ID3v1 Tag or not. ID3v1 Tags are appended in the last 128 bytes of the MP3 file. If the file has an ID3v1 Tag, the Lyrics 2 Tag's end will be 137 bytes from the end of the file and those 9 bytes will contain the string 'LYRICSEND' for Lyrics3v1 tags and 'LYRICS200' for Lyrics3v2 Tags.

Lyrics3v1 Tags are really obsolete, but for completeness, here is the definition. (See Lyrics3 v2.00 for the current standard)