Lyrics Guide and Standards
Lyricify 4 currently supports the following lyric formats: LRC, QRC, YRC, Lyricify Syllable, Apple Syllable.
The following sections will detail the lyric format standards for Lyricify 4 and guidelines for creating custom lyrics.
Introduction to Lyric Formats
Section titled “Introduction to Lyric 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 lyric format used by 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 lyric format for Lyricify |
| Lyricify Syllable | Records the start time and duration of each syllable or word, includes background vocals and duet view information for each line | Syllable-by-syllable lyric format for Lyricify |
| Apple Syllable | Records the start and end time of phrases, includes performer information for each line, 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 multiple timestamps for the same lyric line 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 lyric lines, 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 lyric line, with a timestamp equal to the end time of the last lyric 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”We recommend using 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 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 explained in the section on
Creating Background Vocals). - 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 manual timing is very difficult and can lead to inaccuracies.
If you still want to try creating QRC lyrics manually, we recommend using 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 and provide very limited functionality, and there will be 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 lyric 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).
Lyric Line Attribute Information
Section titled “Lyric 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 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 and can lead to inaccuracies.
If you still want to try creating Lyricify Syllable lyrics manually, we recommend using 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 lyric lines should be placed below their main lyric lines, even if their timestamps are earlier than the main lyric lines.
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 lyric 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.