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 guidelines 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 | Word-by-word lyrics format from NetEase Cloud Music, currently does not support manual import |
| Lyricify Lines | Records the start and end time of each line of lyrics | Line-by-line lyrics format for Lyricify |
| Lyricify Syllable | Records the start time and duration of each syllable or word, records background vocals and duet view information for each line of lyrics | Syllable-by-syllable lyrics format for Lyricify |
| Apple Syllable | Records the start and end time of words and phrases, records performer information for each line of lyrics, records background vocals information | Syllable-by-syllable lyrics for Apple Music, 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 the same line of lyrics can have multiple timestamps, 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 achieve 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.
[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.
- LRC Maker (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, so it 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 [] represent the start time and duration of the entire line of lyrics.
The timestamps in () represent 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. The lyrics should be sorted by time (except for background vocals, which will be explained in the
Creating Background Vocalssection later). - QRC (Lyricify standard) lyrics allow overlapping lyric 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 manually timing is very difficult, making it hard to relax, and the accuracy is low.
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 [] represent the start time and duration of the entire line of lyrics.
The timestamps in () represent 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, so it 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 () represent 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) specifications, so they will not be repeated here.
Creation Tools
Section titled “Creation Tools”It is not recommended to manually create Lyricify Syllable lyrics, as manually timing is very difficult, making it hard to relax, and the accuracy is low.
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”In QRC lyrics under the Lyricify standard, if they meet the following rules, they 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 several 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.