alrc

Crates.ioalrc
lib.rsalrc
version0.1.0
sourcesrc
created_at2024-07-20 11:49:10.195772
updated_at2024-07-20 11:49:10.195772
descriptionAdvanced Lyrics File Format
homepage
repositoryhttps://github.com/luxluth/alrc/
max_upload_size
id1309399
size26,163
0x7C00 (luxluth)

documentation

README

Advanced Lyrics File

What does this add to the lrc base format ?

  • Named Markers
  • Vocals
  • Instrumental Line Check
  • Custom Tags

Those new additions don’t by any mean break previous specification of the format. The compatibility with A2 extension is preserved and is even supported in the vocals. Chained timestamps are also supported.

Named Markers

Those aim to provide a context for the lyric line. An use case can be for the singer that sing the line

Named Marker Example

{@singer:The Name Of The Singer}

The marker will be represented with the key singer and value The Name Of The Singer

Each time a new Markers is encounter by the parser the current marker value is changed.

Named Marker Change Example

{@singer:Childish Gambino}

[00:15.84] Cody LaRae
[00:19.30] He had a break
[00:22.75] He's findin' out
[00:25.92] That nobody gives a fuck
[00:29.68] I did my job
[00:32.91] I paid my dues
[00:36.13] Love is for fools
[00:39.33] 'Cause nobody gives a fuck

{@singer:VOCALS}

[00:45.54] (No one, no one)

...

Vocals

Vocals are background voices other than the main artist voice. Most of the times, they are represented between parenthesis to signify that they are not important.

Example of vocals

...

[00:52.71] {#vocal:No one} nobody gives a fuck
...

A single single line can have multiples vocals

Instrumental Line Check

Any line that contains only #INSTRUMENTAL is consider as a line where there is a long instrumental pause.

[00:50.07] #INSTRUMENTAL

Custom Tags

Now with this parser, tags does not matter to it. Therefore, you can create any tag that suite your needs.

Commit count: 0

cargo fmt