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

Lyrics not being downloaded / no manual download option #3

Closed
pbogre opened this issue May 12, 2024 · 31 comments
Closed

Lyrics not being downloaded / no manual download option #3

pbogre opened this issue May 12, 2024 · 31 comments

Comments

@pbogre
Copy link

pbogre commented May 12, 2024

I just installed this plugin on my Jellyfin 10.9 server. First of all I see in the code that the settings should show 3 checkboxes, however in my settings I can only see the checkbox for strict search (the other 2 are briefly visible before disappearing).

I'm also not sure how this plugin is meant to be used. Is it supposed to automatically fetch lyrics for my music library? Because it's not doing that, and I also see no option to fetch lyrics manually for a given artist/album/track. Any help?

@crobibero
Copy link
Member

I only tested with manual searching using Jellyfin's api, and forgot to hook lyrics into the rest of the functionality.

As of right now Jellyfin only fully supports lyrics that are already available either embedded or next to the audio file.

I may add a scheduled task to automatically download lyrics into the plugin as a temporary fix.

@pbogre
Copy link
Author

pbogre commented May 12, 2024

Do you mean that you tested by finding lyrics that are already present in the tracks?

I can see in the code for this plugin that there is functionality to fetch lyrics, however it's not being called anywhere. Is this plugin something that is still WIP, or is there already a way to use it to fetch lyrics?

@crobibero
Copy link
Member

The only way to search for remote lyrics right now is to manually hit Jellyfin's API.

@thomasdalberto
Copy link

Can you please explain better what do you mean by "manually hit Jellyfin's API"? how should it be done?

@Klar
Copy link

Klar commented Jun 12, 2024

any update on this on how to search for lyrics and generate files?

@rom4nik
Copy link

rom4nik commented Jun 21, 2024

Can you please explain better what do you mean by "manually hit Jellyfin's API"? how should it be done?

You can do this with 2 requests per song, e.g. via curl or browser devtools (I used "edit and resend" in Firefox to quickly borrow Authentication header from one of other requests frontend sends to backend).

  1. https://api.jellyfin.org/#tag/Lyrics/operation/SearchRemoteLyrics

GET /Audio/{itemId}/RemoteSearch/Lyrics

This will return available lyrics from all enabled lyrics providers (which in my case was only LrcLib), for example:

[
  {
    "Id": "a1da397dd09c89a18bacecb3a5d45d37_984710_synced",
    "ProviderName": "LrcLib",
    "Lyrics": {
      "Metadata": {
        "Artist": "Two Feet",
        "Album": "A 20 Something Fuck",
        "Title": "I Feel Like I'm Drowning",
        "Length": 1860000000,
        "IsSynced": true
      },
      "Lyrics": [
        {
          "Text": "You keep dreamin' and dark schemin'",
          "Start": 132000000
        },
        {
          "Text": "Yeah, you do",
          "Start": 166800000
        },
[...]
      ]
    }
  },
  {
    "Id": "a1da397dd09c89a18bacecb3a5d45d37_984710_plain",
    "ProviderName": "LrcLib",
    "Lyrics": {
      "Metadata": {
        "Artist": "Two Feet",
        "Album": "A 20 Something Fuck",
        "Title": "I Feel Like I'm Drowning",
        "Length": 1860000000,
        "IsSynced": false
      },
      "Lyrics": [
        {
          "Text": "You keep dreamin' and dark schemin'"
        },
        {
          "Text": "Yeah, you do"
        },
[...]
      ]
    }
  }
]
  1. https://api.jellyfin.org/#tag/Lyrics/operation/DownloadRemoteLyrics

POST /Audio/{itemId}/RemoteSearch/Lyrics/{lyricId}

This downloads lyrics, saves them to server and also returns them in HTTP response.

@GlassedSilver
Copy link

Yeah, I think I'm waiting for the plugin to get a scheduled task. 😅

@crobibero
Copy link
Member

Adding the scheduled task in #4

Feel free to test, it is pretty basic and not really configurable.

@Krafting
Copy link

Adding the scheduled task in #4

Feel free to test, it is pretty basic and not really configurable.

Thank you reaally much for your work !

Do you think it will be possible, in the future, to add a button to fetch lyrics for a specific song only (for example in the right click menu, and also something for Apps like Finamp to be able to fetch lyrics using this plugin), and not only get all the lyrics of all the tracks in your library ?

@crobibero
Copy link
Member

Do you think it will be possible, in the future, to add a button to fetch lyrics for a specific song only

Yes, but that would be built into the server and not this plugin.

@ShakedBaws
Copy link

Adding the scheduled task in #4

Feel free to test, it is pretty basic and not really configurable.

thank you for this plugin .
can you please explain how to use it on the github page?
also would be really appreciated if you can add a button to fetch lyrics for current song or fetch lyrics for all liked songs.
thank you in advanced.

@crobibero
Copy link
Member

  1. Build and install the plugin
  2. Run the scheduled task
  3. Perform library scan

@ShakedBaws
Copy link

im sorry I never had to run scheduled task before
I went to the " scheduled task" section in jellyfin but I don't see anything related to lyrics .
maybe I missed it or am I doing something wrong?

@GlassedSilver
Copy link

im sorry I never had to run scheduled task before I went to the " scheduled task" section in jellyfin but I don't see anything related to lyrics . maybe I missed it or am I doing something wrong?

I'm gonna take a wild guess here and respectfully assume you're probably not a developer and hence didn't build the plugin yourself and installed it manually instead of the current release available through the standard procedure.

If that's the case it's probably best for you to just wait a little bit for the new version with the added functionality to release, probably not too far away now.

@peter9teufel
Copy link

Hi, is there an ETA for the next release that includes the scheduled job? Setting everything up to build the plugin myself would not be a great hassle as I am a developer but won't be worth the effort if the next release is around the corner 😄

Thanks for your work and best regards,
Peter

@Felitendo
Copy link

Any updates? @crobibero

@crobibero
Copy link
Member

I am not planning on releasing the plugin with the scheduled task built in. If you want it you will need to build it yourself. The task will exist for Jellyfin 10.10

@Felitendo
Copy link

Felitendo commented Aug 30, 2024

Hey everyone. I got it working :D

You need to do the following:

  1. Remove the old LrcLib Plugin and Plugin Repo, then restart Jellyfin
  2. Update your Jellyfin to 10.9.11 or above
  3. Add my Plugin's repository to Jellyfin: https://raw.githubusercontent.com/Felitendo/jellyfin-lyrics-plugin/master/manifest.json
  4. Go into your Plugin Catalog and install "LrcLib", it should be under "Notifications"
  5. Go into Sceduled Tasks and run "Download missing lyrics"
  6. Go into Librarys and then press "Scan all Librarys"
  7. Now the Lyrics should work. If they don't then you need to go to your Album -> Right click -> "Refresh metadata"

You can find the source code and ask for help here: https://github.com/Felitendo/jellyfin-lyrics-plugin

Hope this helps :)

@TechnicallyMay
Copy link

@Felitendo thank you so much! I'll give this a try soon.

@thecodygriffin
Copy link

For anyone else who may be installing from @Felitendo's repository, make sure you have upgraded to 10.9.10. The plug-in was initially unsupported for me as I was still on 10.9.7.

@zidgeZ
Copy link

zidgeZ commented Sep 1, 2024

@Felitendo Thank you very much, it works very well on my end! As what @thecodygriffin said, Jellyfin should definitely be upgraded to 10.9.10 as I've tried it on 10.9.9 and it didn't work.

@TannerNelson16
Copy link

I tried both manually building the plugin and using @Felitendo 's repository and I can't get scheduled task to show up. I am on Jellyfin 10.9.11 if that affects anything. Any advice?

@pollocluck
Copy link

I tried both manually building the plugin and using @Felitendo 's repository and I can't get scheduled task to show up. I am on Jellyfin 10.9.11 if that affects anything. Any advice?

I second this. Any updates on this, @Felitendo?

@Felitendo
Copy link

Felitendo commented Oct 5, 2024

I'm sorry that it doesn't work for you @TannerNelson16 and @pollocluck.
I have tried it on a fresh install of Jellyfin 10.9.11 today and it works just fine.
If you still need help then you can add me on Discord: @Felitendo

@pollocluck
Copy link

I can confirm the downloads are now working on the public version of Finamp. Thank you so much @Felitendo !

@EsmailELBoBDev2
Copy link

EsmailELBoBDev2 commented Oct 7, 2024

Hey everyone. I got it working :D

You need to do the following:

  1. Update your Jellyfin to 10.9.10 or above
  2. Add my Plugin's repository to Jellyfin: https://raw.githubusercontent.com/Felitendo/jellyfin-lyrics-plugin/master/manifest.json
  3. Go into your Plugin Catalog and install "LrcLib", it should be under "Notifications"
  4. Go into Sceduled Tasks and run "Download missing lyrics"
  5. Go into Librarys and then press "Scan all Librarys"
  6. Now the Lyrics should work. If they don't then you need to go to your Album -> Right click -> "Refresh metadata"

You can find the source code and ask for help here: https://github.com/Felitendo/jellyfin-lyrics-plugin

Hope this helps :)

Hello I just installed this *but sadly I can't find 'Download missing lyrics' in tasks...I'm using 10.9.11 too but not so fresh install if being honest, it runs for some weeks now

@Felitendo
Copy link

Hey everyone. I got it working :D
You need to do the following:

  1. Update your Jellyfin to 10.9.10 or above
  2. Add my Plugin's repository to Jellyfin: https://raw.githubusercontent.com/Felitendo/jellyfin-lyrics-plugin/master/manifest.json
  3. Go into your Plugin Catalog and install "LrcLib", it should be under "Notifications"
  4. Go into Sceduled Tasks and run "Download missing lyrics"
  5. Go into Librarys and then press "Scan all Librarys"
  6. Now the Lyrics should work. If they don't then you need to go to your Album -> Right click -> "Refresh metadata"

You can find the source code and ask for help here: https://github.com/Felitendo/jellyfin-lyrics-plugin
Hope this helps :)

Hello I just installed this *but sadly I can't find 'Download missing lyrics' in tasks...I'm using 10.9.11 too but not so fresh install if being honest, it runs for some weeks now

Felitendo/jellyfin-lyrics-plugin#2

@TannerNelson16
Copy link

@Felitendo That worked! Thank you.

@crobibero
Copy link
Member

Jellyfin 10.10 is now released so automatic lyric downloading is built-in.

@Felitendo
Copy link

Jellyfin 10.10 is now released so automatic lyric downloading is built-in.

Is it a setting somewhere in jellyfin and if so what is it called and how can we use it? (If it has the exact same features as my fork then I'm going to deprecate it)

@crobibero
Copy link
Member

Yes, it has the same features as the original PR that I had created to add the scheduled task.

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

Successfully merging a pull request may close this issue.