jeffvli / feishin

A modern self-hosted music player.
https://feishin.vercel.app
GNU General Public License v3.0
1.97k stars 77 forks source link

Word Synced Lyrics #555

Open Suyashtnt opened 3 months ago

Suyashtnt commented 3 months ago

What do you want to be added?

Some LRC files have support for word-synced lyrics in the following format:

[line length]  <Word time> word <Time between words>   <Word time> OtherWord

e.g.

[00:18.55] <00:18.55> I've <00:20.25>   <00:20.28> been <00:20.36>   <00:20.39> painting <00:20.77>   <00:20.80> every <00:21.04>   <00:21.11> fence <00:21.45>   <00:21.49> I <00:21.56>   <00:21.65> know 

It would be neat to have this supported in feishin. Right now they look like this: image

Additional context

Not sure if this should rather be handled by the servers directly (see https://github.com/navidrome/navidrome/discussions/2920)

iiPythonx commented 3 months ago

I believe this would have to be handled by Navidrome as Feishin just shows whatever Navidrome responds with (and based on the screenshot Navidrome obviously isn't parsing your LRC as proper lyrics).

Suyashtnt commented 3 months ago

I believe this would have to be handled by Navidrome as Feishin just shows whatever Navidrome responds with (and based on the screenshot Navidrome obviously isn't parsing your LRC as proper lyrics).

navidrome basically sends a lyric json/xml file with each line having its own field. it would require updating that whole format for word-by-word support which may be an issue, which is why I also sent a request here

kgarner7 commented 2 months ago

Strictly speaking, there's no need for Navidrome (or other Subsonic servers) to output anything more than a line, the word-based processing can be done in Feishin itself.

Suyashtnt commented 1 month ago

Strictly speaking, there's no need for Navidrome (or other Subsonic servers) to output anything more than a line, the word-based processing can be done in Feishin itself.

which is why I asked here as well