Lyrics Guide and Standards
Lyricify 4 currently supports the following lyrics formats: LRC, QRC, YRC, Lyricify Syllable, and Apple Syllable.
The following sections will detail the lyrics format standards for Lyricify 4 and the guide for creating custom lyrics.
Introduction to Lyrics Formats
Section titled “Introduction to Lyrics Formats”| Format | Features | Notes |
|---|---|---|
| LRC | Records the start time of each line of lyrics, easy to create | Only supports line-by-line lyrics |
| QRC | Records the start time and duration of each word/character | Word-by-word lyrics, but complex and time-consuming to create |
| YRC | Records the start time and duration of each word/character | NetEase Cloud Music’s word-by-word lyrics format, currently does not support manual import |
| Lyricify Lines | Records the start and end time of each line of lyrics | Lyricify’s line-by-line lyrics format |
| Lyricify Syllable | Records the start time and duration of each syllable or word, includes background vocals and duet view information for each line of lyrics | Lyricify’s syllable-by-syllable lyrics format |
| Apple Syllable | Records the start and end time of phrases, includes performer information for each line of lyrics, includes background vocals information | Apple Music syllable-by-syllable lyrics, can be imported by administrators |
LRC Format Specification
Section titled “LRC Format Specification”Header Information
Section titled “Header Information”The header of the lyrics can optionally include relevant information, such as:
[ti:Counting Stars][ar:OneRepublic][al:Native][by:Wang][offset:0]Note: Do not include duplicate tags.
Lyrics
Section titled “Lyrics”The standard format for LRC lyrics is:
[timestamp]lyricstimestamp is the timestamp indicating the start time of the line of lyrics.
The timestamp should follow the ISO 8601 standard, formatted as mm:ss.sss, and should not be written as mm:ss:sss.
Here is an example:
[01:17.870]Lately, I've been, I've been losing sleep[01:21.390]Dreaming about the things that we could be[01:25.390]But baby, I've been, I've been praying hard[01:29.390]Said no more counting dollars[01:31.210]We'll be counting starsNote:
- LRC lyrics do not allow duplicate timestamps, but multiple timestamps for the same line of lyrics are allowed, as shown in the example below:
Not allowed:[01:17.870]Lately, I've been, I've been losing sleep[01:17.870]Dreaming about the things that we could beAllowed:[00:01.670][01:17.870][02:28.640]Lately, I've been, I've been losing sleep[00:04.850][01:21.390]Dreaming about the things that we could be
- LRC lyrics allow out-of-order timestamps, such as:
[01:25.390]But baby, I've been, I've been praying hard[01:21.390]Dreaming about the things that we could be[01:29.390]Said no more counting dollars[01:17.870]Lately, I've been, I've been losing sleep
- If there is a long musical gap (e.g., greater than 5s) between two lines of lyrics, it is recommended to add a blank line with a timestamp equal to the end time of the previous line, which can create the “Breathing Dots” effect in the Apple Music lyrics interface in Lyricify 4.
[00:16.36]We'll be counting stars[00:19.28]Yeah we'll be counting stars[00:22.89][00:38.05]I see this life like a swinging vine[00:40.67]Swing my heart across the line
- A blank line can be added after the last line of lyrics, with a timestamp equal to the end time of the last line of lyrics.
[04:11.66]Sink in the river[04:12.60]The lessons I've learned[04:13.79]
Creation Tools
Section titled “Creation Tools”It is recommended to use the following tools to create LRC lyrics.
- Lyrics Scrolling Princess (https://lrc-maker.github.io/)
- BesLyric (https://github.com/BesLyric-for-X/BesLyric)
- BesLyric-for-X (https://github.com/Beslyric-for-X/Beslyric-for-X)
QRC Format Specification
Section titled “QRC Format Specification”Header Information
Section titled “Header Information”The header information for QRC lyrics follows the LRC standard and will not be repeated here.
Lyrics
Section titled “Lyrics”The standard format for QRC (Lyricify standard) lyrics is:
[start,duration]Word (start,duration)word(start,duration)start is the start time, and duration is the duration.
The timestamps in [] indicate the start time and duration of the entire line of lyrics.
The timestamps in () indicate the start time and duration of the preceding word.
Timestamps are positive integers, measured in milliseconds (ms).
Here is an example:
[358,4575]Lately (358,1336)I've (1694,487)been, (2181,673)I've (2854,268)been (3122,280)losing (3402,345)sleep(3747,1186)[5245,3864]Dreaming (5245,696)about (5941,471)the (6412,306)things (6718,458)that (7176,292)we (7468,511)could (7979,393)be(8372,737)Note:
- QRC (Lyricify standard) lyrics do not allow duplicate timestamps and do not allow out-of-order timestamps. Lyrics should be sorted by time (except for background vocals, which will be discussed later in the
Creating Background Vocalssection). - QRC (Lyricify standard) lyrics allow overlapping lyrics time segments (i.e., multi-line highlight), such as:
[124571,2326]Won't (124571,575)we? (125146,459)Yeah(126404,493)[125613,1118]Won't (125613,483)we?(126096,635)
Creation Tools
Section titled “Creation Tools”It is not recommended to manually create QRC lyrics, as manual timing is very difficult, making it hard to relax and resulting in low accuracy.
If you still want to try creating QRC lyrics manually, it is recommended to use the following tools.
- ALRC (https://github.com/kengwang/ALRC)
- QRC Lyric Maker (https://github.com/BPTPW/qrc-Lyric-Maker)
- Lyricify Word-by-Word Creator (embedded in Lyricify 4, not recommended for use)
Note: These tools are quite rough, providing very limited functionality and having many issues, so it is strongly advised not to use them.
YRC Format Specification
Section titled “YRC Format Specification”Lyricify Lyrics Library does not support the import of YRC lyrics. This section is only an introduction to the YRC format.
Header Information
Section titled “Header Information”The header information for YRC lyrics may include Lyricist, Composer, etc. Here is an example:
{"t":0,"c":[{"tx":"Lyricist: "},{"tx":"Brent Kutzle"},{"tx":"/"},{"tx":"Tyler Spry"},{"tx":"/"},{"tx":"Steven Mudd"},{"tx":"/"},{"tx":"Ryan Tedder","li":"http://p1.music.126.net/S06CeorJXg0Rgb6KhTB9pQ==/18969874114079440.jpg","or":"orpheus://nm/artist/home?id=42602&type=artist"},{"tx":"/"},{"tx":"Josh Varnadore"}]}{"t":1000,"c":[{"tx":"Composer: "},{"tx":"Brent Kutzle"},{"tx":"/"},{"tx":"Tyler Spry"},{"tx":"/"},{"tx":"Steven Mudd"},{"tx":"/"},{"tx":"Ryan Tedder","li":"http://p1.music.126.net/S06CeorJXg0Rgb6KhTB9pQ==/18969874114079440.jpg","or":"orpheus://nm/artist/home?id=42602&type=artist"},{"tx":"/"},{"tx":"Josh Varnadore"}]}The specific meanings are left for interpretation.
Lyrics
Section titled “Lyrics”The standard format for YRC lyrics is:
[start,duration](start,duration,0)Word (start,duration,0)wordstart is the start time, and duration is the duration.
The timestamps in [] indicate the start time and duration of the entire line of lyrics.
The timestamps in () indicate the start time and duration of the following word.
Timestamps are positive integers, measured in milliseconds (ms).
Here is an example:
[54260,3090](54260,900,0)Stop (55160,480,0)and (55640,1710,0)stare[57380,5130](57380,150,0)I (57530,600,0)think (58130,180,0)I'm (58310,690,0)moving (59000,420,0)but (59420,150,0)I (59570,690,0)go (60260,2250,0)nowhere[62840,4800](62840,450,0)Yeah (63290,120,0)I (63410,510,0)know (63920,360,0)that (64280,1260,0)everyone (65540,330,0)gets (65870,1770,0)scared[67730,5670](67730,360,0)But (68090,360,0)I've (68450,690,0)become (69140,270,0)what (69410,210,0)I (69620,1050,0)can't (70670,2730,0)beLyricify Lines Format Specification
Section titled “Lyricify Lines Format Specification”Header Information
Section titled “Header Information”The header of Lyricify Lines lyrics will include the tag [type:LyricifyLines].
Lyrics
Section titled “Lyrics”The standard format for Lyricify Lines lyrics is:
[start,end]Lyricsstart is the start time, and end is the end time.
Timestamps are positive integers, measured in milliseconds (ms).
Here is an example:
[54260,57380]Stop and stare[57380,62840]I think I'm moving but I go nowhere[62840,67730]Yeah, I know that everyone gets scared[67730,73370]But I've become what I can't beLyricify Syllable Format Specification
Section titled “Lyricify Syllable Format Specification”Header Information
Section titled “Header Information”The header information for Lyricify Syllable lyrics follows the LRC standard and will not be repeated here.
Lyrics
Section titled “Lyrics”The standard format for Lyricify Syllable lyrics is:
[property]Word (start,duration)word(start,duration)property is the lyrics line attribute information.
start is the start time, and duration is the duration.
The timestamps in () indicate the start time and duration of the preceding word.
Timestamps are positive integers, measured in milliseconds (ms).
Lyrics Line Attribute Information
Section titled “Lyrics Line Attribute Information”| Attribute | Background Vocals | Duet View |
|---|---|---|
| 0 | Not set | Not set |
| 1 | Not set | Left |
| 2 | Not set | Right |
| 3 | No | Not set |
| 4 | No | Left |
| 5 | No | Right |
| 6 | Yes | Not set |
| 7 | Yes | Left |
| 8 | Yes | Right |
Here is an example:
[0]Lately (358,1336)I've (1694,487)been, (2181,673)I've (2854,268)been (3122,280)losing (3402,345)sleep(3747,1186)[0]Dreaming (5245,696)about (5941,471)the (6412,306)things (6718,458)that (7176,292)we (7468,511)could (7979,393)be(8372,737)Note: The considerations for Lyricify Syllable follow the QRC (Lyricify standard) guidelines and will not be repeated here.
Creation Tools
Section titled “Creation Tools”It is not recommended to manually create Lyricify Syllable lyrics, as manual timing is very difficult, making it hard to relax and resulting in low accuracy.
If you still want to try creating Lyricify Syllable lyrics manually, it is recommended to use the following tool.
- AMLL TTML Tool (optimized version by fred913) (https://fred913.github.io/amll-ttml-tool/)
Apple Syllable Format Specification
Section titled “Apple Syllable Format Specification”N/A
Creating Background Vocals
Section titled “Creating Background Vocals”Currently, only QRC (Lyricify standard), Lyricify Syllable, and Apple Syllable support “background vocals”.
QRC Lyrics
Section titled “QRC Lyrics”Under the Lyricify standard, QRC lyrics that meet the following rules will be displayed as “background vocals”.
- The lyrics start with
(or(and end with)or). - The preceding and following lines of lyrics do not meet
Rule 1.
Note:
Background Vocals lyrics lines should be placed below their main lyrics line, even if their timestamps are earlier than the main lyrics line.
Here are some examples:
[122385,1295]Yeah, (122385,343)won't (122728,451)we?(123179,501)[123680,780](Won't (123680,483)we?)(124163,297)[124571,2326]Won't (124571,575)we? (125146,459)Yeah(126404,493)[125613,1118](Won't (125613,483)we?)(126096,635)[97648,4632]The (97648,384)scars (98032,565)of (98597,552)your (99149,581)love (99730,302)remind (100032,882)me (100914,584)of (101498,483)us(101981,299)[96826,3715](You're (96826,333)gonna (97159,299)wish (97458,435)you (97893,347)never (99159,267)had (99426,301)met (99727,416)me)(100143,398)[102285,4362]They (102285,315)keep (102600,568)me (103168,568)thinking (103736,565)that (104301,286)we (104587,298)almost (104885,584)had (105469,299)it (105768,269)all(106037,610)[101381,3758](Tears (101381,381)are (101762,318)gonna (102080,384)fall, (102464,359)rolling (103746,518)in (104264,349)the (104613,149)deep)(104762,377)Lyricify Syllable
Section titled “Lyricify Syllable”If the “background vocals” information in the lyrics line attribute information is not set, it will follow the QRC lyrics background vocals standard for judgment.
Apple Syllable
Section titled “Apple Syllable”N/A, natively supported.