Lyric files in an enhanced format with word timing tags, such as this example (from wikipedia):
[mm:ss.xx] <mm:ss.xx> line 1 word 1 <mm:ss.xx> line 1 word 2 <mm:ss.xx> ... line 1 last word <mm:ss.xx>
[mm:ss.xx] <mm:ss.xx> line 2 word 1 <mm:ss.xx> line 2 word 2 <mm:ss.xx> ... line 2 last word <mm:ss.xx>
...
[mm:ss.xx] <mm:ss.xx> last line word 1 <mm:ss.xx> last line word 2 <mm:ss.xx> ... last line last word <mm:ss.xx>
It should be a kind of extension format for LRC. I hope Symfornium can support this feature.
Problem solved:
I hope the symfonium can make use of word time tag or just hide the tags.
Brought benefits:
This can result in a better lyrics display effect, at the very least, it won’t require manually removing these tags
Where do you even source elrc files?
I already have a hard time finding lyrics that are properly synced line by line, let alone word by word.
Or do you sync them yourself? And if so, with which program?
Am I supposed to send these files to you via email or upload them here? I’ve examined these LRC files I have, and they are all in the same format. In fact, they were all downloaded from the same website. I’m sorry for not being able to provide more variations.
There’s a foobar2000 plugin called ESLyric (github.com) that can grab lyrics from some music websites.
There are also some methods to generate word time tags using AI, but I have never tried them.
Just upload here, if they are all in the same mm:ss.xx then it will be handled in next release. If there’s variation I’ve covered some but well we’ll see
Do you happen to know if there is something like an ISO or another kind of specification that states how synced lyrics should be formatted? MusicBee for example saves them as:
[0:17.576]She'll be gone soon
[0:19.127]You can have me for yourself
Good to know, thanks for the info.
I’m currently writing a python script to easily import/export all synced and unsynced lyrics from tags to .txt and .lrc files and back (import via mp3tag, export via ffprobe).
Maybe I’ll add a flag to “standardize” the lyrics to the 2 digit version during export where I have them as json.
Mixed formatting bothers me and ±5ms lost by rounding should not matter for lyrics.
I just wish there were a standard. German problem I guess. Anyways, thanks for clarifying.
I know a few users that could use a script that take the input from the json export of Symfonium user data and write back the ratings as tag in the files.
So if one day you need a script idea you can post it in The Tips and Tricks part.
Your lyrics scripts probably belongs there too for increased visibility.
I’ll think about it. The lyrics script is pretty much done and merrily imports from .txt to the UNSYNCEDLYRICS tag and from .lrc to the LYRICS tag and the other way around.
Both LYRICS and UNSYNCEDLYRICS can be changed in the script config to use different tags instead.
Rounding timestamps is such a headache that I decided to let jellyfin sort their detection out instead of truncating and losing precision.
During export, my script can optionally transform:
[0:00.000]LYRICS
and
[00:00.00] LYRICS
into
[00:00.000]LYRICS
And gives a hint for users that want the current version of jellyfin to detect the lyrics to change a [:-3] to [:-4] to truncate the ms to .00 instead.
I don’t like losing precision (even if it’s just 10ms) so the default is instead more padding for the .00 variety.
I’ll probably also add some performance optimisations so the script doesn’t run each line of each lyric through a regex on every run and instead skips when the first line is already in the target formatting or something like that.
Now I’ll just have to write documentation for all that, which will be another headache.
Once the script is on github and tested well enough to be trusted I’ll add it to the Tips and Tricks section here as well.