Not all instances of a work are listed

I was browsing a Linda Ronstadt album that includes ‘the tracks of my tears’ when I decided I’d like to hear Justin Hayward’s version. Roon indicated there are 6 performances within my library - when I clicked through to the list the Justin Hayward version was not listed. I searched for Justin Hayward, browsed through to the Justin Hayward album, saw the track name is the same and proceeded to play it.

1 Like

I just searched for the tracks of my tears and it returned around 20 instances of the song in my library :frowning:

@brian, @mike Should the performances not match?

1 Like

In order for automatic matching to work, the tracks must have the same title + a composer in common. Track titles alone are not sufficiently unique.

Do all 20 of them have composer credits? This is usually the weak link.

I’ll take a look, thanks.

I find this a lot. It’s generally that the composers do not match or do not exist in the metadata. I have 7 versions of Jingle Bells. (Well it is Christmas!) These are split into two sets of 4 and 2 works and one is “orphaned”. The 4 have traditional as the composer. The 2 have James Pierpont and the other one that does not appear as a work has no composer. I guess it will take full metadata editing to allow us to fix this.

1 Like

What did you find?

I have reported a bug as follows:

  • two performances exist
  • both have the identical composer listed
  • one album is identified, the other not

In these cases, the two works end up the product of two separate (identically named) composers, one the full rovi composer page for the performance on the identified album, one a blank page for the unidentified album. This will mean that you can’t find the performances all in one place. Roon is therefore failing to work as designed because of this bug.

This is a bad bug which makes the classical browsing experience much less slick than it is designed to be.

I believe this bug has been understood by @brian, but I’m not clear on whether it still needs reproducing or whether it’s simply on the list for fixing when the big classical re-do comes along, one day.

1 Like

It turns out my local metadata is all over the place (inconsistent track name and inconsistent composer) - see attached screenshot:

I’ve now set the composer entry for each file to:
composer = Marvin Tarplin
composer = Smokey Robinson
composer = Warren “Pete” Moore

Looking at the instances Roon shows me when clicking through from the song itself, the only appearances that are listed are those belonging to albums that Roon has successfully identified…regardless of the absence or otherwise of underlying metadata in the files. I’d expect this given I’ve set Roon to prefer its own metadata.

@brian, considering that Roon is then effectively ignoring some metadata for albums it has not identified I think it’'s essential that the user have the option of asking Roon to leverage local metadata where Roon has not been able to identify an album. This setting should be pervasive for all albums that are Unidentified. Equally, once an album is identified in Roon, then Roon should default to treating that album the same way it treats all others previously identified.

I’m making all metadata changes by way of a SQlite table containing all metadata for my entire library. When done I write all the changes back to the underlying files. Given I’m not ready to write the table back to my files I’ll process the changes manually too and force a rescan in Roon to see if anything changes.


When we re-do this stuff, all of the current logic that structures work/composer relationships in the app itself will be scrapped and either re-built or moved into the cloud services. Likely some of each.

For the most part, reproducing issues against a system that’s on the chopping block isn’t a good use of anyone’s time.

The situation in #13389 (Which I think this last comment is related to) might be an exception to that rule, because it involves some systems that are not being replaced. I’m prepared to look at it and determine which category it falls in and/or fix it as soon as we have a way to repeat the issue starting from a clean install.


Roon consciously omits composer information from the default view for albums that are not from the Jazz, Classical, or Vocal genres. This is a display choice. I don’t think it is ignoring the composer tags–they should be visible in the track credits popup, just not on album details.

The reason for this: Roon becomes miserable to use if we show composer(s) beneath each track on a pop, rock, r+b, or hip-hop album. We tried this way before rejecting it. It was no good.

What I’m wondering is: are you looking inside the track credits listing to draw this conclusion, or just looking at album details?

1 Like

@brian, I was going on my initial findings where Justin Hayward’s version was not listed among the performances when I clicked through Linda Ronstadt’s version. I see variances in the track naming - some with ‘The’ and some without…I think this was the cause of the mismatch.

[quote=“brian, post:8, topic:6139”]
Roon consciously omits composer information from the default view for albums that are not from the Jazz, Classical, or Vocal genres. This is a display choice. I don’t think it is ignoring the composer tags–they should be visible in the track credits popup, just not on album details.

The reason for this: Roon becomes miserable to use if we show composer(s) beneath each track on a pop, rock, r+b, or hip-hop album. We tried this way before rejecting it. It was no good.
[/quote]I’m not sure this is being done consistently - I’m looking at a Linda Ronstadt album and all the composer credits are listed for all tracks (please leave it that way) - will attach it from my tablet.

That is one piece of the logic, not the whole thing. There are other reasons why we show composer credits on non-jazz/classical/vocal albums, too (for example, when they are attached to interesting works, which is what is happening in your screenshot).

This stuff is all going to change a lot. I’m going to stop spending time explaining the existing mechanism because we know that it needs significant re-work. Fixing it is just a matter of scheduling relative to other priorities, as it is not a quick project.

1 Like

Thanks @brian, understood.

LAst question (unrelated) if I may. What is the difference between artist and performer within Roon … just wondering how the tags are leveraged in the event of an unidentified album. If I know how it’s used I can optimise my tagging with it in mind.

One type of entity (I’ll call it a “performer” in the following) encompasses all types of people/groups. Artists, Composers, Conductors, Production personnel, etc. The distinctions made in the UI are all based on the context in which that person/group arises.

The literal answer to your question ends there, but I suspect that that isn’t what you’re looking for, so, I’ll go into some more detail:

Album->performer links include:

  • 1-N primary artists
  • N album credits (where credit = Performer + Role)

Track->performer links include:

  • N track credits (where credit = Performer + Role)

There is also an “album artist” string. This is album-level textual metadata that is meant to represent “the name of the artist as printed on the album”, and it has very little to do with any discussion about performer/artist entities.

Anyways, each credit role falls into one of the following categories:

  • Performer
  • MainPerformer
  • Ensemble
  • Conductor
  • Composer
  • Production

These categories drive display rules throughout the app. This determines which credits are shoved “in your face” on album details, in the queue, in the footer for the now-playing track, etc. The rules are sometimes genre-dependent, and take into account other state, like our interesting-ness judgements of composers and works. This is a user-experience driven filtering exercise.


FLAC is the gold standard. Other formats are much less expressive, but we do the best we can with them. Usually we get album artist, track artist, composer, and conductor. Other fields are hit-or-miss depending on whether a clear convention exists.

Album artist tags are a somewhat special case. The goal is to derive two pieces of information:

  • The textual album artist string
  • 1-N primary artists

All of the formats have an albumartist tag. This always populates the textual field directly.

The albumartist tag is also involved in populating the list of primary artists. When populating this list, semicolon delimiters are processed, and multiple-tags are supported. We also populate this field from ALBUMPERFORMER on FLACs, since some FLACs use ALBUMARTIST as a literal string + N ALBUMPERFORMERs for separate primary artists.

I’m sure I’m missing cases…there are probably 1000 lines of code doing tag processing and munging the data in files into Roon’s data model.

We support almost every common FLAC thing. If you’re using FLAC, populate ALBUMARTIST, ALBUMPERFORMER, PERFORMER, COMPOSER, CONDUCTOR, and ENSEMBLE accurately, and you will get a very good experience.

With other formats, their respective album-artist, track-artist, composer, and sometimes conductor fields will be respected. Focus on making the data clean and you should get a good result.

One final note: the Credits popups (both track, and album level) are the final arbiter of what Roon has imported. Don’t trust other views, since all of them have been filtered to avoid overwhelming you with information.

1 Like

Would this hold true for ALAC, or is that fundamentally different from FLAC wrt tags?

ALAC’s tagging support is much worse than FLAC. The general logic still applies, but the specific tag names are all different.

@brian, thanks for that detailed explanation and insight, much appreciated. Is there a reference viewable somewhere that defines Roon’s meaning for each of the tags e.g. difference between PERFORMER vs ALBUMPERFORMER (I’m guessing they’re consolidated and deduped)?

There is not, unfortunately. I think that’s something we should do at some point, but every few months we tweak this stuff, so it’s kind of a moving target.

As for PERFORMER and ALBUMPERFORMER, they mean different things. One becomes attached to the album as a primary artist, and the other become MainPerformer track credits.

Everything gets deduped as a general rule, no matter where the data came from.

Sorry – I know this is a vague question…is there anything to be gained by me converting all my ALACs to FLAC? Specifically wondering if this would improve my ‘Roon’ experience with either ID’d albums or un-ID’d albums.

If your conversion would be preserving the same tags, then no.

If you intend to improve the richness of your tags, there are more possibilities with FLAC, because the format is more expressive.

Based on this thread it would seem Musicbrainz would be the richest source of metadata for tagging before adding albums to Roon, albeit I’m tempted to stop at track, title, albumartist and album seeing as Roon pretty much provides everything once it’s recognised an album.

1 Like