Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: NEW ESLyric v0.5 - an alternative lyric show component (Read 57252 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #150
@TT  :  I see that LRCLIB (lrclib.js) was recently added to ESLyric's searcher scripts with you listed as the author--thanks!
However, there seems to be a problem with the LRCLIB script in that it NEVER returns lyrics for radio stream metadata, even when moved to the top of the list.  This is unusual because that source was also recently made available in their forum to the AIMP player, and when listed first there returns results time after time with radio streams, almost as responsive as Genius.

I'm thinking that perhaps your lrclib.js searcher is requiring the presence of an album name (and duration?) in the source to work, but those are never present in radio stream track metadata.  This issue also affected the original metallum.js script, and I was able to "fix" it by editing out of the script references to album name.  I tried a similar approach with lrclib.js (also removing "duration") but it still fails to produce any results on streams.

Can you please see what may be the problem?  The results were so prolific when LRC was added as a source to AIMP that I got all excited when I saw it was now available on ESLyric for Foobar only to end up puzzled.  You could test this on almost any popular music stream that send lyrics; a single example of a song whose lyrics should have been found by lrclib.js is "Kick Me Out" by "Plushgun" from SomaFM's  Poptron stream.

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #151
@TT  :  I see that LRCLIB (lrclib.js) was recently added to ESLyric's searcher scripts with you listed as the author--thanks!
However, there seems to be a problem with the LRCLIB script in that it NEVER returns lyrics for radio stream metadata, even when moved to the top of the list.  This is unusual because that source was also recently made available in their forum to the AIMP player, and when listed first there returns results time after time with radio streams, almost as responsive as Genius.

I'm thinking that perhaps your lrclib.js searcher is requiring the presence of an album name (and duration?) in the source to work, but those are never present in radio stream track metadata.  This issue also affected the original metallum.js script, and I was able to "fix" it by editing out of the script references to album name.  I tried a similar approach with lrclib.js (also removing "duration") but it still fails to produce any results on streams.

Can you please see what may be the problem?  The results were so prolific when LRC was added as a source to AIMP that I got all excited when I saw it was now available on ESLyric for Foobar only to end up puzzled.  You could test this on almost any popular music stream that send lyrics; a single example of a song whose lyrics should have been found by lrclib.js is "Kick Me Out" by "Plushgun" from SomaFM's  Poptron stream.
@TT

TT's script uses api/get method and the docs state that artist, title, album and duration must exist.

https://lrclib.net/docs

A modification is needed to use api/search method which could return results for streams (artist, title)

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #152
Hi @sveakul,

as @zeremy pointed out, the LRCLIB source script is using the get method that uses artist, title, album and duration.
I did not had radio streaming in mind and thought this would get the best results when I have tested it.

Sorry but I am very busy atm, you could try and test it yourself and see if it works and has good results ( check both local albums and radio streaming ):
https://github.com/ESLyric/scripts/blob/d208b664aa468c24f07b26496b06992dbfb05be7/searcher/lrclib.js#L22

Change:
Code: [Select]
const url = `https://lrclib.net/api/get?artist_name=${artist}&track_name=${title}&album_name=${album}&duration=${duration}`;
to
Code: [Select]
const url = `https://lrclib.net/api/search?artist_name=${artist}&track_name=${title}`;

- TT

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #153
I forgot to mention you should also change:
Code: [Select]
if (artist === '' || album === '' || title === '') return;
to
Code: [Select]
if (artist === '' ||  title === '') return;

-TT

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #154
Thank you TT for the FAST reply, and Zeremy for your observation.

I made the changes to the file exactly as described by TT, and it still fails to return any results for any streams;  FWIW, it fails on files also (although the original does not).

As ESLyric is intended to work with streams or files, and does except in cases like the original metallum.js from TT (but this was fixed by changes basically identical to what you just prescribed for LRCLIB!), I'm hoping that you will have the time to take another look at the script.  I will be happy to test any additional changes right away--thanks!!

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #155
Thank you TT for the FAST reply, and Zeremy for your observation.

I made the changes to the file exactly as described by TT, and it still fails to return any results for any streams;  FWIW, it fails on files also (although the original does not).

As ESLyric is intended to work with streams or files, and does except in cases like the original metallum.js from TT (but this was fixed by changes basically identical to what you just prescribed for LRCLIB!), I'm hoping that you will have the time to take another look at the script.  I will be happy to test any additional changes right away--thanks!!

Ok, I took a quick look and the issue was that it can not find the lyrics because the structure is a little different for the search method.
It's an array with nested object, i.e you need to adjust and improve the findLyrics function to this:
Code: [Select]
function findLyrics(content) {
const data = JSON.parse(content);
const json = Array.isArray(data) ? data[0] : data;
const lyrics = (json.syncedLyrics && json.syncedLyrics.trim()) || json.plainLyrics;
// Check if syncedLyrics is a non-empty string, otherwise fall back to plainLyrics
return lyrics.trim();
}

-TT

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #156
Ok, I took a quick look and the issue was that it can not find the lyrics because the structure is a little different for the search method.
It's an array with nested object, i.e you need to adjust and improve the findLyrics function to this:

WOW, this works, and "prolifically!!"  THANK YOU TT for taking the time to take a second look and provide this addition to the code for using LRCLIB with streams!  The results flood in from radio streams from many genres, I'm amazed at the variety of the LRCLIB search database.  I kept the initial code changes you posted that drop "album" as a factor, and then replaced the "function findLyrics(content)" section with the code you posted in your latest message.  Because I prefer fixed to synced lyrics, I also swapped around the lines originally giving synced priority to instead giving fixed lyrics priority, falling back to synced.

BTW, the modified script works great on music files too not just streams, it just drops "album" from the required search terms.

I have renamed the script and added it alongside the TT original lrclib.js, so either can be selected.  The version modified for streams has the filename "lrclib-streams.js" and the interior name that shows up on the ESLyric lyrics sources list of "LRCLIB (Mixed)(Streams)."  It is attached for anyone wishing to try it--just drop it into your ..\profile\eslyric-data\scripts\searcher folder, and move it where you want to on the priority list.  As I mentioned above, this one is prioritized for fixed lyrics, but if you would rather prioritize for synced just substitute its "function findLyrics(content)" section with the one as posted by TT in his above message.

Thanks again TT for this major addition for stream lovers!

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #157
Ok, I took a quick look and the issue was that it can not find the lyrics because the structure is a little different for the search method.
It's an array with nested object, i.e you need to adjust and improve the findLyrics function to this:
BTW, the modified script works great on music files too not just streams, it just drops "album" from the required search terms.
Thanks again TT for this major addition for stream lovers!
Thx

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #158
Thanks for the LRCLib source, I also just recently learned about it. I have a lot of lyric files already, so I'm hoping for an easy way to automate submitting them to the LRCLib server (it seems to have an API for it). It looks like the standalone app only supports submitting the lyrics one by one manually after copy-pasting them, which would take way too long.

I'm glad there's a downloadable lyric dump DB (was tired of using Minilyrics to submit synced lyrics). On that note, I wonder if there's a scrape of Genius.com anywhere?

Also, it seems that the Genius source script has trouble parsing non-English track titles (which have a parenthesis in the track title). I tried searching for this one and it didn't come up.

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #159
Also, it seems that the Genius source script has trouble parsing non-English track titles (which have a parenthesis in the track title). I tried searching for this one and it didn't come up.
In Search Settings/Field Processing, try checking, or un-checking depending on where it's at now, the Operation "Remove characters."

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #160
In Search Settings/Field Processing, try checking, or un-checking depending on where it's at now, the Operation "Remove characters."
This one? I think I worded it poorly. My track title is normal (自転車), but Genius puts the romanization in parenthesis (自転車 (Jitensha)), which I think is messing up search results. I tried unchecking the box and removing the filter, but it still doesn't come up. Searching for 自転車 Tsushi Mamire on the website's own search bar brings it up, so at least it doesn't seem completely broken.



Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #161
You seem to be using a different ESLyric version than mine (0.5.4.1028)--see screenshot below; my shot is from the Prefs/Tools/ESLyric settings submenu.  The "Remove Characters" operation in Field Processing affects results when parens or brackets are included in the metadata's track title or artist fields, which is why I recommended toggling this if you are not getting expected results.  I leave that operation un-checked as my default.  You can edit the regex used directly but I like to keep things simple.


Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #162
You seem to be using a different ESLyric version than mine (0.5.4.1028)--see screenshot below; my shot is from the Prefs/Tools/ESLyric settings submenu.  The "Remove Characters" operation in Field Processing affects results when parens or brackets are included in the metadata's track title or artist fields
You're right, mine was a bit out of date. And again, my track title is fine. It doesn't have anything in parenthesis that needs to be removed. It's Genius.com which adds the romanization to the title on their site. Now, I'm not sure if this actually affects the search from ESLyric, but I think it does. Maybe it's checking for exact matches?

If you can search for this song and pull it up on ESLyric, let me know.

https://genius.com/Tsushi-mamire-jitensha-lyrics

I tried the other lyric component I have installed, OpenLyric, and it was able to pull up the song just fine.


Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #163
You're right, mine was a bit out of date. And again, my track title is fine. It doesn't have anything in parenthesis that needs to be removed. It's Genius.com which adds the romanization to the title on their site. Now, I'm not sure if this actually affects the search from ESLyric, but I think it does. Maybe it's checking for exact matches?
You still have not said if you've actually TRIED toggling the field processing operation I indicated, and if and how it affects your results.

I use the plugin almost 100% for streams only, and of course how a particular station is parsing the metadata it sends for any particular song is going to matter, making me a bad test subject, especially as all I collect are lyrics with romanized characters.  The developer always.beta would be the perfect one to respond here;  you could also take the question over to the ESlyric github forum, where he is much more active than here.


Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #164
genius site,I can't get the lyrics by searching with the keyword [Tsushi Mamire-自転车 (Jitensha)], you have to use [Tsushi Mamire-Jitensha] to search, I don't know how to write the regular expression, I can delete the content outside () and only keep the content inside the parentheses. Or search manually.

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #165
How does the "Remove Wildcards" feature work in Lyrics Processor?

I am looking to remove the following lines at the beginning of lyric files and it does not seem to work..  the [ti;, [ar:, etc always start the lines I want to remove.

[ti:Duck and Run (Live)]
[ar:3 Doors Down]
[al:Away From the Sun (Special Edition)]
[by:]

Please see the 4 "remove wildcard" entries I have in the attached picture.  Why do these expressions not remove the 1st 4 lines below (bold lines) from the top of my lyric file?

[ti:Duck and Run (Live)]
[ar:3 Doors Down]
[al:Away Form the Sun (Special Edi]
[by:]

[01:04.53]To this world I'm unimportant
[01:07.21]Just because I have nothing to give

I thought I found my answer toward the bottom of this issue on Github on what it does...
https://github.com/ESLyric/feedback/issues/115

Testing seem like it works sometimes and sometimes not.  Thoughts? 

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #166
I am looking to remove the following lines at the beginning of lyric files and it does not seem to work..  the [ti;, [ar:, etc always start the lines I want to remove.

[ti:Duck and Run (Live)]
[ar:3 Doors Down]
[al:Away From the Sun (Special Edition)]
[by:]
ESLyric does not support the ability to remove these four lines.

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #167
I am looking to remove the following lines at the beginning of lyric files and it does not seem to work..  the [ti;, [ar:, etc always start the lines I want to remove.

[ti:Duck and Run (Live)]
[ar:3 Doors Down]
[al:Away From the Sun (Special Edition)]
[by:]
ESLyric does not support the ability to remove these four lines.


Thank you for confirming.  I appreciate it. 

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #168
It would be appreciated if the Desktop Lyric width could be changed in the settings.

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #169
It would be appreciated if the Desktop Lyric width could be changed in the settings.
When unlocking the lyrics on the desktop, manually drag the border to adjust the width! Does it really make sense to set the width inside? I also didn't see the width adjustment in Windows Explorer settings

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #170
It would be appreciated if the Desktop Lyric width could be changed in the settings.
When unlocking the lyrics on the desktop, manually drag the border to adjust the width! Does it really make sense to set the width inside? I also didn't see the width adjustment in Windows Explorer settings
Long time I don't know how to adjust the width.
Now everything OK. Thank you very much.

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #171
Just noticed that alpha versions (latest v1.0.0.1005) of the new major update of ESLyric are beginning to rollout (https://github.com/ESLyric/release/releases)!  Looking forward to testing this later this week starting from a scratch install after removal of .5.4.1028.  Thanks always.beta!

Significant Changes

    Minimum system version support up to Windows 10 RS1 (1607).
    Panel and desktop lyrics use Direct2D/DirectWrite rendering, removing legacy GDI and GDI+ support.
    Removed Emulated Transparent background type and added Dynamic Blur background type.

Detailed Changes

    Completely refactored lyrics module.
    Optimize the smoothness of panel lyrics (including full-screen lyrics) under high DPI.
    Panel lyrics support better blur and shadow effect.
    Panel Lyrics supports configuring the color profile of played lyrics.
    Desktop Lyrics support wider range of fonts.
    Desktop Lyrics supports better shadows and glows.
    Desktop Lyrics only supports manually selecting fonts to change the size for the time being, other ways to change the size of fonts are disabled.


Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #172
Just noticed that alpha versions (latest v1.0.0.1005) of the new major update of ESLyric are beginning to rollout (https://github.com/ESLyric/release/releases)!  Looking forward to testing this later this week starting from a scratch install after removal of .5.4.1028.  Thanks always.beta!

Significant Changes

    Minimum system version support up to Windows 10 RS1 (1607).
    Panel and desktop lyrics use Direct2D/DirectWrite rendering, removing legacy GDI and GDI+ support.
    Removed Emulated Transparent background type and added Dynamic Blur background type.

Detailed Changes

    Completely refactored lyrics module.
    Optimize the smoothness of panel lyrics (including full-screen lyrics) under high DPI.
    Panel lyrics support better blur and shadow effect.
    Panel Lyrics supports configuring the color profile of played lyrics.
    Desktop Lyrics support wider range of fonts.
    Desktop Lyrics supports better shadows and glows.
    Desktop Lyrics only supports manually selecting fonts to change the size for the time being, other ways to change the size of fonts are disabled.

With this v1.0.0.1005 there are several problems so much so that I put the 0.5.4.1028 back.
Audio blocks. Audio shots.

Edit. I had an active DSP and this is probably the cause. I'm doing tests.

I confirm he doesn't like DSP SqrSoft Compressor/Limiter

https://www.foobar2000.org/components/view/foo_dsp_sqrcomp


Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #173
Panel Preferences... > Advance tab > Layout > Layout file (xxx.xml)

The text is no longer displayed in ESLyric 1.0.0.1005 (1006) (Alpha).
There's no problem with ESLyric 1.0.0.1001 (Alpha) and 0.5.4.1028.

Windows 11
foobar2000 v2.1.5 64-bit

Thanks.

ESLyric 1.0.0.1001 (Alpha)


ESLyric 1.0.0.1005 (1006) (Alpha)
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: NEW ESLyric v0.5 - an alternative lyric show component

Reply #174
Began testing 1.0.0.1006 Alpha release today.

In a Foobar panel display, an immediate bug found is that when any lyrics are retrieved (radio streams), they quickly autoscroll through the panel to the end even if the context menu choice "Autoscroll" is un-checked.  Worked properly in version 0.5.4.1028.

The "Advanced" tab in Panel Preferences has a new setting for Display/Scrolling which was left at "default" (apparently controls "Easing Functions") as there is no "off" option there; a button there also brings up a "Scroll settings" box for duration/limit, left at default of "0" also with no "off" choice.

Please fix context menu choice;  is visually unusable now.