Author Topic: LyricsReloaded (Updated)  (Read 164050 times)

hiccup

  • Sr. Member
  • ****
  • Posts: 7781
hiccup you can take a look at the batch file I use to clear lyrics cache (last section of the code) and a few other things from a Portable install; maybe it can help.
Thanks, perhaps I will use it later, but for now I only need the lyrics cache deleted for these testing purposes.
I will leave the  AppData\InternalCache\Lyrics folder open, and just use 'select all', 'delete'.

hiccup

  • Sr. Member
  • ****
  • Posts: 7781
So I concluded my trials testing all available providers on some 30 tracks from my library.
The results were quite clear and for now I have set these three as my lyrics providers:



Using these three in this order gives pretty great results in most cases.
The other available providers didn't contribute much, and in a few cases even nothing at all.

I would be interested to learn if other users have different preferences and get more satisfying results by using other providers.

- - -

One thing that is not as I would expect it to work:
When one of these three providers has the lyrics for a song, sometimes MusicBee will still say 'No Lyrics Found'
I will need to click 'Search Next Provider' several times before the lyrics show up.

That's probably because (as Frankz mentioned) MB sees the plugin as one provider, but it would be nice if MB would handle this a little bit smarter.
Last Edit: December 30, 2020, 06:24:43 PM by hiccup

frankz

  • Sr. Member
  • ****
  • Posts: 3834
I've got 1. Genius 2. Song Lyrics 3. MusixMatch 4 chartlyrics.com, but I think MusixMatch bans my IP at this point anyway  :)

hiccup

  • Sr. Member
  • ****
  • Posts: 7781
I've got 1. Genius 2. Song Lyrics 3. MusixMatch 4 chartlyrics.com, but I think MusixMatch bans my IP at this point anyway  :)
That's a nice confirmation: so for the both of us the same three providers give good results.
MusiXMatch matched none of the 30 tracks for me. I don't think my IP is banned. (maybe the IP range I am in is?)
Or MusiXMatch is just a lousy bunch ;-)

frankz

  • Sr. Member
  • ****
  • Posts: 3834
I've actually found them to be pretty good in the past.

hiccup

  • Sr. Member
  • ****
  • Posts: 7781
I've actually found them to be pretty good in the past.
Personally I can't be bothered, but if you are curious you could try a free VPN service and see if it makes a difference?

frankz

  • Sr. Member
  • ****
  • Posts: 3834
I'm actually unblocked now. 

The problem is that the MM config doesn't work when lyrics do exist.  Add this to the list of things to fix when I get time, I guess.  Looked at it real quick and I can't figure out why it's not matching the pattern.

hiccup

  • Sr. Member
  • ****
  • Posts: 7781
Ok.
Just curious; is this something that has been raised before and Steven is already aware of? :

One thing that is not as I would expect it to work:
When one of these three providers has the lyrics for a song, sometimes MusicBee will still say 'No Lyrics Found'
I will need to click 'Search Next Provider' several times before the lyrics show up.

That's probably because (as Frankz mentioned) MB sees the plugin as one provider, but it would be nice if MB would handle this a little bit smarter.

If it is but it's not easy to fix than that's that.
But if it hasn't been requested to get improved on before, I think it is a likely candidate to specifically raise, so to possibly make MusicBee's lyrics retrieval smoother and even better?
Last Edit: December 30, 2020, 07:39:43 PM by hiccup

frankz

  • Sr. Member
  • ****
  • Posts: 3834
I think he knows - I seem to remember it being mentioned before.

frankz

  • Sr. Member
  • ****
  • Posts: 3834
One thing that is not as I would expect it to work:
When one of these three providers has the lyrics for a song, sometimes MusicBee will still say 'No Lyrics Found'
I will need to click 'Search Next Provider' several times before the lyrics show up.

That's probably because (as Frankz mentioned) MB sees the plugin as one provider, but it would be nice if MB would handle this a little bit smarter.

Once I got totally frustrated trying to figure out why MusixMatch isn't working (HELP!) I spent some time thinking about this and am pretty sure it would never work.  I'm also pretty sure MB doesn't interact with the plugin as everyone (including me) always assumed.

Say you have sources:

Built-in source 1
Plug-in source 1
Built-in source 2
Built-in source 3
Plug-in source 2

So you search for lyrics and it searches built-in 1.  You don't like the lyrics.  You do next source, which sends the search to the plug-in, which then searches ALL of your selected plug-in sources in order, displaying the lyrics of the first one that responds. You don't like those, and search next source.  It searches built-in 2.  You don't like those either.  You search next source.

Now I'd never thought about it in depth and just assumed it would search plug-in source 2.  But now that I have thought about it and looked in the log, it doesn't make any sense and I don't see how it would.  Neither MB nor the plug-in have a memory of what lyrics you rejected the first time.  If it even searches the plug-in again, which I'm not even clear that it does, it would just return the same set of lyrics as it did the first time in the same order. Nothing exists to exclude the ones that you rejected.

I think the order of the plug-in sources is mostly irrelevant in the grand scheme of plug-in/built-in interaction.  If a plug-in source is first, it will search all the active ones at once.  If a plug-in source is second or later, it will search the active built-in sources in order and continue down the line until it hits a plug-in source and then search all the active ones at once.

I say "mostly irrelevant" because the plug-in does seem to search and return results in the order you've set, but all at once.  It doesn't dip in and out among built-in sources.

In other words, I believe

Built-in source 1
Plug-in source 1
Built-in source 2
Built-in source 3
Plug-in source 2

will give identical results to
Built-in source 1
Plug-in source 1
Plug-in source 2
Built-in source 2
Built-in source 3

I don't see how it would work any other way. 

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34312
@frankz,
For the initial lyrics retrieval for a playing track with no lyrics, MB queries every provider in parallel because doing it sequentially would potentially take a very long time. The first provider by priority order that returns a result is the one ultimately chosen.

When using the Next Provider command, there is a bug with the plugin providers so they are effectively ignored. However even when I fix that bug, I dont think it will work well with the plugin lyrics as it will treat all plugin provides as being from the same source ie. redo all the plugin providers

frankz

  • Sr. Member
  • ****
  • Posts: 3834

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34312
For the record, the next v3.4 update will accurately record the plugin provider in cached lyrics (for newly cached lyrics, not existing ones) and hence the Next Provider function will work as expected (for the newly cached lyrics)

VenaxB

  • Newbie
  • *
  • Posts: 1
Hi, I have been trying to work on adding Darklyrics as a provider and there is one thing that would make it easier. In the example configuration there is a comment that says that variables are also allowed in the pattern, does anyone knows how? Thanks

frankz

  • Sr. Member
  • ****
  • Posts: 3834
Full documentation, written by the original plug-in author, is in this post.

I think that reference to variables means you can put things like <Artist> or <Title> in the pattern, but you'd have to play with it to make sure.

If you ever get it working feel free to contribute it here and I'll build it in.