Skip to content

Universal LRC parsing #2

Description

@MonNomSontPasUtile

There are several specifications that resembles or based on the LRC specification. Currently there are two to be known: xLRC and TRC, which both had word timing added. All meta tags of LRC were preserved.

Taking a deeper dive into the TRC format, we will find something like this (example from a certain Chinese site):

[00:16.54]<250>当<300>你<1852>要<249>离<452>开<201>的<451>时<3801>候

And let's see an example of xLRC files (example from Wikipedia):

[00:06.47] <00:07.67> And <00:07.94> all <00:08.36> the <00:08.63> joy <00:10.28> within <00:10.53> you <00:13.09> dies

We can see that the timing tags of TRC and xLRC are both placed before each seperate "unit". Timing tags in TRC describes the duration of each word in milliseconds, while in xLRC describes when will each word end in the normal human-readable format. This means the parser of both xLRC and TRC can be merged inside the LRC parser with some dynamic adjustments when the parser reads each line.

Because there are a lot of lyrics that do not use either UTF-8 or UTF-16 as their encoding, there should also be some compatibility with detecting and decoding existing encoding schemes.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or requestunificationunify several specifications

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions