Feedback Requested: Importing Lyrics From File Tags

Hey everyone,

Over the years, we’ve had a number of requests for Roon to support importing of lyrics from file tags. Lyrics have taken on a more prominent place in the product over the last year, in our Displays functionality, and on the new Now Playing screen.

We’re getting ready to kick off this work, but first we wanted to check in with the community and make sure that the work we are planning will meet everyone’s needs.

As with other information Roon extracts from your file tags and watched folders, Roon will import any supported lyrics it finds in your files, populating that data into your library.

Roon will look for lyrics in:

  • ID3v2 Tags (MP3, WAV, DFF, DSF)
  • Vorbis Tags (FLAC, OGG)
  • MP4 Tags (AAC, ALAC)

We might also support:

  • *.lrc files sitting next to the media file, e.g. 03 Time.mp3 with 03 Time.lrc next to it

Roon will retrieve synchronized lyrics from:

  • SYLT tag
  • LYRICS tag that contains “[mm:ss:msms] Lyrics I want to be displayed

Roon will retrieve unsynchronized lyrics from:

  • USLT tag
  • LYRICS tag that does not contain “[mm:ss:msms] Lyrics I want to be displayed

Some questions we’d like feedback on:

  • Are many people using “sidecar” *.lrc files ? Supporting these is a bit more work, but if they’re important to you, we’d like to know

  • Currently, Roon does not ever display synchronized lyrics on the screen in the regular non-synchronized lyrics popup. This is because synchronized lyrics are generally not formatted for such display. A consequence of this is that in order to fully populate a track with lyrics for all use cases, you would need to provide two sets. Any thoughts about this?

1 Like

Great news!

I’m OK with just the LYRICS tag, but I know some folks will love the synchronized lyrics.

So, if we want to put timing in the LYRICS tag, does each line have to be prefixed with [mm:ss:msms]? And is that two digits or four for milliseconds? Shouldn’t it be three digits? Is the format the same for the SYNCED LYRICS tag?

In what sense? Because they include the timestamps? If so, couldn’t those simply be omitted in the display?

I don’t think supporting sidecar files is important…and least not to me.

I prefer unsynchronized lyrics so I don’t care as long as unsynchronized lyrics are supported.

Display-oriented lyrics generally includes the chorus once, and each verse, with clear breaks breaks between the sections and sometimes headers indicating what’s what.

Synchronized lyrics files are very repetitive–they are instructions for a karaoke machine, not text formatted for display. They must repeat every line every time it appears in the song. There are no line breaks between sections of the song and no verse/chorus awareness.

If you put them on the screen like that, they look like garbage, even with the timestamps stripped out.

Our lyrics vendor always provides display-suitable lyrics when real-time lyrics are available, so this isn’t something we’ve had to worry about–but with file tags, if we want to maintain the same quality-level in the approach, we’ll have to allow for a similar separation of the two kinds of lyrics.

Finally :wink: the declaration looks fine for me.

I wouldn’t spent too much time about lrc implementation since the ones who knew about how to embed lyrics are surely well aware of tools which now only allow embedded these but also to convert them from embedded into lrc and vice versa.
When I think about where I got my embedded from it’s various sources and some also have been separated lrc files. I’m personally a friend of having information embedded since I won’t need this on it’s own in case I do delete/wipe the audio itself, and it simply makes no differnce if being embedded or seperated nowadays. Even if you think about mobile devices memory isn’t such a big issue by now.

What’s more important to me will be the question about it’s actual use of information by roon. Means will there be a fixed logic in the form use internal, it not present, try for embedded, if not there see if there’s a lrc file? Or will it be user definable (priority)? Or will we see a second icon next to the lyrics icon roon serves to that one needs to manually switch between these in case of multiple lyrics being present?

Ah! Thanks.

First, great ideas. Second, irc files mean nothing to me.

Third, and semi-related to your request, what about the case of an (unsynced) lyric linked to only one performance? Would you amend this to allow linking across all properly tagged performances?

I have quite some digital download versions which I did acquire from Hyperion. At least for the releases of their own label they embed

  • lyrics (if there are any) as well as
  • album and (at times)
  • composition/track notes

into the LYRICS tag. I wonder how this would render when Roon reads that data from the file?

If necessary I could provide an example file.

I currently do not use * .lrc files, but I’m afraid that if the lyrics need to be embedded in the file (I currently have no embedded lyrics, since these were not read by roon), I need to download my files (cloud-backup), tag them, and then upload them again. A lot of work. So I’m in favor of using * .lrc files.

1 Like

@brian / @mike hopefully you remember about the “re-analyse track” issue to do with modified embedded data while audio remains untouched. I know it was mentioned to be on the ToDo list, but allowing for embedded lyrics has a direct impact when poeple start populating their collection with new embedded data. So you better get this one fixed same time if not having to answer questions about why analysis tasks raised due to the embedded lyrics implemenation.

DWould these Lyrics imports become available to all Roon users, or will they remain for local use/visibility?
Would it also be possible to take into consideration Lyrics available in a seperate PDF in the local album folder?

1 Like

Will lyrics in AIFF files also be supported?

Thank you so much for this!

No, I don’t use .lrc files. I don’t think it’s that frequently used and a lot of people use tags nowadays.

Do you expect to provide MP4/©lyr support?


Local use only. The legal climate surrounding lyrics means that if we started spreading lyrics among users we would be sued rapidly.

No. Extracting textual lyrics out of PDF is not straightforward, and we do not currently have a PDF viewer built into Roon.

Whilst you ar looking at embedded lyrics, would it be possible to explore if it is possible to find lyrics from the same song if available in one’s library?
Let me try to explain.
E.g. one has a studio album with each track having lyrics. One also has a live album with the same song, but the live album has no lyrics. It would be nice to copy/link/… the existing lyrics to the track that is missing them.
As track versions are already identified, this could even done in background as it would be in the local stored music library only (it is obvious you cannot add lyrics to library tracks actually residing at a streaming company such as Qobuz).
Thanks in advance to take a look into this.

1 Like

Please don’t add any automatism here. See also a previous discussion linked below.

I, and I’m sure many others, prefer no lyrics over wrong lyrics.

Well, if only is taken into account for embedded lyrics (i.e. My local stored music tracks), it would save me a whole lot of work.
And it would not disturb anyone else ( neither benefit).