Crates.io | alrc |
lib.rs | alrc |
version | 0.1.0 |
source | src |
created_at | 2024-07-20 11:49:10.195772 |
updated_at | 2024-07-20 11:49:10.195772 |
description | Advanced Lyrics File Format |
homepage | |
repository | https://github.com/luxluth/alrc/ |
max_upload_size | |
id | 1309399 |
size | 26,163 |
What does this add to the lrc
base format ?
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.
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 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
Any line that contains only #INSTRUMENTAL
is consider as a line where
there is a long instrumental pause.
[00:50.07] #INSTRUMENTAL
Now with this parser, tags does not matter to it. Therefore, you can create any tag that suite your needs.