[Feature Request]: Allow setting default lyric provider
Preflight Checklist
- [x] I use the latest version of YouTube Music (Application).
- [x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
Problem Description
I personally prefer the YouTube lyrics but the app always defaults to LRCLib
Proposed Solution
Allow setting a default lyric provider to start with
Alternatives Considered
Remember the last used lyric option instead (this could be an issue if it auto switches based on one provider not having the lyrics though)
Additional Information
No response
That was the initial idea, but I then scratched it for a priority system based on how good each provider is.
https://github.com/th-ch/youtube-music/blob/master/src/plugins/synced-lyrics/renderer/components/LyricsPicker.tsx#L39-L52
bias breakdown:
- prefers providers that have finished searching
- prefers providers that have line-by-line lyrics
-
- it is more biased to ytmusic if it has line-by-line lyrics
- finally, it prefers providers that have lyrics at all (not line-by-line)
Would setting a starting provider be helpful in any way?
PS: If you have suggestions on improving the bias, throw them at me.
I wonder if it doesn't wait long enough for the ytmusic lyrics since it seems to almost always go with LRCLib instead. From what I initially thought was that the default was LRCLib due to how often it was selected but the bias system seems fine otherwise
if two providers have equal scores, and it has already picked one of them, it won't randomly change to the other
https://github.com/th-ch/youtube-music/blob/master/src/plugins/synced-lyrics/renderer/components/LyricsPicker.tsx#L66-L68
it will only change when the current provider has lower score than the best provider
setting a default provider when the scores are equal might be viable
Yeah I think that could be a good idea. I generally prefer YouTube's lyrics over LRCLib's
yt music is the most accurate 90% time and lrclib is also accurate but sometimes misses timestamps so the priority should be yt music - lrclib , lyric genius [ which is a joke but does the job witg older songs ]
- prefers providers that have line-by-line lyrics
- it is more biased to ytmusic if it has line-by-line lyrics
In my usage the plugin seems to pick LRCLib even when YTMusic also has line by line lyrics.
I do agree with the decision to bias towards YTMusic in general.
@sameerdash2 I already explained why it picks lrclib over yt music, because lrclib loads faster
I'd also add that LRCLib often prefers "clean" version of the lyrics, especially where there are swear words. Adding an option to set a default lyrics provider or set a priority for each one would be great.
Been craving this feature, I honestly like YTM lyrics much better and find them more time accurate, but even just looping a song after changing it to YTM lyrics puts it back to lrclib, very annoying
With some script modifications, I managed to make it prefer Youtube Music's synced lyrics.
Ok, what if we allow you to set a preferred provider, and if it has lyrics (synced or not), it will always be the one chosen.
But if it has no lyrics, the existing behavior kicks in?
If that's the easiest way to implement it then that's fine with me
would you rather have no lyrics if your default lyrics provider has nothing? cause that's basically what you suggested
it's not about "easy" or "hard", it's about making it work well
I'd prefer whichever provider has synced lyrics, but if both lrclib and YTM have synced lyrics, it chooses Youtube's
Yeah I'd prefer crappy lyrics over none at the very least
Not exactly what this feature request asked for, but a relevant PR now exists.
https://github.com/th-ch/youtube-music/pull/3741
It is targeted at another feature request, but since it is related to this one, I thought I should ask for your input. Maybe we can think of a compromise, or further discuss how this feature request should work.
Not a big fan tbh. It wouldn't really address the issue since I listen to a lot of different music so per-song will be rather annoying to use (not to mention that I have multiple devices with the app)
If we can set a favorite as a global in addition to a per-song override, that could be fine
Not a big fan tbh
As I said, it's not meant to close this feature request, it is simply kinda related to it. Since it is related, I brought it up, so both feature requests can be satisfied in some form.
How are we going to satisfy both feature requests is the question
Is it possible to do what was suggested in the last part of my message?
I had to re-read all the messages in this issue since it's been so long 😆
These are the suggested implementations:
- setting a default provider for when the calculated scores are equal (e.g. prefer yt over lrclib)
- setting a default provider, and only fallback to the others when the default has no lyrics (e.g. prefer genius over anything)
from the flow of the conversation, I think we settled on the 2nd implementation?
Yeah I like 2
Done!
Tysm!