3.9 KiB
Jellyfin Lyrics Plugin
Lyrics for your whole music library, synced while you listen.
Downloads them automatically from lrclib.net and shows them in Jellyfin's music player.
Features | Install | Report a bug
✨ Features
- 🔄 Automatically downloads lyrics for your entire library
- 🎼 Seamlessly integrates with Jellyfin’s music player
- 🌐 Fetches lyrics directly from lrclib.net
- 🏠 Optional self-hosted LRCLIB instance support (advanced)
- 🕒 Real-time lyrics display during playback
- ⚡ Smarter scheduled task that avoids retrying the same failed songs every day
🚀 Installation
- Make sure your Jellyfin server is on version 10.11.0 or higher (Jellyfin 12 is supported too)
- If jellyfin's "LrcLib" plugin (
jellyfin-plugin-lrclib) is installed, uninstall it first to avoid conflicts:- Go to Dashboard -> Plugins -> My Plugins
- Find "LrcLib", click it, then click Uninstall and confirm
- Restart Jellyfin
- Add the plugin repository URL to Jellyfin:
https://raw.githubusercontent.com/Felitendo/jellyfin-plugin-lyrics/master/manifest.json - Open the Plugin Catalog in your Jellyfin dashboard
- Look for "Lyrics" under the Metadata category and install it
- Restart Jellyfin
- Go to Scheduled Tasks and run "Download and upgrade lyrics"
- Go to Libraries and click on Scan all Libraries
⚙️ Settings
All settings are on one page under Dashboard -> Plugins -> My Plugins -> Lyrics:
🛠️ Troubleshooting
-
Plugin not appearing?
-> Double check if your Jellyfin version is 10.11.0 or higher -
Lyrics not showing?
-> Try to search for songs manually (right click on a song -> edit song text -> click on the search icon) -> Try refreshing metadata -
Missing lyrics for specific tracks?
-> Manually refresh metadata (see below) -> Toggle theUse strict searchoption in plugin settings -> If a song with very long trailing silence or a remastered version is being skipped, increaseDuration tolerance (seconds) -
Wrong lyrics on instrumental / interlude tracks?
-> The plugin filters matches by artist and by duration. If you still see wrong matches, lowerDuration tolerance (seconds)(e.g.5) so only very close-duration matches are accepted. -> If legitimate songs are being skipped instead, raise the value (e.g.30). -
Scheduled task takes too long?
-> Turn onSkip repeated misses(default on) -> Turn onLimit work per runand reduceMax songs to check each run-> KeepRetry after dayson1,3,7,30unless you want faster/slower retries -
Jellyfin shows plain lyrics although synced ones were downloaded?
-> Turn onRemove plain lyrics that hide synced lyrics(default), or delete the plain.txtnext to the song.
🔄 Manual Refresh
If lyrics aren't appearing for specific albums:
- Navigate to the album
- Right-click the album
- Select "Refresh metadata"
🤝 Contributing
Contributions are welcome!
Feel free to open a Pull Request, or suggest new features / report bugs via an Issue.
