aome510 / spotify-player

A Spotify player in the terminal with full feature parity
MIT License
2.81k stars 129 forks source link

Lyric finder returns incorrect lyrics #281

Open apprehensions opened 8 months ago

apprehensions commented 8 months ago

Describe the bug The Lyric finder returns random lyrics for a song i listen to, but the lyrics are for a completely different song.

To Reproduce Listen to any obscure music, maybe one with or without vocals.

Expected behavior No lyrics found

Screenshots image image The above song has actual lyrics, however this is a different lyrics set. image

aome510 commented 8 months ago

Can use string similarity metric (https://docs.rs/strsim/latest/strsim/) to detect similarities between query title vs returned title, and query artists vs returned artists. Genius is kind of a best-effort way to get the lyric anyway, so the result is not always correct.

apprehensions commented 7 months ago

How come Spotify is able to retrieve lyrics with accuracy then? they use their in-house lyrics?

aome510 commented 7 months ago

How come Spotify is able to retrieve lyrics with accuracy then? they use their in-house lyrics?

Not sure. Official app indicates they use https://www.musixmatch.com which may have better search functionality than genius.

JingYenLoh commented 3 months ago

Some time ago, I hacked together a PoC that used lyricstify's API to fetch lyrics, which iirc uses Spotify's internal APIs under the hood to retrieve the lyrics. I did it because genius often doesn't contain lyrics to songs I listen to.

My goal was to clean up the code (it's a dirty hack and the lyricstify maintainers might not appreciate calling their API directly) and eventually upstream it, but I never found the time to. I'm now hoping this information is helpful to whoever is interested in tackling this problem!