# the name of the provider. this will be shown in MusicBee's settings
name: 'Example'
# the loader for this provider: static, search, api
loader: static
# prepare the input
variables:
# filters to apply to the artist
artist:
type: artist # the source of the value
filters:
- strip_diacritics
- [stripdown, _]
- urlencode
# filters to apply to the album
# album: skip entry omitted as it isn't needed
# filters to apply to the title
title:
type: title
filters: artist # reference the filters of artist
post-filters:
- strip_html
- utf8_encode
- trim
validations:
- [not contains, Click here to submit these lyrics]
config:
# the URL to request. {artist}, {album} and {title} are placeholders for the values from the song.
url: "http://www.azlyrics.com/lyrics/{artist}/{title}.html"
# The regular expression to apply to the content of the website. The pattern must contain a named capturing group called "lyrics" like: (?<lyrics>.+?)
# variables are allowed as well
pattern: '<!-- start of lyrics -->(?<lyrics>.+?)<!-- end of lyrics -->'
# The options for the pattern:
# - i: case insensitive
#
# more to come
pattern-options: 'i'
Terrific stuff, thanks for the new update! Using it regularly to check lyrics on playing radio stations.Just happy to be part of something that people seem to enjoy.
Hey frankz,It just retrieves lyrics from public sites. If you find a public site that displays synchronized lyrics with the information necessary to display them in MB, the plugin can be made to retrieve those and display them in MB by creating a YML script as described in the Documentation post above.
I came across this old post showing what looks like scrolling lyrics in Theatre Mode, would be a great alternative to using Miniyrics...
https://getmusicbee.com/forum/index.php?topic=20396.msg121087#msg121087
Is this something that could work by using your new LyricsReloaded plugin?
Regards: Freddy
It just retrieves lyrics from public sites. If you find a public site that displays synchronized lyrics with the information necessary to display them in MB, the plugin can be made to retrieve those and display them in MB by creating a YML script as described in the Documentation post above.
...scrolling lyrics...There is only one place remaining that offers 'synced' lyrics and that's MiniLyrics. For which you need to install the MiniLyrics app alsong with its plugin for MB.
...scrolling lyrics...There is only one place remaining that offers 'synced' lyrics and that's MiniLyrics. For which you need to install the MiniLyrics app alsong with its plugin for MB.
https://getmusicbee.com/forum/index.php?topic=1864.msg66983#msg66983
I am using MiniLyrics sometimes, however when using Theatre Mode (which is most of the time), Theatre Mode full-screen takes precedence over MiniLyrics, thus the lyrics are not displayed. So was hoping it could be done using this TM I found that looks like it could display scrolling lyrics....Probably a good question to ask in a Theater Mode thread. This plugin does lyric retrieval only.
Synchronised Lyrics Theatre Mode (https://getmusicbee.com/forum/index.php?topic=20396.msg121087#msg121087)
Not sure or about or skilled enough to work through the functionality required to provide such a feature...
Best regards: Freddy
Plugin deleted. All yours. You can even have the thread..
Plugin deleted. All yours. You can even have the thread.
In the future, you may wish to monitor the thread about your plug-in, so that when people ask things like "is this abandoned?" or "I'd like to update this but don't want to step on anyone's toes, what's the protocol?" there won't be misunderstandings.
Just an update. I completely misunderstood the tone and nature of quick_wango's post and completely overreacted. That's on me. His request was reasonable and normal and I took it in a very wrong way and reacted very negatively when I shouldn't have.
cd C:\MusicBee\AppData\mb_LyricsReloaded
del mb_LyricsReloaded.log
@ECHO OFF
Set dir="c:\MusicBee\AppData\InternalCache\Lyrics"
Echo Deleting all files from %dir%
del %dir%\* /F /Q
Echo Deleting all folders from %dir%
for /d %%p in (%dir%\*) Do rd /Q /S "%%p"
@echo Folder deleted.
exit
url: "https://www.musixmatch.com/lyrics/{artist}/{title}"
You can do this in MB by adding a custom web link under Edit->Edit Preferences->Internet. This is not related to this plugin. The plugin works using direct URLs, not searching.
Instead of setting url of provider, by using song title or artist directly, Is there a way to do a google search of the artist, title, lyric, provider and get the results urls.
eg:
If provider is musixmatch, assume we need to get lyrics of song "Greedy" of "Ariana" of use the following url.Codeurl: "https://www.musixmatch.com/lyrics/{artist}/{title}"
Here we get;
http://www.musixmatch.com/lyrics/ariana/greedy
Here this url gives nothing as the musixmatch url for above song is,
https://www.musixmatch.com/lyrics/ariana-grande/greedy
.
But if we can get the url from a simple google search, we can fetch lyrics easily (e.g: even if have misspelled a artist name in tags, the google will correct it for us)
https://www.google.lk/search?q=ariana+greedy+musixmatch+lyrics
Here we get the first result as the correct result.
https://www.musixmatch.com/lyrics/ariana-grande/greedy
Hi frankz,Looking at it really quickly, I don't think so because there don't seem to be individual URLs / pages for each song. It just lists by album and then does some kind of internal script to pull up song by song on that same page.
First, thanks for adding the non-API search version of LyricWiki! Is there any possiblity you could add https://www.metal-archives.com to the sources that mb_LyricsReloaded can search? I've found lyrics there via a 3rd-party lyrics plugin in Foobar that were not available from any MusicBee search source for the same song, e.g. "Siren's Call" by Phantom Elite.
On the website itself, the lyrics appear (if available) once you are at a album's track listing and click a separate "Show Lyrics" link to the right ( for an example see https://www.metal-archives.com/albums/Sad_Alice_Said/Clock_of_Eternity/313163 (https://www.metal-archives.com/albums/Sad_Alice_Said/Clock_of_Eternity/313163)).
If you can add this source, fantastic, if not, thanks for the great job your plugin already does.
Thanks for maintaining this plugin.You are very welcome. My pleasure.
Working very smoothly with great results.
Thanks for maintaining this plugin.I'll second this with a plus-one. (Does that make my second a third?)
Working very smoothly with great results.
I appreciate the kind words. I'm glad people are using it and enjoying it.Thanks for maintaining this plugin.I'll second this with a plus-one. (Does that make my second a third?)
Working very smoothly with great results.
I never thanked you for bringing this plugin back to life. I use it almost daily and at this point couldn't live without it.
THANKS!
LyricWiki has synchronized lyrics too under /lrc/Can you post a link to a page from the site with synchronized lyrics? Maybe I can figure something out.
LyricWiki has synchronized lyrics too under /lrc/Can you post a link to a page from the site with synchronized lyrics? Maybe I can figure something out.
I downloaded the dll and have the Genius set to the first source butYour best bet would be for you or some other helpful thread reader to develop some regex that would filter this out and post it here so I can add it to the plugin. This post (https://getmusicbee.com/forum/index.php?topic=25406.msg145769#msg145769) gives an overview of the options. Unfortunately, RegEx is not in my skill set.
I get the following in the lyric field
<!--sse-->
Lyrics
<!--/sse-->
Anyway to have it not display the /sse part?
The other possibility is that you have two copies of the plugin floating around - one in the user plugin folder (users\<USERNAME>\AppData\Roaming\MusicBee\Plugins) and one in the MusicBee program plugin folder (Program Files (x86)\MusicBee\plugins) . That will also cause this error.Hi frankz,
Delete one or the other. Doesn't matter which, but you only need one.Hi frankz,
Just been trying this plugin out and it is amazing for Genius however it seems to be stripping the [Verse 1], [Chorus] ect. that is on many lyrics and leaving a line break in it's place, is it possible to leave the [Verse 1], [Chorus] ect. in the downloaded lyrics?Sorry, no. The plugin specifically strips those out because they're not lyrics.
Many thanks
Just been trying this plugin out and it is amazing for Genius however it seems to be stripping the [Verse 1], [Chorus] ect. that is on many lyrics and leaving a line break in it's place, is it possible to leave the [Verse 1], [Chorus] ect. in the downloaded lyrics?Sorry, no. The plugin specifically strips those out because they're not lyrics.
Many thanks
You can, of course, create a custom YAML based on the publicly posted code for the plugin and take out the part that does that for your own use. The OP of this thread gives links to all the details.
The specific line you'll want to take out of the built-in Genius YML to create a custom YML that doesn't strip these is:
- [regex, '\[.{1,75}\]', ""]
You don't have to edit or remake the DLL at all. It's set up to be much easier to customize than that (not my doing, but nice anyway).
First, download the Genius YML file from github (https://github.com/mbfrankz/LyricsReloaded). It's in the "Configs" folder.
Then, I guess, rename it to whatever you want (don't know if this is necessary).
Then open it in any text editor.
Change the name field from "Genius" to something like "Genius (with pointless non-standard section headers)" ;) so you'll know it is different when you see it in MB.
Delete that line from above from the "post-filter" section and save the file.
Put the YML file in \%AppData%\Roaming\MusicBee\mb_LyricsReloaded\providers
Relaunch MB, and you're set. Deselect the built-in Genius and activate your custom version.
I am unfamiliar with how to implement these types of plugins into Musicbee. Where do I place this .dll? I do not seem to have a /providers folder in my Musicbee installation to drop it into.The /providers folder is for customized lyrics providers as described above after installation.
To activate this plugin after I have it in the correct location, will it automatically be used, or do I have to choose additional providers in the Tags (2) area of Musicbee?You activate it on the plugins page and choose the providers in Tags(2).
I am unfamiliar with how to implement these types of plugins into Musicbee. Where do I place this .dll? I do not seem to have a /providers folder in my Musicbee installation to drop it into.The /providers folder is for customized lyrics providers as described above after installation.
The plugin installs like any other plugin. Download and unzip it, and then in MB go to Edit->Edit Preferences->Plugins->Add Plugin and install and activate it.To activate this plugin after I have it in the correct location, will it automatically be used, or do I have to choose additional providers in the Tags (2) area of Musicbee?You activate it on the plugins page and choose the providers in Tags(2).
Hello, I'm having a problem with Musixmatch. It refuses to work for some reason.
The part I don't understand is that if I go to that exact URL there are lyrics available. Ideas?
You don't have to edit or remake the DLL at all. It's set up to be much easier to customize than that (not my doing, but nice anyway).
First, download the Genius YML file from github (https://github.com/mbfrankz/LyricsReloaded). It's in the "Configs" folder.
Then, I guess, rename it to whatever you want (don't know if this is necessary).
Then open it in any text editor.
Change the name field from "Genius" to something like "Genius (with pointless non-standard section headers)" ;) so you'll know it is different when you see it in MB.
Delete that line from above from the "post-filter" section and save the file.
Put the YML file in \%AppData%\Roaming\MusicBee\mb_LyricsReloaded\providers
Relaunch MB, and you're set. Deselect the built-in Genius and activate your custom version.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="dns-prefetch" href="https://github.githubassets.com">
<link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
<link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
<link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
<link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
<link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
<link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
<link crossorigin="anonymous" media="all" integrity="sha512-3+HOqCwtQal5hOJQ+mdxiq5zmGOTjF6RhjDsPLxbKDYgGlLFeCwzoIanb7j5IiCuXKUqyC2q8FdkC4nmx2P2rA==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-a2fba223d5af91496cac70d4ec3624df.css" />
<link crossorigin="anonymous" media="all" integrity="sha512-K1ZDcMAScrII4AIfkC9/MFPu46xORn2/Da/1QlFn28ti4WRM7VyDJsU8A+1HFS1EGl7djTNxgwr3eullJpwm9Q==" rel="stylesheet" href="https://github.githubassets.com/assets/github-391e36018f842d7a4844c9492593e63c.css" />
{Truncated for Space}
name: Oldies Lyrics
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [regex, '[^\sa-z0-9]\s*', ""]
- [strip_nonascii, _]
title:
type: title
filters: artist
config:
url: "http://oldielyrics.com/lyrics/{artist}/{title}.html"
pattern: ['<div\s+class="lyrics"[^>]*>\s*<p>(?<lyrics>.+)</p>\s*</div>', s]
post-filters:
- br2nl
- p2break
- strip_html
- strip_links
- entity_decode
- clean_spaces
- utf8_encode
Why are you trying to load yml files as downloaded from github? These are already built into the plugin.
EDIT: I think I know what you're doing wrong. You're downloading it as a web page and it's coming in like this, right?Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="dns-prefetch" href="https://github.githubassets.com">
<link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
<link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
<link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
<link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
<link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
<link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
<link crossorigin="anonymous" media="all" integrity="sha512-3+HOqCwtQal5hOJQ+mdxiq5zmGOTjF6RhjDsPLxbKDYgGlLFeCwzoIanb7j5IiCuXKUqyC2q8FdkC4nmx2P2rA==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-a2fba223d5af91496cac70d4ec3624df.css" />
<link crossorigin="anonymous" media="all" integrity="sha512-K1ZDcMAScrII4AIfkC9/MFPu46xORn2/Da/1QlFn28ti4WRM7VyDJsU8A+1HFS1EGl7djTNxgwr3eullJpwm9Q==" rel="stylesheet" href="https://github.githubassets.com/assets/github-391e36018f842d7a4844c9492593e63c.css" />
{Truncated for Space}
Better instructions would be to click the file you want, click "RAW" at the top, and then save the resulting page or copy and paste what's there into a text editor. Should wind up looking like this.Codename: Oldies Lyrics
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [regex, '[^\sa-z0-9]\s*', ""]
- [strip_nonascii, _]
title:
type: title
filters: artist
config:
url: "http://oldielyrics.com/lyrics/{artist}/{title}.html"
pattern: ['<div\s+class="lyrics"[^>]*>\s*<p>(?<lyrics>.+)</p>\s*</div>', s]
post-filters:
- br2nl
- p2break
- strip_html
- strip_links
- entity_decode
- clean_spaces
- utf8_encode
https://bing.com/search?q=$Replace($First(<Artist>),&,and)+$Split(<Title>,"(",1)+Lyrics
That's really odd behavior. I honestly don't know why that browser thing would happen. Doesn't strike me as something the plugin should/would be able to do.I think it's because my attempt was the choosing the easiest way to attack. I simply substituted one URL for another in the existing YMLs. The more difficult path, and probably the more correct one, would be to examine the existing YMLs and try to understand what the RegEx is doing and then modify mine to conform.
Sorry I couldn't be more helpful.
Is there a way for any particular song to determine where the lyrics were downloaded from?You can look through the log at the above-referenced directory. It's a text file. You can probably figure it out from there if it indeed came from the plugin.
Thanks,
Bill
BillH: Try what frankz says above--do your Lyrics downloading through the Now Playing window and look for the grayed-out "Lyrics Source" at the top of the right-click box. If the lyrics are wrong (almost never happens for me), hit "Search next provider" and see if the right ones come up then. I've seen it cycle through 4 providers, all with the correct lyrics just some variation in spacing or punctuation. As he said, the actual source will show if it's from a MB built-in provider. Be sure of course your music is accurately tagged..
Thanks for the reply. It looks like some of the errors are due to my having changed Artist to match who is actually performing a song rather than the person the lyrics are tied to on the providers web sites. For example, for the album Are You Passionate?, I have the Artist as Neil Young & Booker T. & the M.G.'s. I have the Album Artist as Neil Young. The providers all tie the lyrics to Neil Young. Is there a way to have the plugin use the Album Artist field instead of the Artist field?The plugin will use what appears in the Artist field as far as I know. Doesn't look like that's configurable. Songs properly tagged with the universally credited artist for a track should work fine because that's what the providers use.
On some the song is on a compilation album of some sort instead of on the original album. It looks like the plugin is sending the album name as part of the search and it isn't being found as the providers have the lyrics tied to the original album name. Is there a way around this problem?
That said, I find it slightly hard to believe that you were unable to find lyrics for (Straight To Your Heart) Like A Cannonball by Van Morrison through any of MB's facilities. They do not all work for everything, that's why there is a large variety.
The plugin doesn't use album names for any provider I've seen. You can look through them all here:
https://github.com/mbfrankz/LyricsReloaded/tree/master/LyricsReloaded/Configs
None appear to use album names.
Do you have an example?
The other possibility is that you have two copies of the plugin floating around - one in the user plugin folder (users\<USERNAME>\AppData\Roaming\MusicBee\Plugins) and one in the MusicBee program plugin folder (Program Files (x86)\MusicBee\plugins) . That will also cause this error.Hi frankz,
There is nothing still running in Task Manager when MusicBee isn't running.
The error message I'm getting is:
the process cannot access the file 'users\<USERNAME>\AppData\Roaming\MusicBee\mb_LyricsReloaded\mb_LyricsReloaded.log' because it is being used by another process.
On inspection I have a mb_LyricsReloaded.dll file in two locations. One is in the user\appdata\roaming\musicbee\plugins and the other in C\Program Files > MusicBee > Plugins
From what you have said I assume one is unnecessary and should be deleted? Delete the one in Program Files?
DaraK: I also would like to see this implemented. FYI, the old non-maintained plugin by Steven, mb_LyricsPlugin.dll, did at one time search Dark Lyrics[...]Seconding a request for Dark Lyrics. :-*
I have Dark Lyrics showing in Preferences > Tags (2) > auto-tagging > lyrics as one of the providers. I have both the Lyrics_Reloaded and the Lyrics Fetcher plugins enabled so I don't know which one Dark Lyrics is coming from. Whether it actually retrieves lyrics or not is up to you to figure out.
Hi phred, it's coming from the old "Lyrics Fetcher" plugin (mb_LyricsPlugin.dll) no longer maintained by StevenThanks sveakul. I've had it unticked, so whether it was working or not, wasn't important to me. Do you know if the rest of the sources in Steven's plugin are working? And which they are? I suppose I can disable it and see which disappear.
Do you know if the rest of the sources in Steven's plugin are working? And which they are?
That's good information to know. Something to remember when using the plugin is that sites don't want you using plugins like this. They get nothing out of it. It's a hacked solution.
The plugin is designed to bring up lyrics for songs as you listen to them and then utilize what's built into MB to view or save them. Like, one song every three or four minutes or so. That's a reasonable use and not something, I think, that sites would spend much time objecting to or caring much about. It is not designed (as near as I can tell - I didn't design it) to be a bulk downloading tool. There is some code written for rate limiting, but I don't know how it was meant to work or if it was actually implemented anywhere.
I don't really have the know-how, either, but the OP for the original lyrics reloaded (https://getmusicbee.com/forum/index.php?topic=9994.0) states that it's not an update of Steven's plugin but a total rewrite, and since he did use some sources from the original plugin and didn't use others, I'd assume the reason he decided not to use the sources that he chose not to use was that those sites are not compatible with the structure of the plugin.
In fact, looking at that OP now, he says certain sources are "not possible yet" in that post, and those include the ones from the original plugin that he didn't use.
If something has changed and you're able to make a working YML file for any of those sites, I'll be happy to add it into the plugin. I've been pretty clear that the kind of RegEx skill needed to create these files is not in my wheelhouse and life is kind of coming at me too fast in this last year to get anywhere close to learning it.
The great thing about Lyrics Reloaded is that anyone can add sites to it on their own and then offer the YML for others to use, too.
Wish I could be more helpful, but I'm really just an overseer of the plugin. My skills are such that I can do cleanup and maintenance but not really creation.
The two don't interfere with each other at all as far as I can tell. Why not just use both?
public delegate void UpdateCheckerCallback(bool updateAvailable);
public void checkForNewVersion(UpdateCheckerCallback callback)
{
Version local = Assembly.GetAssembly(GetType()).GetName().Version;
LyricsReloaded lr = this;
Thread updateChecker = new Thread(() => {
WebClient cl = new WebClient(lr, 5000);
try
{
bool result = false;
WebResponse respone = cl.get("https://raw.githubusercontent.com/mbfrankz/LyricsReloaded/stable/LyricsReloaded/Properties/AssemblyInfo.cs");
if (respone != null)
{
String content = respone.getContent();
if (!String.IsNullOrWhiteSpace(content))
{
Regex versionRegex = new Regex("AssemblyVersion\\(\"(?<version>[^\\s\\*]+)\"\\)", RegexOptions.Compiled | RegexOptions.Singleline);
Match match = versionRegex.Match(content);
if (match.Success)
{
Version remote = Version.Parse(match.Groups["version"].Value);
result = remote.CompareTo(local) > 0;
}
}
}
callback(result);
}
catch (Exception e)
{
lr.logger.error("Failed to check for updates: {0}", e.Message);
}
}) {
IsBackground = true,
Name = "LyricsReloaded - Version Check"
};
updateChecker.Start();
It's checking for updates.Thank you frankz. I would've been satisfied with your answer without the code, but that was appreciated.
- [regex, '\[.{1,75}\]', ""]
- [replace, "\n\n", "\n"]
- [replace, "\n\n", "\n"]
- trim
FWIW spotted this on another player's forum where someone had issues getting lyrics from lyrics.wikia.com: "..Also, lyrics.wikia.com is now moved to fandom, and new url is - https://lyrics.fandom.com/wiki/LyricWiki "Hmmm...I'm not sure that LyricWiki is viable for the plugin anymore. The plugin takes the lyrics from the text of the HTML of the web page, but now that LyricWiki is a fandom site it seems that it loads the lyric box some other way and doesn't put the lyrics in the HTML in plain text.
Attempts to load lyrics.wikia.com from a browser get automatically sent to https://lyrics.fandom.com/wiki/LyricWiki , but not sure if/how that may affect future searches there from LyricsReloaded (Updated).
Hi, just a small bug report, I was having problems with a song with round brackets in its (official) name. The song in question was "Phantom Divine (Shadow Empire)" by Kamelot and I was not able to get any lyrics for it, but worked when I renamed it to "Phantom Divine Shadow Empire"Parenthesis should be stripped out of the constructed url when they'll cause a problem at the site. If you look in the log for the plug-in (%AppData%/Roaming/MusicBee/mb_LyricsReloaded) it should tell you the constructed URL for each site the plug-in accessed and which sites could and couldn't find the lyrics. If you go to each URL you'll see why the lyrics were and weren't found there.
I originally removed LyricWiki from the plug-in because it's now native to MB and seemed to be redundant. I don't remember why I put it back in, maybe someone asked or maybe because I put the Gracenote portion back in and figured I'd throw it back in too just in case,
Hi, just a small bug report, I was having problems with a song with round brackets in its (official) name. The song in question was "Phantom Divine (Shadow Empire)" by Kamelot and I was not able to get any lyrics for it, but worked when I renamed it to "Phantom Divine Shadow Empire"Parenthesis should be stripped out of the constructed url when they'll cause a problem at the site. If you look in the log for the plug-in (%AppData%/Roaming/MusicBee/mb_LyricsReloaded) it should tell you the constructed URL for each site the plug-in accessed and which sites could and couldn't find the lyrics. If you go to each URL you'll see why the lyrics were and weren't found there.
Is it possible that the lyrics came from one of the native sources? They use a different method (API) to retrieve lyrics. The plug-in is basically a web browser that pulls one specific text portion of the retrieved page.
20-05-2020 03:35:42 [DEBUG] Lyrics request: - Weezer - Good Thing - Weezer (White Album) - Genius
20-05-2020 03:35:42 [DEBUG] Lyrics request: - Weezer - Good Thing - Weezer (White Album) - MetroLyrics
20-05-2020 03:35:42 [INFO] MetroLyrics tries to load the lyrics...
20-05-2020 03:35:42 [DEBUG] The constructed URL: http://www.metrolyrics.com/-good-thing-lyrics-weezer.html
20-05-2020 03:35:42 [DEBUG] Lyrics request: - Weezer - Good Thing - Weezer (White Album) - LyricWiki Reloaded
20-05-2020 03:35:42 [INFO] LyricWiki Reloaded tries to load the lyrics...
20-05-2020 03:35:42 [DEBUG] The constructed URL: http://lyrics.wikia.com/Weezer:_Good_Thing
20-05-2020 03:35:42 [INFO] Genius tries to load the lyrics...
20-05-2020 03:35:42 [DEBUG] The constructed URL: http://genius.com/weezer-good-thing-lyrics
20-05-2020 03:35:42 [DEBUG] gzip compression detected
20-05-2020 03:35:42 [WARN] The pattern <div id="lyrics-body">(?<lyrics>.*?)</div> didn't match!
20-05-2020 03:35:42 [INFO] No lyrics found.
20-05-2020 03:35:42 [DEBUG] no lyrics found
It looks like it's also stripping the text that's inside the parentheses. I just checked my LyricsReloaded log and found this:OK..that's interesting. The parenthetical part is actually stripped somewhere before this point, before it's used to construct the URL. This part..
.com/weezer-girl-we-got-a-good-thing-lyrics then it leads to the song's lyrics.
20-05-2020 03:35:42 [DEBUG] Lyrics request: - Weezer - Good Thing - Weezer (White Album) - Genius
lyricsReloaded.getLogger().debug("Lyrics request: {0} - {1} - {2} - {3} - {4}", source, artist, title, album, providerName);
This could be a while FYI. Do the built-ins retrieve lyrics for these songs? That would be a big hint.
No, at least not the ones I've enabled. They either fail to retrieve anything or retrieve the wrong song. On some songs the lyrics are successfully retrieved, but I think it's only because the provider has a matching URL that omits the text in the parentheses as well. e.g. https://genius.com/The-beach-boys-dont-talk-lyrics for the song "Don't Talk (Put Your Head On My Shoulders)"
BTW, for those who still want to check lyrics at LyricWiki you can use the "poor man's workaround" of adding an entry in MusicBee's Internet/Custom Web Links section that will open your web browser and at least get you to the page where the lyrics are (if they're there!) and you can copy/paste from there:Good tip, yes. They can't take that away from us!
http://lyrics.fandom.com/wiki/<Artist>:<Title>
Added Provider Name to log messages so people will know where lyrics were and weren't foundThanks very much for the update and for this specifically.
Added Provider Name to log messages so people will know where lyrics were and weren't foundThanks very much for the update and for this specifically.
thanks for the update, will check the log for future problems, for now I'm ok :)
just a heads-up, it seems the fix that was implemented in 1.1.7 not only strips double or redundant line breaks, but intended blank lines too... is a feature or a bug?
It shouldn't. It just takes two breaks (/n/n) and replaces it with one (/n). Should leave a single /n alone. Works fine here (most of my lyrics come from Genius it's my first listed source).
Before you
My home was in the wind and surf
The birds and rain, voices of the northern lights
Then you came
I joined you beyond the aeons
As you blew your cave bear bone
And began to hum
Before you
My home was in the wind and surf
The birds and rain, voices of the northern lights
Then you came
I joined you beyond the aeons
As you blew your cave bear bone
And began to hum
22/05/2020 05:16:25 [DEBUG] Lyrics request: Nightwish - Pan - Human. :II: Nature. - Musixmatch
22/05/2020 05:16:25 [INFO] Musixmatch tries to load the lyrics...
22/05/2020 05:16:25 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/nightwish/pan
22/05/2020 05:16:26 [DEBUG] gzip compression detected
22/05/2020 05:16:26 [DEBUG] lyrics found from Musixmatch!
It shouldn't. It just takes two breaks (/n/n) and replaces it with one (/n). Should leave a single /n alone. Works fine here (most of my lyrics come from Genius it's my first listed source).
Check this lyric (https://genius.com/Nightwish-music-lyrics). The way it looks on Genius:QuoteBefore you
My home was in the wind and surf
The birds and rain, voices of the northern lights
Then you came
I joined you beyond the aeons
As you blew your cave bear bone
And began to hum
But the lyric is imported like this:QuoteBefore you
My home was in the wind and surf
The birds and rain, voices of the northern lights
Then you came
I joined you beyond the aeons
As you blew your cave bear bone
And began to hum
another bug (sorry!). Musixmatch is not getting any lyrics even if the log says it does.Quote22/05/2020 05:16:25 [DEBUG] Lyrics request: Nightwish - Pan - Human. :II: Nature. - Musixmatch
22/05/2020 05:16:25 [INFO] Musixmatch tries to load the lyrics...
22/05/2020 05:16:25 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/nightwish/pan
22/05/2020 05:16:26 [DEBUG] gzip compression detected
22/05/2020 05:16:26 [DEBUG] lyrics found from Musixmatch!
still MusicBee says it didn't found the lyric
Thanks, will look at it when I have the time! Is great your plugin has this flexibility.Think nothing of it. It's really not my plug-in. It was developed by someone much smarter than me. I just took over maintaining it when he no longer had reason to.
BTW, sorry if I gave you the impression of been a little demanding, far from it! I really appreciate your time and effort!
I'm on version 3.3.7491 PHmmm ... I do recall Steven adding Bing for lyrics searches not to long ago. I would make that first on the list of sources. If you don't see it on your current list, I suggest updating to the latest patch version for either 3.3 or 3.4, although it may be a 3.4 thing. For the record, 3.4 is a very, very stable beta. Many of us have been using it for months with no issues.
He didn't. You made a yml for it.I did??!! It must've been with help from you. (Thanks)
Steven added bing for artwork searches.<sigh> I knew he did -something- with bing.
04/09/2020 11:40:24 [INFO] Song Lyrics tries to load the lyrics...
04/09/2020 11:40:24 [DEBUG] The constructed URL: http://www.songlyrics.com/764hero/check-the-address-lyrics/
04/09/2020 11:40:24 [DEBUG] Lyrics request: 764-HERO - Check The Address - We're Solids - Teksty
04/09/2020 11:40:24 [INFO] Teksty tries to load the lyrics...
04/09/2020 11:40:24 [DEBUG] The constructed URL: http://teksty.org/764-hero,check-the-address,tekst-piosenki
04/09/2020 11:40:24 [DEBUG] Lyrics request: 764-HERO - Check The Address - We're Solids - Urban Lyrics
04/09/2020 11:40:24 [INFO] Urban Lyrics tries to load the lyrics...
04/09/2020 11:40:24 [DEBUG] The constructed URL: http://www.urbanlyrics.com/lyrics/764hero/checktheaddress.html
04/09/2020 11:40:24 [INFO] No lyrics found.
04/09/2020 11:40:24 [DEBUG] no lyrics found from Smriti
04/09/2020 11:40:24 [INFO] No lyrics found.
04/09/2020 11:40:24 [DEBUG] no lyrics found from Oldies Lyrics
04/09/2020 11:40:25 [INFO] No lyrics found.
04/09/2020 11:40:25 [DEBUG] no lyrics found from MetroLyrics
04/09/2020 11:40:25 [INFO] No lyrics found.
04/09/2020 11:40:25 [DEBUG] no lyrics found from A-Z Lyrics Universe
04/09/2020 11:40:25 [INFO] No lyrics found.
04/09/2020 11:40:25 [DEBUG] no lyrics found from Genius
04/09/2020 11:40:25 [DEBUG] gzip compression detected
04/09/2020 11:40:25 [WARN] The pattern <p\sclass="text\sclearfix">(?<lyrics>[\s\S]*?)</p> didn't match!
04/09/2020 11:40:25 [INFO] No lyrics found.
04/09/2020 11:40:25 [DEBUG] no lyrics found from Cušpajz
04/09/2020 11:40:25 [INFO] No lyrics found.
04/09/2020 11:40:25 [DEBUG] no lyrics found from Song Lyrics
04/09/2020 11:40:25 [DEBUG] gzip compression detected
04/09/2020 11:40:25 [DEBUG] no lyrics found from Teksty
04/09/2020 11:40:25 [DEBUG] gzip compression detected
04/09/2020 11:40:25 [WARN] The pattern <div id="div_letra"[^>]*>(?<lyrics>.*?)</div> didn't match!
04/09/2020 11:40:25 [INFO] No lyrics found.
04/09/2020 11:40:25 [DEBUG] no lyrics found from Letras de músicas
04/09/2020 11:40:25 [DEBUG] gzip compression detected
04/09/2020 11:40:25 [WARN] The pattern <p class="mxm-lyrics__content ">\s*(?<lyrics>.*?)</span> didn't match!
04/09/2020 11:40:25 [INFO] No lyrics found.
04/09/2020 11:40:25 [DEBUG] no lyrics found from Musixmatch
04/09/2020 11:40:26 [DEBUG] gzip compression detected
04/09/2020 11:40:26 [WARN] The pattern <p class="mxm-lyrics__content ">\s*(?<lyrics>.*?)(</span>|<div[^>]*"lyrics-report") didn't match!
04/09/2020 11:40:26 [INFO] No lyrics found.
04/09/2020 11:40:26 [DEBUG] no lyrics found from Musixmatch_Asian
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Genius
04/09/2020 11:40:29 [INFO] Genius tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://genius.com/764-hero-stutter-steps-lyrics
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - MetroLyrics
04/09/2020 11:40:29 [INFO] MetroLyrics tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://www.metrolyrics.com/stutter-steps-lyrics-764hero.html
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Musixmatch
04/09/2020 11:40:29 [INFO] Musixmatch tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/764hero/stutter-steps
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - A-Z Lyrics Universe
04/09/2020 11:40:29 [INFO] A-Z Lyrics Universe tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://www.azlyrics.com/lyrics/764hero/stuttersteps.html
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Cušpajz
04/09/2020 11:40:29 [INFO] Cušpajz tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://cuspajz.com/tekstovi-pjesama/pjesma/764-hero/stutter-steps.html
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Hindi Lyrics
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Letras de músicas
04/09/2020 11:40:29 [INFO] Letras de músicas tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://letras.mus.br/764-hero/stutter-steps/
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Musixmatch_Asian
04/09/2020 11:40:29 [INFO] Musixmatch_Asian tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/764-HERO/Stutter-Steps
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Oldies Lyrics
04/09/2020 11:40:29 [INFO] Oldies Lyrics tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://oldielyrics.com/lyrics/764hero/stutter_steps.html
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Smriti
04/09/2020 11:40:29 [INFO] Smriti tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://smriti.com/hindi-songs/stutter-steps
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Song Lyrics
04/09/2020 11:40:29 [INFO] Song Lyrics tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://www.songlyrics.com/764hero/stutter-steps-lyrics/
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Teksty
04/09/2020 11:40:29 [INFO] Teksty tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://teksty.org/764-hero,stutter-steps,tekst-piosenki
04/09/2020 11:40:29 [DEBUG] Lyrics request: 764-HERO - Stutter Steps - We're Solids - Urban Lyrics
04/09/2020 11:40:29 [INFO] Urban Lyrics tries to load the lyrics...
04/09/2020 11:40:29 [DEBUG] The constructed URL: http://www.urbanlyrics.com/lyrics/764hero/stuttersteps.html
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from Genius
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from MetroLyrics
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from Smriti
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from A-Z Lyrics Universe
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from Oldies Lyrics
04/09/2020 11:40:30 [DEBUG] gzip compression detected
04/09/2020 11:40:30 [WARN] The pattern <p\sclass="text\sclearfix">(?<lyrics>[\s\S]*?)</p> didn't match!
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from Cušpajz
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from Song Lyrics
04/09/2020 11:40:30 [DEBUG] gzip compression detected
04/09/2020 11:40:30 [DEBUG] no lyrics found from Teksty
04/09/2020 11:40:30 [DEBUG] gzip compression detected
04/09/2020 11:40:30 [WARN] The pattern <div id="div_letra"[^>]*>(?<lyrics>.*?)</div> didn't match!
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from Letras de músicas
04/09/2020 11:40:30 [DEBUG] gzip compression detected
04/09/2020 11:40:30 [WARN] The pattern <p class="mxm-lyrics__content ">\s*(?<lyrics>.*?)</span> didn't match!
04/09/2020 11:40:30 [INFO] No lyrics found.
04/09/2020 11:40:30 [DEBUG] no lyrics found from Musixmatch
04/09/2020 11:40:31 [DEBUG] gzip compression detected
04/09/2020 11:40:31 [WARN] The pattern <p class="mxm-lyrics__content ">\s*(?<lyrics>.*?)(</span>|<div[^>]*"lyrics-report") didn't match!
04/09/2020 11:40:31 [INFO] No lyrics found.
04/09/2020 11:40:31 [DEBUG] no lyrics found from Musixmatch_Asian
04/09/2020 11:49:37 [DEBUG] Lyrics request: The Blood Brothers - Jordan Billie Pets The Wild Horse’s Mane - This Adultery Is Ripe - Genius
04/09/2020 11:49:37 [INFO] Genius tries to load the lyrics...
04/09/2020 11:49:37 [DEBUG] The constructed URL: http://genius.com/the-blood-brothers-jordan-billie-pets-the-wild-horse-s-mane-lyrics
04/09/2020 11:49:37 [INFO] No lyrics found.
04/09/2020 11:49:37 [DEBUG] no lyrics found from Genius
- [regex, "'", ""]
- [regex, "’", ""]
- [strip_nonascii, -]
I was doing some disk analysis on my laptop and just found out my mb_LyricsReloaded.log file is over 3GB :o
What on earth is the plugin writing to make the log that big? - I can't even load it into an editor and check, it's that big
Do I even need to keep it?
I looked at the log file like you suggested and I saw that the plug-in does look for lyrics in every source until it finds something, which makes this even weirder. Why does it find a source in previously failed attempts when I change the order of providers?I'm sorry but I don't understand what you're asking here.
Also, talking about providers, would it be possible to add LyricFind (https://www.lyricfind.com/)? The website isn't "open" per se, but it can provide lyrics through Google Search and it has been really useful when the plug-in doesn't find anything.That website doesn't have lyrics on it.
pattern: ['<!-- start of lyrics -->(?<lyrics>.+?)<!-- end of lyrics -->', s]
pattern: ['<!-- Usage of azlyrics.com content by any third-party lyrics provider is prohibited by our licensing agreement. Sorry about that. -->(?<lyrics>.+?)<!-- MxM banner -->', s]
I'm inclined to delete the source to be on the safe side.I'm inclined to agree with you. Especially since it's a gray area as to who is violating the copyright - you as the creator of the plugin, or the user of the plugin.
The good thing now is that it's broken, so no one is violating anything! :DI'm inclined to delete the source to be on the safe side.I'm inclined to agree with you. Especially since it's a gray area as to who is violating the copyright - you as the creator of the plugin, or the user of the plugin.
The thing you don't want is to get a digital rights copyright infringement letter from your ISP. Or your ever-so-friendly government watchdog agency.
So what does everyone think?
I've never been to their site directly before today.
It's obviously your decision, but I wouldn't like to be scared too much by an organisation that makes money themselves by harvesting and sharing the fruits of other peoples labour.It says at the bottom of the site that they license their lyrics from MusixMatch, which is still a provider, so I don't think anyone is losing anything by deleting the source.
They even publicly promote the amount of traffic they have, only to sell advertisements and make money:
https://www.azlyrics.com/adv.html
Did you enable the additional providers in your MB settings?
That looks right you should look in the plug-in's log file in your AppData folder (the exact file location is in this thread I don't have it right now) and see what URL the plug-in is constructing for this search and then see if it matches the actual URL for the lyrics on genius (assuming they're there). Also look for any other indication why it's not pulling them down. It's possible they changed something.
EDIT: Uh oh. Looks like they changed the format of their lyrics, at least when there are a lot of notes. Still starts with song_body-lyrics so something should happen though.
24-10-2020 10:41:03 [DEBUG] Lyrics request: The Weeknd - Can't Feel My Face - Beauty Behind the Madness - Genius
24-10-2020 10:41:03 [INFO] Genius tries to load the lyrics...
24-10-2020 10:41:03 [DEBUG] The constructed URL: http://genius.com/the-weeknd-cant-feel-my-face-lyrics
24-10-2020 10:41:07 [DEBUG] gzip compression detected
24-10-2020 10:41:07 [WARN] The pattern <div\s+class="song_body-lyrics"[^>]*?>[\s\S]*?<p>(?<lyrics>[\s\S]*?)</p> didn't match!
24-10-2020 10:41:07 [INFO] No lyrics found.
24-10-2020 10:41:07 [DEBUG] no lyrics found from Genius
pattern: ['<div\s+class="song_body-lyrics"[^>]*?>[\s\S]*?<p>(?<lyrics>[\s\S]*?)</p>', s]
pattern: ['<div\s+class="song_body-lyrics"[^>]*?>[\s\S]*?(?<div\s+class="lyrics">[\s\S]*?)</div>', s]
<div class="song_body-lyrics">
<h2 class="text_label text_label--gray text_label--x_small_text_size u-top_margin">Tell Your Friends Lyrics</h2>
<div initial-content-for="lyrics">
<div class="lyrics">
<!--sse-->
<p><a href="/The-weeknd-tell-your-friends-lyrics#note-7670658" data-id="7670658" class="referent" ng-click="open()" ng-class="{
'referent--linked_to_preview': song_ctrl.referent_has_preview(fragment_id),
'referent--linked_to_preview_active': song_ctrl.highlight_preview_referent(fragment_element_id),
'referent--purple_indicator': song_ctrl.show_preview_referent_indicator(fragment_element_id)
}" prevent-default-click="" annotation-fragment="7670658" on-hover-with-no-digest="set_current_hover_and_digest(hover ? fragment_id : undefined)" classification="accepted" image="false" pending-editorial-actions-count="0">
post-filters:
- strip_html
- clean_spaces
- utf8_encode
- [regex, 'googletag.*\);', "\n"]
- [regex, '\[.{1,75}\]', ""]
- [regex, "’", "'"]
- [replace, "\n\n", "\n"]
- trim
- [regex, '\[.{1,75}\]', ""]
Regex.Replace(value, "<.*?>", "")
Updating the OP now, new version is already on Github.And thanks to you for getting the fix out there so quickly.
Then the \n\n -> \n replacement takes the double breaks that creates and makes them a single break.Ok, this is the issue. A regular line of text will already end with \n, so if there's a line of text followed by a single empty line, this will remove the single line. The aim is to remove double empty lines left by removing the [labels], so the replacement should instead be \n\n\n -> \n\n
Ok, this is the issue. A regular line of text will already end with \n, so if there's a line of text followed by a single empty line, this will remove the single line. The aim is to remove double empty lines left by removing the [labels], so the replacement should instead be \n\n\n -> \n\nThe \n\n to \n replacement and trim command were user submissions from here (https://getmusicbee.com/forum/index.php?topic=25406.msg173902;topicseen#msg173902). I don't obsess over line spacing one way or the other - if the words are there and I can look at them then I personally don't need it to look any certain way - but I tested it and saw that it worked and figured it would be useful so I put it in. I'm not seeing any problem such as you describe with the spacing, but as I said I'm not really looking for one either.
I've already tested this as fixing my case, and behaving properly in lyrics with a mix of labelled and unlabelled empty lines.
Perhaps instead of exactly three \n it should be three or more, though?
To be clear, the only thing I stripped was things that showed up wrapped in [] like Verse 1, Chorus, etc. That entry is taken out and replaced with a blank line.I think I said this wrong in that reply. It just takes out the [.....] and replaces it with nothing, not a blank line. The blank line is formed by the \n that's already there. The change the other user made was to account for the space left, not an extra blank line created by the replacement.
[chorus]
Line 1
Line 2
Line 3
Line 4
[bridge]
Line 5
Line 6
Line 7
Line 8
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Of course you're right that I can fix it myself and I've done so, thanks for including that feature.All of the credit for that goes to the plug-in's original author.
I just don't want to get in a position where I'm changing this line for this user and then 6 months later changing it to something else for another user and then 6 months after that changing it back for a third user. I feel like the easy customization / personalization is much better suited for those kinds of changes than a wholesale built-in change is.Basically different strokes for different folks. I agree with you 100%. If the plugin didn't have the ability for an end user to customize to their liking, then I might feel differently. But since it's available, each user can make it their own. Perhaps with a little guidance from you, but unless you get a cascade of requests for the same customization, the user can do it.
09/12/2020 10:07:11 [INFO] A-Z Lyrics Universe tries to load the lyrics...Most often than not, AZ Lyrics is using a Captcha before allowing the user to see lyrics. I can't speak about the other errors you're seeing.
09/12/2020 10:07:11 [DEBUG] The constructed URL: http://www.azlyrics.com/lyrics/nealmorse/warmerthanthesunshine.html
09/12/2020 10:07:11 [INFO] No lyrics found.
09/12/2020 10:07:11 [DEBUG] no lyrics found from A-Z Lyrics Universe
09/12/2020 10:07:11 [DEBUG] gzip compression detected
09/12/2020 10:07:11 [WARN] The pattern <div id="lyrics-body">(?<lyrics>.*?)</div> didn't match!
09/12/2020 10:07:11 [INFO] No lyrics found.
Most often than not, AZ Lyrics is using a Captcha before allowing the user to see lyrics. I can't speak about the other errors you're seeing.
A to Z Lyrics Universe isn't even a provider in the plugin any more. I removed it two versions ago.And the reason you suggested that the OP update.
I do not have that provider in my MB list of lyrics providers.Meaning in the plug-in, or showing in Tags (2)
In Tags(2). It's not there.Well --- that makes this somewhat of a mystery, eh?
In Tags(2). It's not there.Well --- that makes this somewhat of a mystery, eh?
phred, do you have the old, no-longer-supported "Lyrics Fetcher" (mb_LyricsPlugin.dll) that Steven made installed? That has AZLyrics, and 5 will get you 10 that's why it's still in your list.Nice catch sweakul. Yep, It's installed. Or was installed. I've deleted it now since the only one that's still working is one I have no (or very, very little) need for.
ALL of those are now broken except for one--I believe it is RapGenius. I sure hope someone with the chops (i.e. not me) can add a working DarkLyrics or Metal-Archives plugin someday.
Exactly how are you trying to use the plugin? (Step-by-step, please.)
Is the plugin installed properly?
Do you have an internet connection?
Have you looked at the Error Log for MB? (help > View Error Log)
Have you looked at the log for the plugin? (\MusicBee\AppData\mb_LyricsReloaded\mb_LyricsReloaded.log)
pattern: ['<div id="lyrics-body">(?<lyrics>.*?)</div>', s]
pattern: ['<div id="lyrics-body-text" class="js-lyric-text">(?<lyrics>.*?)</div>', s]
13/12/2020 06:23:49 [DEBUG] Lyrics request: Amon Amarth - Under Siege - Deceiver Of The Gods - Genius
13/12/2020 06:23:49 [INFO] Genius tries to load the lyrics...
13/12/2020 06:23:49 [DEBUG] The constructed URL: http://genius.com/amon-amarth-under-siege-lyrics
13/12/2020 06:23:49 [DEBUG] Lyrics request: Amon Amarth - Under Siege - Deceiver Of The Gods - MetroLyrics
13/12/2020 06:23:49 [INFO] MetroLyrics tries to load the lyrics...
13/12/2020 06:23:49 [DEBUG] The constructed URL: http://www.metrolyrics.com/under-siege-lyrics-amon-amarth.html
13/12/2020 06:23:49 [DEBUG] Lyrics request: Amon Amarth - Under Siege - Deceiver Of The Gods - Musixmatch
13/12/2020 06:23:49 [INFO] Musixmatch tries to load the lyrics...
13/12/2020 06:23:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/amon-amarth/under-siege
13/12/2020 06:23:49 [DEBUG] gzip compression detected
13/12/2020 06:23:49 [WARN] The pattern <div id="lyrics-body">(?<lyrics>.*?)</div> didn't match!
13/12/2020 06:23:49 [INFO] No lyrics found.
13/12/2020 06:23:49 [DEBUG] no lyrics found from MetroLyrics
13/12/2020 06:23:49 [DEBUG] gzip compression detected
13/12/2020 06:23:49 [DEBUG] lyrics found from Musixmatch!
13/12/2020 06:24:05 [DEBUG] Lyrics request: Amon Amarth - Under Siege - Deceiver Of The Gods - Musixmatch
13/12/2020 06:24:05 [INFO] Musixmatch tries to load the lyrics...
13/12/2020 06:24:05 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/amon-amarth/under-siege
13/12/2020 06:24:05 [DEBUG] Lyrics request: Amon Amarth - Under Siege - Deceiver Of The Gods - Genius
13/12/2020 06:24:05 [INFO] Genius tries to load the lyrics...
13/12/2020 06:24:05 [DEBUG] The constructed URL: http://genius.com/amon-amarth-under-siege-lyrics
<div class="lyrics">
<!--sse-->
the start of the plain text lyrics.
Current Providers
Cušpajz
Genius
Letras de músicas
Metrolyrics
Musixmatch_Asian
Musixmatch
Oldies Lyrics
Smriti
Song Lyrics
Teksty
Urban Lyrics
Hindi Lyrics
Lolo and chartlyrics are not in this plugin
What does the log say?
I don't know how the sourcing works from MB to the providers other than the plugin is seen as one provider.
Lyrics are cached at /%AppData%/Local/MusicBee/InternalCache/Lyrics
Ah, so the first two are defaults in MusicBee.
And even if they are not enabled in the settings, they still get sourced.
And… always as top priority before any providers you have actually enabled and set as priority.
Strange, but am I correct in thinking this is how it works?
cd C:\MusicBee\AppData
del AlbumCoverHashes.dat &
cd C:\MusicBee\AppData\Dependencies\Spectrogram_Images
del *.* /q &
cd C:\MusicBee\AppData\mb_LyricsReloaded
del mb_LyricsReloaded.log &
@ECHO OFF
Set dir="c:\MusicBee\AppData\InternalCache\AlbumCovers"
Echo Deleting all files from %dir%
del %dir%\* /F /Q
Echo Deleting all folders from %dir%
for /d %%p in (%dir%\*) Do rd /Q /S "%%p"
@echo Folder deleted.
@ECHO OFF &
Set dir="c:\MusicBee\AppData\InternalCache\Lyrics"
Echo Deleting all files from %dir%
del %dir%\* /F /Q
Echo Deleting all folders from %dir%
for /d %%p in (%dir%\*) Do rd /Q /S "%%p"
@echo Folder deleted.
exit
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'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.
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?
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.
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.
Full documentation, written by the original plug-in author, is in this post (https://getmusicbee.com/forum/index.php?topic=25406.msg145769#msg145769).Thank you for this information. I will check on this also.
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.
First, I want to thank frakz for taking the lead in keeping this great plugin available to all of us. Finding correct lyrics can really be a chore sometimes, and this helps a lot.Thank you.
I do want to comment that the Search Next Provider function for lyrics in MB ONLY works if there are no saved lyrics for a track. Similarly, if you have options set to automatically save lyrics or use Auto-Tag to update lyrics, then you will ONLY ever see lyrics from the first provider in your list that has lyrics for the track in question, since MB will automatically save the first lyrics it finds, and then it stops looking. Furthermore, Auto-Tag>Update lyrics from web may find and save lyrics from a source that never shows up if you use Search Next Provider to check each one on your list. I do not know why that is the case, but I have seen it happen.
It is kind of a drag that there is no way to have MB search for new lyrics without first having to delete any saved ones you have, but I guess that is an issue with the core MB code and not this plugin.
And now just adding a comment on something strange I have encountered:
(not asking for anything, just adding the information here in case it helps someone else understand if they also see it.
I was doing a lot of repetitive testing on one song where several sites had totally wrong lyrics, but GENIUS alone had the correct ones. I repeated the Search Next Provider function many, many times over a couple of days (getting consistent results each time). Suddenly, for the same track I had been testing, the returned lyrics totally changed. CHARTLYRICS, which had been showing a completely wrong set of lyrics, began returning a totally different wrong set of lyrics. At the same time, GENIUS suddenly stopped returning any lyrics for that song at all. I went direct to the GENIUS site and verified the lyrics for that song were still there, so I have no idea why this plugin no longer finds them. I suspected maybe so many repeats of the lookup I was doing might have triggered something that stopped GENIUS from responding to queries from my address, but that is not the case; I still get lyrics from GENIUS for other tracks on the same album I was testing.
So finding correct lyrics for many songs is still a tedious process, but this plugin does help. I never used to pay any attention to the lyrics automatically displayed by MB, but now I try to watch them to see if they are correct. I am now making it a point to save the correct lyrics (when I find them), since it seems that you just cannot trust finding them again tomorrow from the same location!
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)
- [replace, "&", "and"]
Just wondering if there's now a way to fix the Genius Lyrics not showing up. They did a redesign of their website so imagine it can't fetch the lyrics like it did before.
<script>
window.__PRELOADED_STATE__ = JSON.parse('{\"currentPage\":\"songPage\",\"deviceType\":\"desktop\",\"session\":{\"cmpEnabled\":false,\"ccpaEnabled\":true,\"showAds\":true,\"logClientMetrics\":false,\"fringeEnabled\":true,\"taboolaEnabled\":false},\"songPage\":{\"song\":3593511,\"pinnedQuestions\":[],\"lyricsData\":{\"body\":{\"children\":[{\"children\":[\"[Verse 1]\",{\"tag\":\"br\"},\"Oh, you think you\'ve got it?\",{\"tag\":\"br\"},\"You know everything about it\",{\"tag\":\"br\"},\"What I do and what I say and what I dream\",{\"tag\":\"br\"},\"But the second I am hungry\",{\"tag\":\"br\"},\"Tappin\' on your window\",{\"tag\":\"br\"},\"Askin\' for my lover, there\'s nothing\",{\"tag\":\"br\"},\"\",{\"tag\":\"br\"},\"[Chorus]\",{\"tag\":\"br\"},\"Now I\'m kickin\' at the concrete\",{\"tag\":\"br\"},\"Wishin\' you would get me\",{\"tag\":\"br\"},\"But that thinkin\' never got me very far\",{\"tag\":\"br\"},\"So I\'ll do us both a favor\",{\"tag\":\"br\"},\"I\'ll catch up with ya later\",{\"tag\":\"br\"},\"It\'s better if I don\'t know where ya are\",{\"tag\":\"br\"},\"\",{\"tag\":\"br\"},\"[Verse 2]\",{\"tag\":\"br\"},\"Now I\'ve been under water\",{\"tag\":\"br\"},\"Watchin\' it all happen\",{\"tag\":\"br\"},\"Tried to count the stars but they just blurred\",{\"tag\":\"br\"},\"In Tulsa, Oklahoma\",{\"tag\":\"br\"},\"I tried to take the spotlight\",{\"tag\":\"br\"},\"Hung my head and wished I was a bird\",{\"tag\":\"br\"},\"\",{\"tag\":\"br\"},\"[Chorus]\",{\"tag\":\"br\"},\"Now I\'m kickin\' at the concrete\",{\"tag\":\"br\"},\"Wishin\' you would get me\",{\"tag\":\"br\"},\"But that thinkin\' never got me very far\",{\"tag\":\"br\"},\"So I\'ll do us both a favor\",{\"tag\":\"br\"},\"I\'ll catch up with ya later\",{\"tag\":\"br\"},\"It\'s better if I don\'t know where ya are\",{\"tag\":\"br\"},\"\",{\"data\":{\"name\":\"desktop_song_lyrics_inread\"},\"tag\":\"inread-ad\"},\"[Bridge]\",{\"tag\":\"br\"},\"The more I tried to own it\",{\"tag\":\"br\"},\"The more your heart went roamin\'\",{\"tag\":\"br\"},\"Hopin\' it would be more than a scar\",{\"tag\":\"br\"},\"\",{\"tag\":\"br\"},\"[Chorus]\",{\"tag\":\"br\"},\"So I\'ll do us both a favor\",{\"tag\":\"br\"},\"I\'ll catch up with ya later\",{\"tag\":\"br\"},\"It\'s better if I don\'t know where ya are\"],\"tag\":\"p\"},\"\"],\"tag\":\"root\"}},\"featuredQuestion\":null,\"showFeaturedQuestion\":false,\"pendingQuestionCount\":0,\"dfpKv\":[{\"values\":[\"3593511\"],\"name\":\"song_id\"}
[many many many lines truncated for length]
Phred is correct. Genius now seems to provide the lyrics in an unusable format (not as html).
<div class="Lyrics__Container-sc-1ynbvzw-6 krDVEH">
<a
href="/17672105/Manic-street-preachers-she-is-suffering/Verse-1"
class="ReferentFragment__ClickTarget-oqvzi6-0 evuxZm"
><span class="ReferentFragment__Highlight-oqvzi6-1 eZruqd"
>[Verse 1]</span
></a
><br />Beauty finds refuge in herself<br />Lovers wrapped inside each others
lies<br /><a
href="/4200019/Manic-street-preachers-she-is-suffering/Beauty-is-such-a-terrible-thing-she-is-suffering-yet-more-than-death"
class="ReferentFragment__ClickTarget-oqvzi6-0 evuxZm"
><span class="ReferentFragment__Highlight-oqvzi6-1 eZruqd"
>Beauty is such a terrible thing<br />She is suffering yet more than
death</span
></a
><br /><br />[Chorus]<br /><a
href="/2214260/Manic-street-preachers-she-is-suffering/She-is-suffering-she-sucks-you-deeper-in-she-is-suffering"
class="ReferentFragment__ClickTarget-oqvzi6-0 evuxZm"
><span class="ReferentFragment__Highlight-oqvzi6-1 eZruqd"
>She is suffering<br />She sucks you deeper in<br />She is suffering</span
></a
><br />You exist within her shadow<br /><br />[Verse 2]<br />Beauty she is
scarred into man's soul<br />A flower attracting lust, vice and sin<br />A
vine that can strangle life from a tree<br />Carrion, surrounding, picking on
leaves<br /><br />[Chorus]<br /><a
href="/2214260/Manic-street-preachers-she-is-suffering/She-is-suffering-she-sucks-you-deeper-in-she-is-suffering"
class="ReferentFragment__ClickTarget-oqvzi6-0 evuxZm"
><span class="ReferentFragment__Highlight-oqvzi6-1 eZruqd"
>She is suffering<br />She sucks you deeper in<br />She is suffering</span
></a
><br />You exist within her shadow<br /><br />[Verse 3]<br /><a
href="/15096087/Manic-street-preachers-she-is-suffering/Beauty-she-poisons-unfaithful-all-stifled-her-touch-is-leprous-and-pale"
class="ReferentFragment__ClickTarget-oqvzi6-0 evuxZm"
><span class="ReferentFragment__Highlight-oqvzi6-1 eZruqd"
>Beauty she poisons unfaithful all<br />Stifled, her touch is leprous and
pale</span
></a
><br />The less she gives the more you need her<br />No thoughts to forget
when we were children<br />
</div>
<div class="RightSidebar-pajcl2-0 eGLQob">
<div class="SidebarAd__Container-sc-1cw85h6-0 fzyndU">
<div class="SidebarAd__Ad-sc-1cw85h6-1 feqDwM">
<div
id="div-gpt-ad-desktop_song_lyrics_sidebar-desktop_song_lyrics_sidebar-1"
class="DfpAd__Container-sc-1tnbv7f-0 kthwUN"
></div>
</div>
</div>
</div>
<div class="Lyrics__Container-sc-1ynbvzw-6 krDVEH">
<div class="InreadAd__Container-sc-1pp8jgt-0 hFVRqM">
<div
id="div-gpt-ad-desktop_song_lyrics_inread-desktop_song_lyrics_inread-1"
width="300"
height="250"
class="DfpAd__Container-sc-1tnbv7f-0 hpiJis"
></div>
</div>
</div>
<div class="Lyrics__Container-sc-1ynbvzw-6 krDVEH">
[Chorus]<br /><a
href="/2214260/Manic-street-preachers-she-is-suffering/She-is-suffering-she-sucks-you-deeper-in-she-is-suffering"
class="ReferentFragment__ClickTarget-oqvzi6-0 evuxZm"
><span class="ReferentFragment__Highlight-oqvzi6-1 eZruqd"
>She is suffering<br />She sucks you deeper in<br />She is suffering</span
></a
><br /><a
href="/13140817/Manic-street-preachers-she-is-suffering/Natures-lukewarm-pleasure"
class="ReferentFragment__ClickTarget-oqvzi6-0 evuxZm"
><span class="ReferentFragment__Highlight-oqvzi6-1 eZruqd"
>Nature's lukewarm pleasure</span
></a
>
</div>
name: "Genius Lyrics Ripoff"
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"] # !!! (Chk Chk Chk) artist exception
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
# ^ Strip F./ft/eat/uring + everything after
- [regex, '\s&(?=\s)', " and"] # Replace " &" with " and"
## ^ Currently superfluous (for ARTIST) bc plugin preemptively replaces "&" with "and"
### ^ But still necessary for <title> "&" replacement
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""] # Strip "." + "," + beginning/end of string non-word chars
- [regex, "'", ""] # Separate expression bc of annoying way YAML escapes '
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
# ^ Replace medial non-alphanumeric char(s) with single "-" e.g., f**k > f-k
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
# ^ Clean up any remaining successive non-alphanumeric chars before strip_nonascii
## ^ Long & stupid bc couldn't figure out YAML-friendly non-capturing "(?:...)"
### ^ EZ version: [regex, '\W+(?:\W)(?<!$)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "http://genius-lyrics.com/{title}-lyrics-{artist}"
pattern: ['<p style="text-align: center;">(?<lyrics>.+?)<h2 style="text-align: center;">', s]
post-filters:
- strip_html
- clean_spaces
- utf8_encode
- [regex, '<!-- 2020 POST 3 -->', ""]
- [regex, 'googletag.*\);', "\n"]
I was able to find a site that seems to just scrape lyrics from Genius or some user is just copy and pasting them straight over with the correct HTML formatting. Here is the code for it. Only problems I have noticed are that sometimes there are ads in-between the lyrics (https://i.imgur.com/je8qTdd.png) so it has a bunch of extra spaces and the googleads link -- couldn't regex it. Also there isn't always two space breaks before a new lyric section (ex [Chorus], [Verse], etc) so it doesn't look super clean. But a start, for some artists not included in other large sites.
Thanks for putting that together. I'm going to hold off on adding it for the time being because I'm not sure how I feel about building something into the plugin itself that will unavoidably insert spam text into lyrics. I'm going to have to think on that.
Also, the site seems to be quite minor. As near as I can tell, the English side only has lyrics for about 17,000 songs, and English is the high point. Spanish language is about 330 songs, Italian 130, etc.
I appreciate the effort and skill though and, as a reminder, anyone can copy this to a text file on their computer, save it with a .yml extension, and put it into the "providers" folder that sits under the plugin's folder to use it right now.
name: "Genius-Lyrics"
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"] # !!! (Chk Chk Chk) artist exception
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\s&(?=\s)', " and"]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "http://genius-lyrics.com/{title}-lyrics-{artist}"
pattern: ['<p style="text-align: center;">(?<lyrics>.+?)<h2 style="text-align: center;">', s]
post-filters:
- [regex, "<div class='code-block.*?</script></div>", "", s]
- strip_html
- clean_spaces
- utf8_encode
- [regex, '^\[', "\n[", m]
- clean_spaces
- trim
Thank you for this information. I will check on this also.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? ThanksFull documentation, written by the original plug-in author, is in this post (https://getmusicbee.com/forum/index.php?topic=25406.msg145769#msg145769).
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.
Honestly, please someone fork this and take it over and update the original author's documentation and whatever else needs to be done. I just don't have the bandwidth for it every time a site changes a line of code or every time someone wants to add a lyric site with a handful of obscure songs at this point.
When I first looked at this, there were a handful of scripts that were orphaned in the original forum thread and only available to people who knew where to find them. The original plugin author was MIA, so I learned rudimentary C# and built them in.
My life is much different now than it was then. If Redearth or someone else wants to take the baton, by all means you have my blessing. Make a new thread and link it here and I'll bow out. Take the wheel.
I will say that I have serious doubts about the long-term longevity of the framework the plug-in uses to get lyrics. It seems that lyrics in plain text at easily predictable URLs are becoming more rare, and throttling of requests is becoming more common, and I don't see any indication that either of those two trends reversing. If someone is really going to do something that goes beyond maintenance and make it sustainable, it may be worthwhile to study what it is about that foobar plug-in that makes it works so well.
Man I am "clamoring" for it.. frankz made this sucker work well past its shelf life, but it's obvious how hard it must be to stay on top of the changes these sites make. Redearth I encourage you to give it a shot, there are PLENTY of users who would take advantage of this but like me just don't have the technical chops to write the code. As an inspiration I can refer to the complete resurrection of lyrics searching in the Foobar player when ONE GUY with the required time took the challenge to write the foo_multisource plugin that currently has ELEVEN working sources--Genius, Deezer, Metal Archives, etc etc. It would be so cool to see MusicBee in the same place. Please give it a go.
foo_multisource isn't actually a plugin, it's a collection of parsers he wrote for the Lyric Show Panel 3 plugin, which he did not write. The plugin is much more complex and powerful than LyricsReloaded, but it still requires updates to the parsers whenever non-API lyric sites change their page structures. The author of foo_multisource even said his parsers aren't stable, and he has put in a ton of work into creating and maintaining them. They happen to work really well right now because he literally just released an update
foo_multisource isn't actually a plugin, it's a collection of parsers he wrote for the Lyric Show Panel 3 plugin, which he did not write. The plugin is much more complex and powerful than LyricsReloaded, but it still requires updates to the parsers whenever non-API lyric sites change their page structures. The author of foo_multisource even said his parsers aren't stable, and he has put in a ton of work into creating and maintaining them. They happen to work really well right now because he literally just released an update
Honestly I think it would be easier to use this plugin on Foobar, save all lyrics to correct tag and then run in Musicbee as normal. If I had any sense of C#/++ I would try to put something together that uses the Genius API to scrape but I wouldn't even know how to get started on that.
I think I'm getting a yaml for the actual Genius too, but it's really complicated. Just nothing else works anymore, this plugin needs updating.
name: Genius
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div class="Lyrics__Container.*?">(?<lyrics>.*)<div class="Lyrics__Footer.*?">']
post-filters:
- utf8_encode
- entity_decode
- [regex, "<br/>", "\n"]
- strip_html
- clean_spaces
I think I have a yaml that works for Genius (until they change their formatting again).Wow, this actually works!! Thank you, crisp. FAST, too. Let's hope there is a solution for your code that maintains across their site changes--so far, so good!
I think I have a yaml that works for Genius (until they change their formatting again).
name: Genius
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [replace, "&", "and"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div class="Lyrics__Container.*?">(?<lyrics>.*)<div class="Lyrics__Footer.*?">']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
name: Musixmatch
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [regex, "'", ""]
- [regex, "/", " "]
- [regex, '\s&(?=\s)', " "]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '[^\sa-z0-9]\s*', ""]
- [strip_nonascii, -]
title:
type: title
filters:
- strip_diacritics
- lowercase
- [regex, " '|' |/", " "]
- [regex, "'", " "]
- [regex, '\.+|,+|/+|(\W+(?=$))|(^\W+)', ""]
- [regex, '\s&(?=\s)', " and"]
- [strip_nonascii, -]
config:
url: "http://www.musixmatch.com/lyrics/{artist}/{title}"
pattern: ['<p class="mxm-lyrics__content.*?">(?<lyrics>.*?)<div [^>]*"lyrics-report".*?>', s]
post-filters:
- [regex, "<script.*?</script>", "", s]
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
I also fixed Musixmatch, and added the minor tweaks to crisp's fix for Genius.Thanks Redearth! I can confirm both of these yml's are working fine drawing lyrics here, MUCH appreciated. For those who don't know, MusicBee will also draw lyrics from radio stations who send properly formatted track/artist metadata, and now these yml's are knockin' them out right and left.
For the sake of easy copy-pasting, I'm putting them both here.
Also for others: so as to not get the old existing Musixmatch mixed up with Redearth's new one on the Lyrics Providers priority list, I renamed the new yml-based one "musixmatch-new.yml", and changed the first line inside the file to "name: Musixmatch-new" which is how it shows up now on the list.Unless I misunderstand what you're referring to, the custom yaml with the same name overrules the yaml included with the plugin, it doesn't show two with the same name. Same with Genius.
Redearth, as long as you're on a roll(!), how about seeing what you can do with AZLyrics, DarkLyrics, or even metal-archives (which would be better than DarkLyrics)? Same plea goes out to crisp.
Unless I misunderstand what you're referring to, the custom yaml with the same name overrules the yaml included with the plugin, it doesn't show two with the same name. Same with Genius.Roger that, thanks. I was unaware that the yml if present would overrule/cloak a built-in with the same name.
AZ Lyrics works if you just copy the plugin's yaml to your custom directory. However it was disabled from being loaded by default in the plug-in and it wasn't explained why. I assume it had to do with being IP-banned from the site. I can take a quick look at the other two and let you know.Can you tell me where I can download the working AZLyrics code/yaml you refer to? Must have missed that one somewhere. And thanks for taking a look at metal-archives.com; the DarkLyrics site is a mere subset of that vast resource.
- [regex, '\[.{1,75}\]', ""]
Anyone who wants to add it to the yml until I get to doing this can put this in the "post-filters" section.Wow, thanks for the speedy support and solution. Works great.Code- [regex, '\[.{1,75}\]', ""]
thanks for taking a look at metal-archives.com; the DarkLyrics site is a mere subset of that vast resource.
I forgot I already answered someone else's question about DarkLyrics. Unfortunately the plugin straight-up doesn't support those websites, so writing a config would be impossible. It only supports URLs that include the artist and song title, and for the resulting page to have the lyrics for only one song. Those websites require the album in the URL, and there are multiple song lyrics on a single page. So, sorry about that.Thanks anyway Redearth for the definitive response on those, I'm happy to settle for the revised yml's you made available which do pull a LOT of lyrics from that category. The only other source I can think of that might effectively supplement what we already have is Deezer.
I notice that for a lot of lyrics I get the parts divided and specified by:Yes, many, many, MANY! lyrics from Genius have these subheaders, which I detest.
[Verse 1] , [Chorus], [Verse 2], [Outro], etc.
Anyone who wants to add it to the yml until I get to doing this can put this in the "post-filters" section.I ran into lyrics sourced from Genius that used curly brackets for {Intro} {Outro}.Code- [regex, '\[.{1,75}\]', ""]
- [regex, '[\[\{].{1,75}[\]\}]', ""]
Nice.Anyone who wants to add it to the yml until I get to doing this can put this in the "post-filters" section.I ran into lyrics sourced from Genius that used curly brackets for {Intro} {Outro}.Code- [regex, '\[.{1,75}\]', ""]
So I've added those to the regex:CodeOr does anyone have the experience that curly brackets are used for actual lyrics sometimes too, so they would better not be removed?- [regex, '[\[\{].{1,75}[\]\}]', ""]
- [replace, "\n\n", "\n"]
-trim
- [regex, 'googletag.*\);', "\n"]
- [regex, '<!--sse-->', ""]
- [regex, '<!--/sse-->', ""]
- [regex, "’", "'"]
Also, these were in the original and not this new and improved version. I don't know if they're relevant any more.Nice to see you're still keeping you hand in this, frankz. Does this part go in the filters section or the post-filters?Code- [regex, 'googletag.*\);', "\n"]
- [regex, '<!--sse-->', ""]
- [regex, '<!--/sse-->', ""]
- [regex, "’", "'"]
They were in the post-filters.Also, these were in the original and not this new and improved version. I don't know if they're relevant any more.Nice to see you're still keeping you hand in this, frankz. Does this part go in the filters section or the post-filters?Code- [regex, 'googletag.*\);', "\n"]
- [regex, '<!--sse-->', ""]
- [regex, '<!--/sse-->', ""]
- [regex, "’", "'"]
I fought against the bottle,
But I had to do it drunk â
Took my diamond to the pawnshop â
But that donât make it junk.
I also fixed Musixmatch, and added the minor tweaks to crisp's fix for Genius.
For the sake of easy copy-pasting, I'm putting them both here.
Genius:Codename: Genius
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [replace, "&", "and"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div class="Lyrics__Container.*?">(?<lyrics>.*)<div class="Lyrics__Footer.*?">']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
Musixmatch:Codename: Musixmatch
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [regex, "'", ""]
- [regex, "/", " "]
- [regex, '\s&(?=\s)', " "]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '[^\sa-z0-9]\s*', ""]
- [strip_nonascii, -]
title:
type: title
filters:
- strip_diacritics
- lowercase
- [regex, " '|' |/", " "]
- [regex, "'", " "]
- [regex, '\.+|,+|/+|(\W+(?=$))|(^\W+)', ""]
- [regex, '\s&(?=\s)', " and"]
- [strip_nonascii, -]
config:
url: "http://www.musixmatch.com/lyrics/{artist}/{title}"
pattern: ['<p class="mxm-lyrics__content.*?">(?<lyrics>.*?)<div [^>]*"lyrics-report".*?>', s]
post-filters:
- [regex, "<script.*?</script>", "", s]
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
(I would think this would also fix Musixmatch-Asian, but I'm not a good tester for it. If anyone wants it, I can add that too.)
Oh my gosh, thank you so much Redearth. The only issue I am noticing is where ads are placed between lyric sections (ex. [chorus] [verse] etc), it is not adding an extra space. And it only happens on some songs not all.
Here is a screenshot detailing it -- https://imgur.com/a/PFBA6eJ
Is there a way to get that fixed?
@crisp: I'm guessing that you haven't found a way to restore this yml despite the data I PM'd you? If not, thanks anyway for making the attempt. I know it's bound by the limits of the dll itself.Thanks sveakul, your message pointed me in the right direction, here's the updated yml:
name: Genius (2021-11-30)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div id="lyrics-root-pin-spacer">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '[\[\{].{1,75}[\]\}]', ""]
- [replace, "\n\n", "\n"]
- trim
name: Genius (2021-11-30)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div id="lyrics-root-pin-spacer">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[.{1,75}\]', ""]
- [regex, '\n{2,}',"\n\n", 's']
- trim
For anyone who wants to use the update provided by crisp, and is too lazy to make sveakul's changes...Thanks phred, if this doesn't work for anyone, it's just a missing square bracket at the end of the last regex. And if you wanna get rid of the leftover double newlines, this can go right after that regex:
- [regex, '\n{2,}',"\n\n", 's']
Thanks phred, if this doesn't work for anyone, it's just a missing square bracket at the end of the last regex.Sorry, my fault not phred's, that will teach me not do copy/paste operations when I'm falling asleep. crisp, thanks for the extra regex code that does indeed remove DOUBLE blank spaces that slipped by my edit. For the sake of completeness, below is crisp's new full genius.yml code that includes the bracket I missed and the extra regex to be added to prevent the double blanks:
name: Genius (2021-11-30)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div id="lyrics-root-pin-spacer">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[.{1,75}\]', ""]
- [regex, '\n{2,}',"\n\n", 's']
- trim
The only issue I am noticing is where ads are placed between lyric sections (ex. [chorus] [verse] etc), it is not adding an extra space. And it only happens on some songs not all.
Here is a screenshot detailing it -- https://imgur.com/a/PFBA6eJ
Is there a way to get that fixed?
- [regex, '\[.{1,75}\]', ""]
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Musixmatch
30/12/2021 11:10:49 [INFO] Musixmatch tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/penny-and-sparrow/eloise
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/penny-and-sparrow/eloise
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Musixmatch_Asian
30/12/2021 11:10:49 [INFO] Musixmatch_Asian tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/Penny-and-Sparrow/Eloise
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Genius
30/12/2021 11:10:49 [INFO] Genius tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://genius.com/penny-and-sparrow-eloise-lyrics
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - MetroLyrics
30/12/2021 11:10:49 [INFO] MetroLyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.metrolyrics.com/eloise-lyrics-penny-and-sparrow.html
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Urban Lyrics
30/12/2021 11:10:49 [INFO] Urban Lyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.urbanlyrics.com/lyrics/pennyandsparrow/eloise.html
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Song Lyrics
30/12/2021 11:10:49 [INFO] Song Lyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.songlyrics.com/penny-and-sparrow/eloise-lyrics/
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Teksty
30/12/2021 11:10:49 [INFO] Teksty tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://teksty.org/penny-and-sparrow,eloise,tekst-piosenki
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Smriti
30/12/2021 11:10:49 [INFO] Smriti tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://smriti.com/hindi-songs/eloise
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Letras de músicas
30/12/2021 11:10:49 [INFO] Letras de músicas tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://letras.mus.br/penny-and-sparrow/eloise/
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Hindi Lyrics
30/12/2021 11:10:49 [INFO] Hindi Lyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.hindilyrics.net/lyrics/of-Eloise.html
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Cušpajz
30/12/2021 11:10:49 [INFO] Cušpajz tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://cuspajz.com/tekstovi-pjesama/pjesma/penny-and-sparrow/eloise.html
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Oldies Lyrics
30/12/2021 11:10:49 [INFO] Oldies Lyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://oldielyrics.com/lyrics/penny_and_sparrow/eloise.html
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Song Lyrics
30/12/2021 11:10:50 [DEBUG] gzip compression detected
30/12/2021 11:10:50 [DEBUG] gzip compression detected
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Hindi Lyrics
30/12/2021 11:10:50 [DEBUG] lyrics found from Musixmatch_Asian!
30/12/2021 11:10:50 [DEBUG] lyrics found from Musixmatch!
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Teksty
30/12/2021 11:10:50 [DEBUG] gzip compression detected
30/12/2021 11:10:50 [WARN] The pattern <div class="lyrics">(?<lyrics>[\s\S]*?)</div> didn't match!
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Genius
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Oldies Lyrics
30/12/2021 11:10:51 [DEBUG] gzip compression detected
30/12/2021 11:10:51 [WARN] The pattern <div class="songbody">(?<lyrics>.*?)</div> didn't match!
30/12/2021 11:10:51 [INFO] No lyrics found.
30/12/2021 11:10:51 [DEBUG] no lyrics found from Smriti
30/12/2021 11:10:51 [DEBUG] gzip compression detected
30/12/2021 11:10:51 [WARN] The pattern <p\sclass="text\sclearfix">(?<lyrics>[\s\S]*?)</p> didn't match!
30/12/2021 11:10:51 [INFO] No lyrics found.
30/12/2021 11:10:51 [DEBUG] no lyrics found from Cušpajz
30/12/2021 11:10:52 [DEBUG] gzip compression detected
30/12/2021 11:10:52 [WARN] The pattern <div id="div_letra"[^>]*>(?<lyrics>.*?)</div> didn't match!
30/12/2021 11:10:52 [INFO] No lyrics found.
30/12/2021 11:10:52 [DEBUG] no lyrics found from Letras de músicas
30/12/2021 11:10:49 [INFO] Musixmatch tries to load the lyrics...when i open the link, there is lyrics in musixmatch site but why still "No lyric found" ?
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/penny-and-sparrow/eloise
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/penny-and-sparrow/eloise
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Musixmatch_Asian
30/12/2021 11:10:50 [DEBUG] lyrics found from Musixmatch!
I moved this to the LyricsReloaded (Updated) thread.thank you
This line...yes, it is. but No lyrics appear on lyric floating window you can see second image in my imgurCode...shows that it did find the lyrics at that url.30/12/2021 11:10:50 [DEBUG] lyrics found from Musixmatch!
https://imgur.com/a/6ayOkU9 (https://imgur.com/a/6ayOkU9)
31/12/2021 04:11:10 [DEBUG] Lyrics request: Clouds And Thorns - Everything Is Possible Now - Everything Is Possible Now - Musixmatch
31/12/2021 04:11:10 [INFO] Musixmatch tries to load the lyrics...
31/12/2021 04:11:10 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/clouds-and-thorns/everything-is-possible-now
31/12/2021 04:11:10 [DEBUG] Lyrics request: Clouds And Thorns - Everything Is Possible Now - Everything Is Possible Now - Genius
31/12/2021 04:11:10 [INFO] Genius tries to load the lyrics...
31/12/2021 04:11:10 [DEBUG] The constructed URL: http://genius.com/clouds-and-thorns-everything-is-possible-now-lyrics
31/12/2021 04:11:10 [DEBUG] Lyrics request: Clouds And Thorns - Everything Is Possible Now - Everything Is Possible Now - MetroLyrics
31/12/2021 04:11:10 [INFO] MetroLyrics tries to load the lyrics...
31/12/2021 04:11:10 [DEBUG] The constructed URL: http://www.metrolyrics.com/everything-is-possible-now-lyrics-clouds-and-thorns.html
31/12/2021 04:11:10 [DEBUG] Lyrics request: Clouds And Thorns - Everything Is Possible Now - Everything Is Possible Now - Urban Lyrics
31/12/2021 04:11:10 [INFO] Urban Lyrics tries to load the lyrics...
31/12/2021 04:11:10 [DEBUG] The constructed URL: http://www.urbanlyrics.com/lyrics/cloudsandthorns/everythingispossiblenow.html
31/12/2021 04:11:10 [DEBUG] Lyrics request: Clouds And Thorns - Everything Is Possible Now - Everything Is Possible Now - Song Lyrics
31/12/2021 04:11:10 [INFO] Song Lyrics tries to load the lyrics...
31/12/2021 04:11:10 [DEBUG] The constructed URL: http://www.songlyrics.com/clouds-and-thorns/everything-is-possible-now-lyrics/
31/12/2021 04:11:10 [DEBUG] Lyrics request: Clouds And Thorns - Everything Is Possible Now - Everything Is Possible Now - Musixmatch_Asian
31/12/2021 04:11:10 [INFO] Musixmatch_Asian tries to load the lyrics...
31/12/2021 04:11:10 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/Clouds-And-Thorns/Everything-Is-Possible-Now
31/12/2021 04:11:10 [DEBUG] gzip compression detected
31/12/2021 04:11:10 [DEBUG] lyrics found from Song Lyrics!
31/12/2021 04:11:10 [DEBUG] gzip compression detected
31/12/2021 04:11:10 [DEBUG] lyrics found from Musixmatch!
31/12/2021 04:11:10 [DEBUG] gzip compression detected
31/12/2021 04:11:10 [WARN] The pattern <div class="lyrics">(?<lyrics>[\s\S]*?)</div> didn't match!
31/12/2021 04:11:10 [INFO] No lyrics found.
31/12/2021 04:11:10 [DEBUG] no lyrics found from Genius
31/12/2021 04:11:15 [DEBUG] Received a notification of type TagsChanging
31/12/2021 04:17:22 [INFO] mb_LyricsReloaded in version 1.1.10.0 started!
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_cuspajz_com
31/12/2021 04:17:22 [INFO] Provider loaded: Cušpajz
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_genius_com
31/12/2021 04:17:22 [INFO] Provider loaded: Genius
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_hindilyrics_net
31/12/2021 04:17:22 [INFO] Provider loaded: Hindi Lyrics
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_letras_mus_br
31/12/2021 04:17:22 [INFO] Provider loaded: Letras de músicas
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_metrolyrics_com
31/12/2021 04:17:22 [INFO] Provider loaded: MetroLyrics
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_musixmatch_com
31/12/2021 04:17:22 [INFO] Provider loaded: Musixmatch
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_musixmatch_com_asian
31/12/2021 04:17:22 [INFO] Provider loaded: Musixmatch_Asian
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_oldielyrics_com
31/12/2021 04:17:22 [INFO] Provider loaded: Oldies Lyrics
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_smriti_com
31/12/2021 04:17:22 [INFO] Provider loaded: Smriti
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_songlyrics_com
31/12/2021 04:17:22 [INFO] Provider loaded: Song Lyrics
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_teksty_org
31/12/2021 04:17:22 [INFO] Provider loaded: Teksty
31/12/2021 04:17:22 [DEBUG] Loading config from field provider_urbanlyrics_com
31/12/2021 04:17:22 [INFO] Provider loaded: Urban Lyrics
31/12/2021 04:17:22 [DEBUG] Loading config from file: C:\Users\myfolder\AppData\Roaming\MusicBee\mb_LyricsReloaded\providers\azlyrics.com.yml
31/12/2021 04:17:22 [ERROR] Failed to load a configuration:
31/12/2021 04:17:22 [ERROR] (Lin: 89, Col: 64, Chr: 9494) - (Lin: 89, Col: 64, Chr: 9494): Mapping values are not allowed in this context.
31/12/2021 04:17:22 [ERROR] YamlDotNet.Core.SyntaxErrorException: (Lin: 89, Col: 64, Chr: 9494) - (Lin: 89, Col: 64, Chr: 9494): Mapping values are not allowed in this context.
at YamlDotNet.Core.Scanner.FetchValue()
at YamlDotNet.Core.Scanner.FetchNextToken()
at YamlDotNet.Core.Scanner.FetchMoreTokens()
at YamlDotNet.Core.Scanner.InternalMoveNext()
at YamlDotNet.Core.Parser.GetCurrentToken()
at YamlDotNet.Core.Parser.ParseDocumentEnd()
at YamlDotNet.Core.Parser.StateMachine()
at YamlDotNet.Core.Parser.MoveNext()
at YamlDotNet.Core.EventReader.Allow[T]()
at YamlDotNet.Core.EventReader.Expect[T]()
at YamlDotNet.RepresentationModel.YamlScalarNode..ctor(EventReader events, DocumentLoadingState state)
at YamlDotNet.RepresentationModel.YamlNode.ParseNode(EventReader events, DocumentLoadingState state)
at YamlDotNet.RepresentationModel.YamlDocument..ctor(EventReader events)
at YamlDotNet.RepresentationModel.YamlStream.Load(TextReader input)
at CubeIsland.LyricsReloaded.Provider.ProviderManager.loadProvider(TextReader configReader)
31/12/2021 04:17:22 [DEBUG] Loading config from file: C:\Users\myfolder\AppData\Roaming\MusicBee\mb_LyricsReloaded\providers\genius.com.yml
31/12/2021 04:17:22 [INFO] Provider loaded: Genius
31/12/2021 04:17:22 [INFO] The provider Genius does already exist and will be replaced.
31/12/2021 04:17:22 [DEBUG] Loading config from file: C:\Users\myfolder\AppData\Roaming\MusicBee\mb_LyricsReloaded\providers\musixmatch.com.yml
31/12/2021 04:17:22 [INFO] Provider loaded: Musixmatch
31/12/2021 04:17:22 [INFO] The provider Musixmatch does already exist and will be replaced.
31/12/2021 04:17:22 [DEBUG] Received a notification of type PluginStartup
31/12/2021 04:17:22 [DEBUG] Received a notification of type MusicBeeStarted
31/12/2021 04:17:22 [DEBUG] gzip compression detected
name: A-Z Lyrics Universe
variables:
artist:
type: artist
filters:
- lowercase
- strip_nonascii
title:
type: title
filters: artist
headers:
User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0' # Firefox 30 Win x64 user agent
config:
url: "http://www.azlyrics.com/lyrics/{artist}/{title}.html"
pattern: ['<!-- Usage of azlyrics.com content by any third-party lyrics provider is prohibited by our licensing agreement. Sorry about that. -->(?<lyrics>.+?)<!-- MxM banner -->', s]
post-filters:
- strip_html
- trim
- utf8_encode
Can somebody tell me what happen on this LyricsReloaded log?now lyrics shown as expected. thanks guys.Codeits showing No lyrics found on lyric floating window.30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Musixmatch
30/12/2021 11:10:49 [INFO] Musixmatch tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/penny-and-sparrow/eloise
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/penny-and-sparrow/eloise
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Musixmatch_Asian
30/12/2021 11:10:49 [INFO] Musixmatch_Asian tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/Penny-and-Sparrow/Eloise
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Genius
30/12/2021 11:10:49 [INFO] Genius tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://genius.com/penny-and-sparrow-eloise-lyrics
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - MetroLyrics
30/12/2021 11:10:49 [INFO] MetroLyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.metrolyrics.com/eloise-lyrics-penny-and-sparrow.html
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Urban Lyrics
30/12/2021 11:10:49 [INFO] Urban Lyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.urbanlyrics.com/lyrics/pennyandsparrow/eloise.html
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Song Lyrics
30/12/2021 11:10:49 [INFO] Song Lyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.songlyrics.com/penny-and-sparrow/eloise-lyrics/
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Teksty
30/12/2021 11:10:49 [INFO] Teksty tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://teksty.org/penny-and-sparrow,eloise,tekst-piosenki
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Smriti
30/12/2021 11:10:49 [INFO] Smriti tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://smriti.com/hindi-songs/eloise
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Letras de músicas
30/12/2021 11:10:49 [INFO] Letras de músicas tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://letras.mus.br/penny-and-sparrow/eloise/
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Hindi Lyrics
30/12/2021 11:10:49 [INFO] Hindi Lyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.hindilyrics.net/lyrics/of-Eloise.html
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Cušpajz
30/12/2021 11:10:49 [INFO] Cušpajz tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://cuspajz.com/tekstovi-pjesama/pjesma/penny-and-sparrow/eloise.html
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Oldies Lyrics
30/12/2021 11:10:49 [INFO] Oldies Lyrics tries to load the lyrics...
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://oldielyrics.com/lyrics/penny_and_sparrow/eloise.html
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Song Lyrics
30/12/2021 11:10:50 [DEBUG] gzip compression detected
30/12/2021 11:10:50 [DEBUG] gzip compression detected
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Hindi Lyrics
30/12/2021 11:10:50 [DEBUG] lyrics found from Musixmatch_Asian!
30/12/2021 11:10:50 [DEBUG] lyrics found from Musixmatch!
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Teksty
30/12/2021 11:10:50 [DEBUG] gzip compression detected
30/12/2021 11:10:50 [WARN] The pattern <div class="lyrics">(?<lyrics>[\s\S]*?)</div> didn't match!
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Genius
30/12/2021 11:10:50 [INFO] No lyrics found.
30/12/2021 11:10:50 [DEBUG] no lyrics found from Oldies Lyrics
30/12/2021 11:10:51 [DEBUG] gzip compression detected
30/12/2021 11:10:51 [WARN] The pattern <div class="songbody">(?<lyrics>.*?)</div> didn't match!
30/12/2021 11:10:51 [INFO] No lyrics found.
30/12/2021 11:10:51 [DEBUG] no lyrics found from Smriti
30/12/2021 11:10:51 [DEBUG] gzip compression detected
30/12/2021 11:10:51 [WARN] The pattern <p\sclass="text\sclearfix">(?<lyrics>[\s\S]*?)</p> didn't match!
30/12/2021 11:10:51 [INFO] No lyrics found.
30/12/2021 11:10:51 [DEBUG] no lyrics found from Cušpajz
30/12/2021 11:10:52 [DEBUG] gzip compression detected
30/12/2021 11:10:52 [WARN] The pattern <div id="div_letra"[^>]*>(?<lyrics>.*?)</div> didn't match!
30/12/2021 11:10:52 [INFO] No lyrics found.
30/12/2021 11:10:52 [DEBUG] no lyrics found from Letras de músicas
but in the log, for example in this line,Quote30/12/2021 11:10:49 [INFO] Musixmatch tries to load the lyrics...when i open the link, there is lyrics in musixmatch site but why still "No lyric found" ?
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/penny-and-sparrow/eloise
30/12/2021 11:10:49 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/penny-and-sparrow/eloise
30/12/2021 11:10:49 [DEBUG] Lyrics request: Penny and Sparrow - Eloise - Finch - Musixmatch_Asian
Can anyone help? at least some guess about what is happening here.
https://imgur.com/a/6ayOkU9 (https://imgur.com/a/6ayOkU9)
31/12/2021 03:35:24 [DEBUG] lyrics found from Song Lyrics!
31/12/2021 03:35:25 [DEBUG] gzip compression detected
31/12/2021 03:35:25 [WARN] The pattern <div class="Lyrics__Container.*?">(?<lyrics>.*)<div class="Lyrics__Footer.*?"> didn't match!
31/12/2021 03:35:25 [INFO] No lyrics found.
//---------------------or---------------------------
31/12/2021 03:39:39 [DEBUG] no lyrics found from Musixmatch_Asian
31/12/2021 03:39:39 [WARN] The pattern <p class="mxm-lyrics__content.*?">(?<lyrics>.*?)<div [^>]*"lyrics-report".*?> didn't match!
//----------------------or---------------------------
31/12/2021 03:39:39 [DEBUG] no lyrics found from Genius
31/12/2021 03:39:39 [DEBUG] gzip compression detected
31/12/2021 03:39:39 [DEBUG] gzip compression detected
31/12/2021 03:39:39 [WARN] The pattern <p class="mxm-lyrics__content ">\s*(?<lyrics>.*?)(</span>|<div[^>]*"lyrics-report") didn't match!
31/12/2021 03:39:39 [INFO] No lyrics found.
sometimes lyric found and no problem with the pattern, sometimes pattern didn't match.That means the page exists, but there are no lyrics on it (or they changed the code from the pattern that the plugin expects and the lyrics aren't between the tags that the plugin expects). There's no way to fix it if it's the former, if it's the latter the way to fix it is to write new code for the provider as users in this thread have done for Musixmatch and Genius.
is it normal? or i should change that provider too?
i got the logic here, but how can i make LyricsReloaded search the lyrics in this pattern if music artist are multiple?You can't. It will search for whatever is in "Display Artist" so display artist must be the artist that the lyric sites expect.
That means the page exists, but there are no lyrics on it (or they changed the code from the pattern that the plugin expects and the lyrics aren't between the tags that the plugin expects). There's no way to fix it if it's the former, if it's the latter the way to fix it is to write new code for the provider as users in this thread have done for Musixmatch and Genius.oh ok, i guess i should write my script for that.
The way that works is to split out multiple artists in the artist splitter, not show them in display artist, and list them as "feat" in the title.wait, if i make feat/and it in the title LyricsReloaded will find the song like,
oh ok, i guess i should write my script for that.https://github.com/mbfrankz/LyricsReloaded/tree/master/LyricsReloaded
do you have some great site so i can getting start to write the code?
wait, if i make feat/and it in the title LyricsReloaded will find the song like,The long and short of it is that your files have to be tagged so that they match the standards and conventions used by the lyrics site(s) you want to use.
"http://www.musixmatch.com/lyrics/Jeremy-Zucker/you-were-good-to-me-feat-Chelsea-Cutler" and will not found the lyrics.
while the correct one is "https://www.musixmatch.com/lyrics/Jeremy-Zucker-feat-Chelsea-Cutler/you-were-good-to-me"
(https://www.musixmatch.com/lyrics/ARTIST/TITLE)
or maybe is there a way to make if else statement in provider.yml code. i want to make it be like if(artist is multiple) do use this code. else, do code.
18/01/2022 09:27:38 [INFO] Musixmatch-Update tries to load the lyrics...
18/01/2022 09:27:38 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/kawano-marina/kieru-daydream
18/01/2022 09:27:38 [INFO] No lyrics found.
18/01/2022 09:27:38 [DEBUG] no lyrics found from Musixmatch-Update
[regex, '(\w+) (\w+)', '\2 \1']
or
[regex, '([a-z]+) ([a-z]+)', '\2 \1']
18/01/2022 09:37:59 [INFO] Musixmatch-Name-Order tries to load the lyrics...
18/01/2022 09:37:59 [DEBUG] The constructed URL: http://www.musixmatch.com/lyrics/kawano-marina/kieru-daydream
18/01/2022 09:37:59 [INFO] No lyrics found.
18/01/2022 09:37:59 [DEBUG] no lyrics found from Musixmatch-Name-Order
[regex, '(\w+) (\w+)', '\2 \1']
- [regex, '(\w+)(\s)(\w+)', $3$2$1]
- [strip_nonascii, -]
title:
type: title
filters: artist
name: Musixmatch Swap Artist Order
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
# -----------Library Unique------------ #
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(featuring.+|feat[\W\s]+|ft[\W\s]+|(f[\W\s])).+', ""]
#--------------URL Unique-------------- #
# [regex, ' & ', " and "]
# ------------------------------------- #
- [regex, '[^a-z0-9\s]{1,}', ""]
- [regex, '[\W]{2,}', " "]
- [regex, '(\W+(?=$))|(^\W+)', ""]
- [regex, '(\w+)(\s)(\w+)', $3$2$1]
- [strip_nonascii, -]
title:
type: title
filters:
- strip_diacritics
- lowercase
# -----------Library Unique------------ #
#--------------URL Unique-------------- #
# ------------------------------------- #
- [regex, '[^a-z0-9\s]{1,}', ""]
- [regex, '[\W]{2,}', " "]
- [regex, '(\W+(?=$))|(^\W+)', ""]
- [strip_nonascii, -]
album:
type: album
filters:
- strip_diacritics
- lowercase
# -----------Library Unique------------ #
#--------------URL Unique-------------- #
# ------------------------------------- #
- [regex, '[^a-z0-9\s]{1,}', ""]
- [regex, '[\W]{2,}', " "]
- [regex, '(\W+(?=$))|(^\W+)', ""]
- [strip_nonascii, -]
headers:
User-Agent: 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:77.0) Gecko/20100101 Firefox/77.0'
config:
url: "http://www.musixmatch.com/lyrics/{artist}/{title}"
pattern: ['<p class="mxm-lyrics__content.*?">(?<lyrics>.*?)<div [^>]*"lyrics-report".*?>', s]
post-filters:
#------------Website Unique------------- #
- [replace, "</span></p><div>", "\n"]
- [regex, "<script.*?</script>", "", 's']
#--------------------------------------- #
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[.+\]', ""]
- [regex, '\n{2,}',"\n\n", 's']
- trim
name: Genius (2022)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\n{2,}',"\n\n", 's']
- trim
Small change for Genius. With the old '(2021-11-30)' version it just started adding -- 'xxxx Lyrics' to the top so changed the div class where lyrics should start.Thanks LazR for the working fix!
- [regex, '\[.{1,75}\]', ""]
name: Genius (2022)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[.{1,75}\]', ""]
- [regex, '\n{2,}',"\n\n", 's']
- trim
- [replace, "&", "and"]
28/01/2022 08:16:52 [DEBUG] Lyrics request: twikipedia - titles 웃 w/ funeral - titles 웃 - Genius
28/01/2022 08:16:52 [INFO] Genius (2022) tries to load the lyrics...
28/01/2022 08:16:52 [DEBUG] The constructed URL: https://genius.com/twikipedia-titles-w-funeral-lyrics
I noticed when 2 artists work in collaboration, they'd sometimes get a separate page on genius, kinda like this: https://genius.com/artists/Oliver-tree-and-little-big (https://genius.com/artists/Oliver-tree-and-little-big). But the provider made by both LazR and sveakul wouldn't account for this, so I tried fixing this. This seems to work after putting it under the replace already in thereThanks DareNova for this! I notice that another user "beat you to it", ShotgunStev3 (https://getmusicbee.com/forum/index.php?topic=25406.msg189875#msg189875 (https://getmusicbee.com/forum/index.php?topic=25406.msg189875#msg189875)), but it didn't show up in complete yml posts so far. Has anyone else been using this as described, and have you noitced any unintended results? BTW you mentioned me in your "made by" statement, actually I haven't made any personal coding contributions other than re-arranging some lines already made by others. The honors go to frankz, LaZr, Redearth, crisp, hiccup, and probably others I've missed.CodeI don't know if this messes anything else up, but like I said, it seems to work pretty well for me- [replace, "&", "and"]
The plug-in is seen as one provider by MusicBee no matter how many individual providers you search within the plug-in. So whichever is the first site to return lyrics within the plug-in, it will always be the one offered up by MusicBee even if other sites from the plug-in also have lyrics.
Each lyrics site native to MusicBee will be seen as an individual site and get cycled through by search next provider. All sites enabled through the plugin will be seen as one provider. Song Lyrics and Genius are plugin providers. Chart Lyrics is not.I could do it manually, but then what would be the point of installing a plugin in the first place? Thanks for the info anyway.
If you have a specific problem song or songs, you can also just paste the lyrics for that song or those songs into MusicBee. You are not bound to let MusicBee automatically discover them.
I could do it manually, but then what would be the point of installing a plugin in the first place?Because it works pretty well in most situations.
Well, it works..It's just that I wanted to cycle through lyrics for a song from different sites from just the lyrics window without doing any copy-paste work. I guess chartlyrics and songlyrics will have to do for now. :)It's hard when the things we download from the internet for free aren't perfect, but it's a burden we must all bear. ;D
Maybe I'm misremembering but finding lyrics worked flawlessly some years ago for me while cycling through the providers option.I'm sorry this is happening to you.
Maybe I'm misremembering but finding lyrics worked flawlessly some years ago for me while cycling through the providers option. As for the artist pictures, I'm just content with getting the lyrics and album artwork tag, so no worries there. At least the album art works almost always.You still haven't said if you downloaded the latest version of the plugin. Also, if you read the latter part of this forum as I initially advised, you'll see that some sources that went inactive due to site changes have since been fixed through contributions of newer yml files--Genius and MusixMatch are two of these--that now produce all kinds of results if downloaded from the relevant posts and put in your "C:\...\AppData\mb_LyricsReloaded\providers" directory.
name: Genius (2022-1-27)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[.{1,75}\]', ""]
- [regex, '\n{2,}',"\n\n", 's']
- trim
The following (complete) yml has the fix by LazR that removes the "(title) Lyrics" line in Genius. You will have to re-select it in your prefs if keeping the name-with-date, or change it in code to match what you use now:Codename: Genius (2022-1-27)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[.{1,75}\]', ""]
- [regex, '\n{2,}',"\n\n", 's']
- trim
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[',"\n["]
- [regex, '\n{2,}',"\n\n", 's']
- trim
This is more of a note to myself.
In case anyone prefers to keep those section headers (stuff like [Verse 1:], [Chorus:]) from Genius, but also hates that sometimes there's no blank line between the sections to properly set them apart, here's what my post-filters look like:CodeI don't know much about regex, but this is working for me so far.post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[',"\n["]
- [regex, '\n{2,}',"\n\n", 's']
- trim
title:
type: title
filters: artist
Copy the code as-is from this post and save it to a text file; then, rename the file "genius.yml": https://getmusicbee.com/forum/index.php?topic=25406.msg198321#msg198321 (https://getmusicbee.com/forum/index.php?topic=25406.msg198321#msg198321) .
Then, move the new file genius.yml into the folder MusicBee\AppData\mb_LyricsReloaded\providers, overwriting any file of the same name. If you have the Installer version of MB the path is probably like C:\Users\(username)\AppData.. etc. If you have the Windows Store version you can't do this at all; I recommend you move to the Portable version.
Next, go into MB Preferences/Tags(2)/auto-tagging/lyrics, press the "..." button next to the lyrics box, and in the source choices check "Genius (2022-1-27)", and uncheck any other Genius entry (techniques here may vary, this is what I do). Hit the "Update" button, then Save.
This will give you working Genius lyrics retrieval. Follow the same general procedure for A-Z Lyrics Universe (https://getmusicbee.com/forum/index.php?topic=25406.msg196786#msg196786 (https://getmusicbee.com/forum/index.php?topic=25406.msg196786#msg196786)) and MusixMatch (use the second code script from the post at https://getmusicbee.com/forum/index.php?topic=25406.msg195077#msg195077 (https://getmusicbee.com/forum/index.php?topic=25406.msg195077#msg195077)).
Tweaks to the Genius code to provide different results in spacing, etc. can be found in other posts on the thread.
name: Genius (2022-1-27)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[',"\n["]
- [regex, '\n{2,}',"\n\n", 's']
- trim
- [regex, '\s&(?=\s)', " and"]
- [regex, '((?<=\s)([^a-z0-9\s-])(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
Wouldn't usingCodebe better than- [regex, '\s&(?=\s)', " and"]
Codefor artist filters because Genius changes '&' to 'and' in URLs? Is there something else that the current longer regex also does that I can't figure out?- [regex, '((?<=\s)([^a-z0-9\s-])(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
Is there a way to remove [Intro], [Chorus], [Verse], etc ?If you mean from Genius, the code at the post below already does that, thanks to a mod by frankz:
’ ( )
name: Genius (2022-1-27)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[',"\n["]
- [regex, '\n{2,}',"\n\n", 's']
- trim
18/04/2022 08:28:06 [DEBUG] Lyrics request: Andrew Jackson Jihad - We Didn’t Come Here To Rock - Can’t Maintain - Genius (2022-1-27)
18/04/2022 08:28:06 [INFO] Genius (2022-1-27) tries to load the lyrics...
18/04/2022 08:28:06 [DEBUG] The constructed URL: https://genius.com/andrew-jackson-jihad-we-didn-t-come-here-to-rock-lyrics
18/04/2022 08:28:06 [INFO] No lyrics found.
18/04/2022 08:28:06 [DEBUG] no lyrics found from Genius (2022-1-27)
18/04/2022 08:28:23 [DEBUG] Lyrics request: Andrew Jackson Jihad - Olde(y) Tyme - Can’t Maintain - Genius (2022-1-27)
18/04/2022 08:28:23 [INFO] Genius (2022-1-27) tries to load the lyrics...
18/04/2022 08:28:23 [DEBUG] The constructed URL: https://genius.com/andrew-jackson-jihad-olde-y-tyme-lyrics
18/04/2022 08:28:23 [INFO] No lyrics found.
18/04/2022 08:28:23 [DEBUG] no lyrics found from Genius (2022-1-27)
18/04/2022 08:28:39 [DEBUG] Lyrics request: Andrew Jackson Jihad - Kazoo Sonata In Cmaj - Can’t Maintain - Genius (2022-1-27)
18/04/2022 08:28:39 [INFO] Genius (2022-1-27) tries to load the lyrics...
18/04/2022 08:28:39 [DEBUG] The constructed URL: https://genius.com/andrew-jackson-jihad-kazoo-sonata-in-cmaj-lyrics
18/04/2022 08:28:40 [DEBUG] gzip compression detected
18/04/2022 08:28:40 [WARN] The pattern <div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">(?<lyrics>.*)<div class="Lyrics__Footer-sc- didn't match!
18/04/2022 08:28:40 [INFO] No lyrics found.
18/04/2022 08:28:40 [DEBUG] no lyrics found from Genius (2022-1-27)
18/04/2022 08:34:03 [DEBUG] Received a notification of type TagsChanging
18/04/2022 08:35:16 [DEBUG] Received a notification of type TagsChanging
18/04/2022 08:39:05 [DEBUG] Received a notification of type TagsChanging
18/04/2022 08:44:43 [DEBUG] Lyrics request: Aimee Mann - That’s Just What You Are - I’m With Stupid - Genius (2022-1-27)
18/04/2022 08:44:43 [INFO] Genius (2022-1-27) tries to load the lyrics...
18/04/2022 08:44:43 [DEBUG] The constructed URL: https://genius.com/aimee-mann-that-s-just-what-you-are-lyrics
18/04/2022 08:44:44 [INFO] No lyrics found.
18/04/2022 08:44:44 [DEBUG] no lyrics found from Genius (2022-1-27)
And, sorry, I don't feel like reading all this topic :sread post #1
So, maybe we need an abstract, a TLDR, how how to configure this shit ? Where to download ?
name: Genius (2022-1-27)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[.{1,75}\]', ""]
- [regex, '\n{2,}',"\n\n", 's']
- trim
name: A-Z Lyrics Universe
variables:
artist:
type: artist
filters:
- lowercase
- strip_nonascii
title:
type: title
filters: artist
headers:
User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0' # Firefox 30 Win x64 user agent
config:
url: "http://www.azlyrics.com/lyrics/{artist}/{title}.html"
pattern: ['<!-- Usage of azlyrics.com content by any third-party lyrics provider is prohibited by our licensing agreement. Sorry about that. -->(?<lyrics>.+?)<!-- MxM banner -->', s]
post-filters:
- strip_html
- trim
- utf8_encode
name: Musixmatch-new
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [regex, "'", ""]
- [regex, "/", " "]
- [regex, '\s&(?=\s)', " "]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '[^\sa-z0-9]\s*', ""]
- [strip_nonascii, -]
title:
type: title
filters:
- strip_diacritics
- lowercase
- [regex, " '|' |/", " "]
- [regex, "'", " "]
- [regex, '\.+|,+|/+|(\W+(?=$))|(^\W+)', ""]
- [regex, '\s&(?=\s)', " and"]
- [strip_nonascii, -]
config:
url: "http://www.musixmatch.com/lyrics/{artist}/{title}"
pattern: ['<p class="mxm-lyrics__content.*?">(?<lyrics>.*?)<div [^>]*"lyrics-report".*?>', s]
post-filters:
- [regex, "<script.*?</script>", "", s]
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
This includes the three scripts posted a couple of posts above.Thanks (again) frankz!
You're not doing anything wrong. I think I forgot how to add providers. I put the yml in but don't remember how to reference it. I think I can remember if I put a little time behind it - standby for 1.1.12 tonight or tomorrow. Sorry - it's what happens when you do something once every two years and were never really solid on it to begin with.This includes the three scripts posted a couple of posts above.Thanks (again) frankz!
Perhaps I am doing something wrong, but could it be that A-Z Lyrics is missing?
standby for 1.1.12 tonight or tomorrow.Obviously: no pressure, no hurries.
We can only be grateful that somebody is voluntarily making an effort on this stuff to begin with.A huge +1
Quick question, is it possible to also include the bracketed portions of Genius lyrics?Personally I don't want to see them. And from what I recall neither do most other folks who are using this plugin.
- [regex, '\[.{1,75}\]', ""]
Hello Frankz, I wanted to add www.lyricsify.com to the providers because they have a lot of synced lyrics that the included providers dont.I don't know. I didn't create the plugin and have no idea about those loaders, what they are, or how they might work. Your guess would probably be better than mine because I don't even see those things.
The problem is that the site uses {artist}/{song}/ url with a string of random characters at the end, making it impossible to create a url pattern in the .yml file.
But then i noticed that you can choose between static/search/api loaders, but i havent found a single word about what the search one does and how.
To me it sounds like you can make the plugin search the site instead of creating an exact url.
How can I make it work? If thats what it does ofc.
Lrc123.com requires search
LYRDB uses an API
chartLyrics.com uses an API
AZ Lyrics working
Dark Lyrics required title for search
Lyrics Time broken
SongMeanings.net required search
LoloLyrics required search
RapGenius working
PLyrics.com working
UrbanLyrics.com working
http://www.oldielyrics.com working
http://www.tekstowo.pl/ working mostly, needs parameterized filters
http://www.teksciory.pl/ requires search
http://teksty.org/ working
http://www.jpopasia.com requires search
http://lyrics.wikia.com/Lyrics_Wiki requires entity decoder
http://www.maxilyrics.com requires search
http://letras.mus.br/ working
musica.com requires search
http://www.metrolyrics.com working
www.songlyrics.com working
tunewiki.com possible
viewlyrics.com possible
# the name of the provider. this will be shown in MusicBee's settings
name: 'Example'
# the loader for this provider: static, search, api
loader: static
This is the line that removes the bracketed (i.e. non-lyrical) content.CodeYou can create a yml that does not include this line.- [regex, '\[.{1,75}\]', ""]
Using Musixmatch, only after the third line of lyrics there is no new line character.
EDIT: the culprit resides in the webpage's structure, which has 2 distinct paragraphs for the first 3 lines and the rest of the lyrics. I would like to edit the yml config but I don't know how to do that correctly.
Using Musixmatch, only after the third line of lyrics there is no new line character.
EDIT: the culprit resides in the webpage's structure, which has 2 distinct paragraphs for the first 3 lines and the rest of the lyrics. I would like to edit the yml config but I don't know how to do that correctly.
Using Musixmatch, only after the third line of lyrics there is no new line character.
EDIT: the culprit resides in the webpage's structure, which has 2 distinct paragraphs for the first 3 lines and the rest of the lyrics. I would like to edit the yml config but I don't know how to do that correctly.
You can download the Musixmatch yml (https://raw.githubusercontent.com/mbfrankz/LyricsReloaded/master/LyricsReloaded/Configs/musixmatch.com.yml) from the repo, put it in %APPDATA%\MusicBee\mb_LyricsReloaded\providers, change the name inside the yml (as per usual), and add this line before strip_html in the post-filters:
- [regex, '<div class="inline_video_ad_container_container">', "\n", s]
There's a div for ads after the first 3 lines, but it's going to be stripped out anyways, so you can replace it with a newline.
Using Musixmatch, only after the third line of lyrics there is no new line character.
EDIT: the culprit resides in the webpage's structure, which has 2 distinct paragraphs for the first 3 lines and the rest of the lyrics. I would like to edit the yml config but I don't know how to do that correctly.
You can download the Musixmatch yml (https://raw.githubusercontent.com/mbfrankz/LyricsReloaded/master/LyricsReloaded/Configs/musixmatch.com.yml) from the repo, put it in %APPDATA%\MusicBee\mb_LyricsReloaded\providers, change the name inside the yml (as per usual), and add this line before strip_html in the post-filters:
- [regex, '<div class="inline_video_ad_container_container">', "\n", s]
There's a div for ads after the first 3 lines, but it's going to be stripped out anyways, so you can replace it with a newline.
class="Lyrics__Container-sc-1ynbvzw-6 jYfhrf">
class="Lyrics__Container-sc-1ynbvzw-6 YYrds">
name: Genius (2022-7-1)
variables:
artist:
type: artist
filters:
- strip_diacritics
- lowercase
- [replace, "!!!", "chk-chik-chick"]
- [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
- [regex, '\.+|,+|(\W+(?=$))|(^\W+)', ""]
- [regex, "'", ""]
- [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
- [regex, '\s&(?=\s)', " and"]
- [strip_nonascii, -]
title:
type: title
filters: artist
config:
url: "https://genius.com/{artist}-{title}-lyrics"
pattern: ['<div data-lyrics-container="true" class="Lyrics__Container-sc-1ynbvzw-6 YYrds">(?<lyrics>.*)<div class="Lyrics__Footer-sc-', 's']
post-filters:
- br2nl
- strip_html
- utf8_encode
- entity_decode
- clean_spaces
- [regex, '\[',"\n["]
- [regex, '\n{2,}',"\n\n", 's']
- trim
https://github.com/mbfrankz/LyricsReloaded/releases/tag/1.1.14/Thanks for keeping this going, frankz.
https://github.com/mbfrankz/LyricsReloaded/releases/tag/1.1.14/
I'm not sure exactly what you're asking here.https://github.com/mbfrankz/LyricsReloaded/releases/tag/1.1.14/
Thanks very much, frankz, for figuring out how to build and release a package. I legitimately have appreciated your work. I've used it for years.
Any chance you would write up how you got it to build? I, and I think others, would be grateful.
Regardless, I would love updating the readme to just successfully building the plugin. It would really help.
I'm not sure exactly what you're asking here.https://github.com/mbfrankz/LyricsReloaded/releases/tag/1.1.14/
Thanks very much, frankz, for figuring out how to build and release a package. I legitimately have appreciated your work. I've used it for years.
Any chance you would write up how you got it to build? I, and I think others, would be grateful.
Regardless, I would love updating the readme to just successfully building the plugin. It would really help.
I basically make all of the changes
- then I go to Build->Build Solution (F6) in Visual Studio
- then I go to the folder where the dll gets written (\%ProjectFolder%\bin\Release\merged) and copy the dll to my own installation to make sure it works.
- If it does, I put it in a zip file.
- Then I commit the changes and sync them to github.
- Then I create a release in github and upload the zip file.
- Then I update the readme on github.
- Then I post a link in this thread and update the first post in this thread.
- Then I update the musicbee add-on site from the dashboard here.
- Then I wait for it to break again and hope someone who knows what they're doing takes it over.
Is that what you were asking?
frankz..I'm not sure how much more clear I can be. I think I'm being very clear, actually, as literally every single other person on this thread seems to get it.
people, myself included, have been asking you to incorporate pull requests, and help build this package for what, nearly 2+ years?
You were resistant and seemed to agree that this project might not be worth saving. I agreed with you.
Now that you seem to be willing to help with this, can we just drop it and get together to build this project and improve it?
frankz..You've got some balls taking someone like frankz up to measure.
people, myself included, have been asking you to incorporate pull requests, and help build this package for what, nearly 2+ years?
You were resistant and seemed to agree that this project might not be worth saving. I agreed with you.
Now that you seem to be willing to help with this, can we just drop it and get together to build this project and improve it?
It's been a fun ride.Thanks for all that you have done Frankz!
But it was nice to feel like I was contributing to a piece of software (MB) and a community (this one) that I really like, and I hope everyone enjoys the breath of life Mayibongwe has given the plug-in and the new direction it's being taken in (a direction which appears to have been the original intent and one that I could never in a million years have even begun to accomplish).Thanks again frankz for taking this plugin through the slippery slopes and coming out successfully at the end! Your work (incl. the GitHub page etc.) much appreciated.
Thanks frankz. Your time and reluctance in maintaining this plugin is greatly appreciated.
Thanks again frankz for taking this plugin through the slippery slopes and coming out successfully at the end! Your work (incl. the GitHub page etc.) much appreciated.You're welcome. You guys were great throughout. Most were.
Thanks for all your hard work, frankz!Gosh - you just made me feel pretty good. Thank you. I hope you (and everyone) enjoy the new version. It seems to be a real step (or several) forward in functionality.
Your efforts saved me countless hours of manual searching and copying. Before MusicBee, I was an iTunes user of over 15 years. There, all tagging is manual and I could only dream of lyrics magically appearing in my songs. Adding lyrics was a priority of mine, but I still had a giant backlog I couldn't catch up to on my own. Once I hopped on MusicBee, this was the first plugin I tried, and boy was it fruitful!
Long before I signed up, I was always in awe of how you and the community kept this plugin alive. Given your lack of programming background and blatant honesty, somehow you made it work. For years!
You're a real hero in my eyes.
So to You, and the community members who supported you,
Thank you all,
From the bottom of my heart.
Astro Gaze