Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't display lyrics when the track is instrumental #856

Open
MustThinkOfAName opened this issue Aug 28, 2024 · 5 comments
Open

Don't display lyrics when the track is instrumental #856

MustThinkOfAName opened this issue Aug 28, 2024 · 5 comments

Comments

@MustThinkOfAName
Copy link

LRCGET since version 0.3.1 started using a tag [au: instrumental] to express that a track is purposefully without lyrics. I personally think it's pretty useful.

While it would be trivial to do a library scan and delete any .lrc file that only has that tag; I think it would make a nice addition to Finamp.

I'm not sure if it's out of scope as there is no official standard to notify that a track is instrumental; or if that change should instead be pushed to Jellyfin?

@Chaphasilor
Copy link
Collaborator

Hey, thanks for the suggestion!

Since Finamp only uses the data provided by the Jellyfin server and doesn't look at the tags itself, you would indeed need to create a feature request for this at the Jellyfin server repo (or contribute it yourself!).

Right now there's no way for Finamp to tell.

However, if there are no lyrics provided for a track, Finamp should disable the Lyrics button already and show an "error" message if lyrics are already shown. So I'm wondering, what exactly is your setup here?

@MustThinkOfAName
Copy link
Author

Thank you to you for your quick answer :)

As for my setup, I use LRCGET to automatically (or as much as possible) fetch all the lyrics to the audio files on my server.
Historically, it would simply skip instrumental tracks but that behavior was troubling as it be hard to discern wherever a track was instrumental or simply did not have lyrics referenced to it. So they pushed an update so that instrumental tracks will still have a .lrc file assigned to it but that file would only contain [au: instrumental].

Current Finamp shows an icon with a crossed microphone when a track has no .lrc file associated with it. I think it could be nice to show that icon only when the .lrc file contain [au: instrumental] and show no icon when no .lrc files exist. (hence why that issue could indeed more be for finamp than for jellyfin)

@Chaphasilor
Copy link
Collaborator

I see. Would you mind uploading a sample lyrics file to I can check if Jellyfin exposes the instrumental status somewhere? If it's properly exposed (and we don't need to parse it ourselves), we could consider changing the behavior. We could also keep the current icon for no lyrics, and add a music note icon and the text "Instrumental" instead of "Lyrics", but we'll have to see once we get that far ^^

@MustThinkOfAName
Copy link
Author

Obviously! I'll attach it here. (Github won't allow .lrc files to be attached. I'll rename it into .lrc.txt. Nonetheless the fileitself just contains [au: instrumental])

As far as I know, Jellyfin treats it as a lyric itself and prints [au: instrumental].

Thank you again :)

07 - Kennedy.lrc.txt

@mihawk90
Copy link

mihawk90 commented Jan 11, 2025

I wonder whether Jellyfin reads the Language tag from the file metadata, and if it does, whether that's accessible to Finamp.

The Language tag adheres to ISO 639-3, which includes a special code zxx which is meant for non-linguistic content, i.e. intended for data which has no a language at all - e.g. instrumental tracks.

Picard at least already uses this tag and populates it with said zxx automatically if a corresponding Work already exists on MusicBrainz, otherwise it can also be filled manually (or via Scripts, whatever). And I'm sure there are other applications that can also utilise this tag.
This should have honestly also been the solution to be implemented in LrcGet instead of writing a superfluous file with no actual content, which is also intentionally misusing the author LRC-tag for this information, but alas.

My point being: If JF reads this tag and Finamp can retrieve it from JF, this could also be implemented based on said tag. The only "issue" with this is when users (intentionally) save LRCs with lyrics content next to instrumental versions of a song, so that they could sing along or whatever. So it might be good to make this optional. Regardless, it's not the original request anyways.

Should also be noted that since one of the last updates of the LRCParser lib in JF, there is currently no metadata parsing:

So reading this instrumental LRC-tag is not currently possible to begin with.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants