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: foo_uie_lyrics3 (Read 886344 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_uie_lyrics3

Reply #1275
Hi all,

First of all huge thanks to The Vern for this brilliant component!!! And thanks to WilB and other good-willed people here.
I've been reading this thread (from the start) and made some decisions and wrote a small script, maybe they are worth sharing (for the ideas or for those who are allergic to scripting), you judge. It is inspired by previous posts and easy to write.

First I decided to put the lyrics in the tags, following the convention of the component. As I only use foobar I have no compatibilities issues. For those wondering:
Foobar natively supports Unsynced Lyrics (that goes to USLT in id3v2), but not Lyrics, that will be stored in a TXXX (user-defined text) frame (instead of SYLT).

I defined one more custom tag named Lyrics check. It's a string, containing:
n if no lyrics expected (instrumental track)
s if synchronized lyrics have been checked (and corrected if necessary)
u if unsynchronized lyrics have been checked

example: n  or  s  or  u  or  su

Then I created a custom column called lyrics (in the DUI). It prints nothing if n is found in Lyrics check, or else it prints "su", with each letter:
dimmed if no corresponding lyrics are present in tag,
normal if corresponding lyrics are present,
highlighted if they have been checked:
Code: [Select]
$ifgreater($strchr(n,%lyrics check%),0,,$if(%lyrics%,$ifgreater($strchr(s,%lyrics check%),0,>>>s<<<,s),<<<s>>>)$if(%unsynced lyrics%,$ifgreater($strchr(u,%lyrics check%),0,>>>u<<<,u),<<<u>>>))

I batch downloaded and saved lyrics during for some days (and nights).
Then in the "artist" field from the search configuration tab, I used the $if(%ispaused%,%artist%,) trick so that no search begins if I don't explicitly ask for it (with pause and a keyboard shortcut for "Next Lyrics"), but this can be changed anytime...

And this all works pretty well. Thank you!

foo_uie_lyrics3

Reply #1276
How about building in some quality control?

I am currently listening to Aerosmith Greatest Hits. Fairly common music, so there should be plenty of lyrics around.

The first track, Dream On, came up with leet speek and strange squares instead of symbols, like
[01:23.18]U got 2 lose 2 know how 2 win.你不知道应该如何去赢得生活
[02:45.77]Sing 4 the laugh & sing 4 the tear.为笑声和眼泪而唱!


The second track, Same Old Song and Dance, came up without any capitalisation:
[00:46.06]get yourself cooler, lay yourself low

It should be fairly easy to detect:
- an excessive amount of 2 4 U &
- additional Chinese/Japanese/etc symbols
- no captitalised letters at all
and then try to find and alternative source.

The fifth track, Last Child, only has five lines of lyrics. Again this should be easy to detect and compare.

foo_uie_lyrics3

Reply #1277
How about building in some quality control?

I am currently listening to Aerosmith Greatest Hits. Fairly common music, so there should be plenty of lyrics around.

The first track, Dream On, came up with leet speek and strange squares instead of symbols, like
[01:23.18]U got 2 lose 2 know how 2 win.?????????????
[02:45.77]Sing 4 the laugh & sing 4 the tear.?????????


The second track, Same Old Song and Dance, came up without any capitalisation:
[00:46.06]get yourself cooler, lay yourself low

It should be fairly easy to detect:
- an excessive amount of 2 4 U &
- additional Chinese/Japanese/etc symbols
- no captitalised letters at all
and then try to find and alternative source.

The fifth track, Last Child, only has five lines of lyrics. Again this should be easy to detect and compare.


I don't see "leet speak" or "strange squares" in your quoted text.

As for your points:
- some lyrics "officially" (booklet) contain an excessive amount of "2 4 U &".  Not to mention scanning an entire file after timestamps are stripped for a subjective "excessive amount" of subjectively chosen characters sounds like awful feature creep
- you know the timestamped LRC sources are Chinese, right?
- see "scanning an entire file after timestamps are stripped"

Nothing's stopping you from opening up the download dialog and manually picking the download source.  But I imagine you wouldn't be pleased regardless of what the component does "automatically" for you because at the end of the day, you're still using Chinese websites so learn to read "strange squares".

foo_uie_lyrics3

Reply #1278
Those are just Chinese characters in his quote. He is probably missing or disabled the corresponding language setting(s) in windows.

I agree that the proposed quality check seems like an overkill. If you are really that serious about it, you will have to do it manually. Most of these lyric databases are going to have...'imperfect' formatting.

foo_uie_lyrics3

Reply #1279
Is rare, but sometimes the Timestamped is founded, but sometimes not in the lyrics plugin, maybe the lyrics database is running destabilized.

foo_uie_lyrics3

Reply #1280
Please help me ...
Does anyone still have the old 0.3.6 beta 5 version on their computer?
Please share it with me :( I really need it.
I switched to the new version (0.4.1) but it have high cpu usage (went from 1-2% to 25-30%) - this problem doesn't occur on older version
I went to find older version on the internet but only found 0.3.5.2
0.3.5.2 found lyrics which I saved in the tag before but the problem is it only display a single dot "." but not the lyrics.
And sorry for my bad English

foo_uie_lyrics3

Reply #1281
First link on search for foo_uie_lyrics3 0.3.6 beta 5

Single dot may be related with newer Foobar2000 versions and not plugin.
Look at the release notes for Foorbar 2000 and there is a config file you can use to allow large text fields to display correctly.
You can search here on LargeFieldsConfig.txt for more information

foo_uie_lyrics3

Reply #1282
First link on search for foo_uie_lyrics3 0.3.6 beta 5

Single dot may be related with newer Foobar2000 versions and not plugin.
Look at the release notes for Foorbar 2000 and there is a config file you can use to allow large text fields to display correctly.
You can search here on LargeFieldsConfig.txt for more information


Thank you very much  I really appreciate it!

foo_uie_lyrics3

Reply #1283
Nothing's stopping you from opening up the download dialog and manually picking the download source.  But I imagine you wouldn't be pleased regardless of what the component does "automatically" for you because at the end of the day, you're still using Chinese websites so learn to read "strange squares".



One of the major selling points of using computers is to automate trivial tasks like finding the CD and looking at the cover.

This plugin obviously just accepts the first lyrics it finds without doing any quality control.

Lyrics for an English song by a band from an English speaking country should NOT include any Chinese, Taiwanese, Japanese, Hebrew, Arabic or Greenlandic translations.

And it is really simple for a programmer (I know I have been doing it for 25 years) to strip away the timestamps and analyse the content:

- How many lines are there. Less than 30? Hmmm maybe this is a very short song or maybe I should try to fetch another lyrics and see if this has a similar amount of lines.

- How many whole-words 2 4 U & are there? Are there any capital letters at all? ....

foo_uie_lyrics3

Reply #1284
Source code is readily available.

foo_uie_lyrics3

Reply #1285
One of the major selling points of using computers is to automate trivial tasks like finding the CD and looking at the cover.

This plugin obviously just accepts the first lyrics it finds without doing any quality control.

Lyrics for an English song by a band from an English speaking country should NOT include any Chinese, Taiwanese, Japanese, Hebrew, Arabic or Greenlandic translations.

And it is really simple for a programmer (I know I have been doing it for 25 years) to strip away the timestamps and analyse the content:

- How many lines are there. Less than 30? Hmmm maybe this is a very short song or maybe I should try to fetch another lyrics and see if this has a similar amount of lines.

- How many whole-words 2 4 U & are there? Are there any capital letters at all? ....


Please tell me how your LRC demands are "trivial"?

How is the plugin supposed to know that your band sings in English?  Why can't the band sing in Chinese, Taiwanese, Japanese, Hebrew, Arabic or Greenlandic?  Even if the plugin were able to determine the language of your audio file, why do you think the plugin would be able to detect the language of the text file?  Not even Google Translate can auto-detect correctly all the time.

How is the plugin supposed to know how many lines of lyrics your song has?  Why is less than 30 lines for an LRC file suspect?  You're aware that you can have nested timestamps so the same line only needs to appear once - what if the song is 3 minutes of the same sentence, repeated 20 times?  You'd only have one line.  And what if most of the song is instrumental?

How is the plugin supposed to know that the lyrics shouldn't contain a subjectively chosen amount of numbers?  Why should the plugin decide what "good capitalization" is versus "bad capitalization" when people don't agree or want the same things?

Disregarding the fact that the features you're requesting are impossible without guidance from the user (i.e. not automatic)... Like it or not, you're not the only consumer of this plugin, and I can guarantee you the features you're requesting are features that many other users would want disabled.  And if you've been programming for 25 years, I can't imagine how you haven't considered these basic design questions.  How are the answers to any of these issues "trivial"?

if you truly believe these issues are trivial, source code is available - feel free to implement your "fixes", no one's stopping you.  I'll be sure not to use your fork because I listen to Chinese, Taiwanese, Japanese, Hebrew, Arabic or Greenlandic music, as well as music where the LRC file wouldn't exceed 30 lines.

foo_uie_lyrics3

Reply #1286
Hi,

I wrote a scrip to read my 1000s of Lyric files (lrc only) and fix txt issues various like double spaces, CAPITAL letters etc

It fails to load the txt data when the .lrc file is character encoded in something not "stardard" text.

Would the developer/s consider to add a setting to force encoding to UTF-8 (popular unicode)?

If you do, a good library is "enca" (Extremely simple charset converter) that can guess the original encoding and convert from that.

An other one that I am testing is "iconv", both got dll version (I am using CLI)

Did anyone did this already? any feedback welcome (please PM) :-)

Cheers,

foo_uie_lyrics3

Reply #1287
I really love this plug-in. I find it super handy. My only dislike is the changing of the synced lyrics offset by scrolling with the mouse wheel.

I wish there was an option to disable it and just allow scrolling through the lyrics without altering the offset.

foo_uie_lyrics3

Reply #1288
Until/if the Vern introduces this feature (his previous response is here http://www.hydrogenaudio.org/forums/index....st&p=851512) you could try as a workaround, if saving to files, of setting the lyric files to read only - a quick test shows that a new offset is not saved after scrolling. Else there is reset offset on the right click menu.

foo_uie_lyrics3

Reply #1289
Hi,

Can't read the previous post too much, just want to say "foo_uie_lyrics3-0.4.1" break the lyrics edit function, the edited lyrics cannot be saved to the file. All edited content will lost.
Hong Kong - International Joke Center (after 1997-06-30)

foo_uie_lyrics3

Reply #1290
Hi,

Can't read the previous post too much, just want to say "foo_uie_lyrics3-0.4.1" break the lyrics edit function, the edited lyrics cannot be saved to the file. All edited content will lost.


I was thinking this was the case, but I have found that the plugin will usually pick a .txt file 1st, even is a .lrc is available. ( same band, same song , same album )
All you really have to do is manually select the .lrc file and then go delete the .txt file.

foo_uie_lyrics3

Reply #1291
Hi,

I wrote a scrip to read my 1000s of Lyric files (lrc only) and fix txt issues various like double spaces, CAPITAL letters etc

It fails to load the txt data when the .lrc file is character encoded in something not "stardard" text.

Would the developer/s consider to add a setting to force encoding to UTF-8 (popular unicode)?

If you do, a good library is "enca" (Extremely simple charset converter) that can guess the original encoding and convert from that.

An other one that I am testing is "iconv", both got dll version (I am using CLI)

Did anyone did this already? any feedback welcome (please PM) :-)

Cheers,




perhaps you should batch enca/icon through all of your lyrics to solve this issue?

 

foo_uie_lyrics3

Reply #1292
A newbie question...
I somehow managed to remove the lyric associations on my entire library (preferences -> associations search -> properties) - emptied the whole thing. All the lyrics in my library are located in the same folder as the music, with the same file name as the audio files themselves except for the .lrc extension. So how do I scan my entire library and get the associations back? I know I've done it before and it's supposed to be a simple thing to do but somehow I just can't figure it out now.

foo_uie_lyrics3

Reply #1293
A newbie question...
I somehow managed to remove the lyric associations on my entire library (preferences -> associations search -> properties) - emptied the whole thing. All the lyrics in my library are located in the same folder as the music, with the same file name as the audio files themselves except for the .lrc extension. So how do I scan my entire library and get the associations back? I know I've done it before and it's supposed to be a simple thing to do but somehow I just can't figure it out now.


Stumbled upon the 0.3.6 beta 5 version of the plugin and found the way to scan all the files using the "Local file search" -> "properties" -> "find local lyrics...". That's how I've done it before. This option seems to have disappeared in the latest version...?

foo_uie_lyrics3

Reply #1294
Hi,

I was thinking this was the case, but I have found that the plugin will usually pick a .txt file 1st, even is a .lrc is available. ( same band, same song , same album )
All you really have to do is manually select the .lrc file and then go delete the .txt file.


This is not my case, I did not use any external file, just save to the TAG, so I'm pretty sure the new version messed up something. Rollback to old one the autosave function work again.
Hong Kong - International Joke Center (after 1997-06-30)

foo_uie_lyrics3

Reply #1295
perhaps you should batch enca/icon through all of your lyrics to solve this issue?

Thanks SUPERCOOLMAN,

For anyone not familiar with txt encoding (I'been doing some reading) it is tricky territory.

Wrong encoded txt files can get corrupted when re-encoded.

These days, I am trying to use Notepad++ to open the file and use then a series of Notepad++ macros to correct typos etc

Note that Notepad++ supports Regular Expressions find and replace

Then save the Lyric with the save txt encoding

If someone like to record/try some macro in Notepad++ please PM me

foo_uie_lyrics3

Reply #1296
Whats the best way to stop the lyric search for all instrumental tracks?

Many times by Artist-Track a "Rubbish" lyric is found and show/saved
These include most of Classical, Soundtracks and Instrumental

May be if an Empty (0 bite) Lyric file is found just display the fallback Txt

foo_uie_lyrics3

Reply #1297
I am not sure that there is a perfect way. If the genre contains instrumental then you can use $if($strstr(%genre%,Instrumental),,[%artist%])  as the  artist search. You could also use a custom tag as a flag etc.  This works since the plug-in requires an artist name for searching to take place. Similarly, to indicate a track is instrumental you can add something like $if($strstr(%genre%,instrumental),Instrumental,) to the fallback text. This issue has been discussed before; search the thread for instrumental. I think you could also do it how you suggest.

HTH

foo_uie_lyrics3

Reply #1298
Hi,
foobar2000 v. 1.3.1 with foo_uie-lyrics3:

Editing lyrics works fine but no save in Lyrics Show Panel3 is possible. It doesn't register the change anymore which functions in foobar 2000 version 1.2.9.

Problem known?

foo_uie_lyrics3

Reply #1299
Hi The_Vern !
Thank you very much for your plugin, it's nice to see that some people still care about foobar functionnalities

I have just one issue :
I use Subsonic (a personal music server app that allow me to listen my music from everywhere through http), and when i'm not at home (= the mp3 file is streamed slowly) the "Tag Search" of your plugin make Foobar hang for 10 to 20 seconds. Maybe you can thread it or something.
Anyway it's not a big issue at all and it can wait 

Good luck for your degree's final !