With v0.63, audio streamer Navidrome finally got full lyrics support. I just wanted to try it out and fell flat on my face because… well, not even the official docs say anything about lyrics. Also, I’m not too familiar with how lyrics are added to songs in general. So my questions are these:
- How can I add any lyrics to my songs so the web client will display them?
- What formats would you recommend sticking with? (TTML, ELRC, SRT, YAML, LRC, or even TXT)
- Is there a way to automate adding lyrics in bulk (instead of tedious manual work)?
Hmmmm…Navidrome has supported lyrics for a while now, no? Apps like Feishin will fetch lyrics for you based on the song being played, if it’s available that is. But it doesn’t embed them, to my knowledge. However, since I still have a stripped down Windows 10 installation, I used MusicBee to embed the lyrics. Highlight the library, and let it eat. If your library is large, it will take some time. When finished, the lyrics will be embedded in the audio file, and will display in Feishin and in Navidrome.
I know that beets has a lyric plugin, and that might be an avenue for you OP. However, in my case, I started with MusicBee so very long ago, and it’s still a top notch player imho, even tho it is a Windows app.
I use beets to add synced lyrics to my library automatically.
To display them in the web browser interface, click the lyrics button (looks like a book).
I recently did this. It was very easy if you already use beets
Anyone know a good way to automatically tag audio files with lyrics? Like how mp3tag pulls data from musicbrainz and tags tiles in a few clicks.
Beets with the lyrics plugin is good, it can use various sources. It embeds the lyrics in the file directly and prioritizes synced lyrics. It will look for the lyrics every time new music is imported into the library. However, this might mean using beets more extensively when managing your music library. lrcget may be more suited then.
lrcget
I used this and it did exactly want I wanted, great tool. Thanks!
I’m personally going with elrc where available, otherwise lrc.
The E in ELRC stands for enhanced. It has karaoke-style granularity, if that’s something you care for, and can find.
Navidrome has supported lyrics for a while now, but the web client only supports embedded ones. Checked my instance and that still seems to be the case as most of my songs have lyrics as standalone files, but the client insists that there aren’t any lyrics.
With the update I’ve added this Navidrome lyrics plugin, but I’ve not really tested it yet. I’ve been using lrcget to locate and add lyrics before this update.
Lyrics work fine in other clients. On my phone I’ve been experimenting with NaviBeat, otherwise I’ve been using Amperfy.
On desktop I’ve been using Nocturne, (via flathub), but I think based on how long lyrics take to load in that, that it fetches the lyrics from somewhere other than Navidrome.
With the update I’ve added this Navidrome lyrics plugin, but I’ve not really tested it yet. I’ve been using lrcget to locate and add lyrics before this update.
I love the fact that they have really opened up Navidrome to use plugins, and it seems the community is starting to produce some pretty decent examples.
I use that lyrics plugin and it works great. Basically you just enable it in navidrome and in your configuration you set the lyrics priority. I have it set so its lrc -> plugin -> text -> embedded so if i have krc lyrics already it pulls those and if not the plugin will search. If plugin fails it will check for any plaintext lyrics or embedded lyrics. This works with my feishin (pc) and symfonium (android) apps if I’m on my network or vpn’ed in (i don’t expose my server).
Another thing you can do is use the LRCGET app which can bulk download them.
I haven’t touched the ELRC lyrics yet but will look into pulling those
Big +1 for LRCGET. It is extremely powerful and dead simple to use. I’m generally able to point it at a directory and press go. It will return lyrics about as accurately and reliably as any manual search, and it has the (experimental) ability to embed the lyrics as well.
I prefer embedded lyrics, since I know that they will be available and inseparable from the files regardless of what my library looks like in the future.
I believe it requires sidecar lyric files, although I’m not sure which formats it all supports.
You might try something like this to collect them: https://github.com/f1nniboy/lrcmux
Navidrome did support lyrics before, but only embedded. And maybe only LRC, though I’m not sure about that.
This is my best guess at the moment, working through it atm but not working
Have a look at https://www.navidrome.org/docs/usage/configuration/options/#%3A~%3Atext=true-%2CLyricsPriority%2C-ND_LYRICSPRIORITY
and maybe the plugin https://github.com/J0R6IT0/navidrome-lyrics-plugin
I would open an issue asking for documentation.







