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:
SYNCED LYRICS tag
LYRICS tag that contains “[mm:ss:msms] Lyrics I want to be displayed”
Roon will retrieve unsynchronized lyrics from:
UNSYNCED LYRICS 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?
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?
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.
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?
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.
@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?
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.