Improved Credit Support in Roon 1.7

I was very excited to read about this in release 1.7

Credits: Expanded format and file tag support

Tonight’s release expands our support for importing credits from file tags. This fulfills a feature request we’ve heard a number of times over the years.

Tonight’s release will import credits from the following file tags:





As long as the content of those tags meets one of the following formats:

Name (Role)

Name (Role [Instrument])



this is great for unidentified albums because when Roon cannot identify them it relies on the metadata provided in the files themselves, but it got credits from the PERSONNEL field and this is not a standard field.

I tested it out, here is an unidentified album in WAV format (easiest way to get an unidentified album is to provide a partial album with missing tracks) in Roon 1.6

and then after upgrading to 1.7 (no rescan was necessary)

So it has worked really well (but note one problem further down), we now have performers with instruments, together with producers, but I have a few questions. The files were tagged with my SongKong music tagger, here is an extract of details added by SongKong for one track

As I understand it Roon checks each file and then amalgamates them to provide credits at release, possibly filtering out some people if only one one track.

Now that you support the standard fields such as IPLS (IDv23) and TIPL/TMCL (IDv24) am I correct to say there is no need for SongKong to implement support for the PERSONNEL field, and that Roon may drop this field ?



is a bit misleading, as far as TIPL field goes the separator is not a ‘;’ or a ‘:’ but a null seperator (i,e hexcode 0 - \0) and this is correctly parsed by Roon

I also had a value of the form:

drums(drumset)\0Daver Knofler

this should be valid but confused Roon giving the following screenshot

I had to remove the drumset value from the original value to fix things.

1 Like

Paul, if i understand correctly, SongKong (and Jaikoz?) already compiles these fields that roon has just introduced, right? Only the PERSONNEL tag is not yet managed (and at this point to know if Roon will keep or delete it).
All correct?

Yes (mostly), SongKong and Jaikoz both already write to the TIPL/TMCL field when using IDv24 with MP3/WAV/AIF, and the IPLS field when using IDv23 with MP3/WAV/AIF so for these formats the credits will now be added directly to Roon as demonstrated above.

We have a slight problem with OGG/FLAC that would use the INVOLVEDPEOPLE field, the field name we use is called PERFORMER, so for now you may have to use another tool to copy the contents of PERFORMER to INVOLVEDPEOPLE, I will be looking into how best to solve this.

Ok. Also DSF files use INVOLVEDPEOPLE?

Good question, but no DSF also uses TIPL/TMCL/IPLS

I checked some dsf albums (sacd rip) and it works very well.
Unfortunately same problem with the “drum set” field @support

I will add a workaround to the database when I next update (do we think drums or drumset)
But definitely a bug in Roon, brackets in TIPL/TMCL/IPLS are valid (only not valid for INVOLVEDPEOPLE),

@joel are you the right contact for raising a bug ?

From IDv23 Specification

4.4. Involved people list

Since there might be a lot of people contributing to an audio file in
various ways, such as musicians and technicians, the ‘Text
information frames’ are often insufficient to list everyone involved
in a project. The ‘Involved people list’ is a frame containing the
names of those involved, and how they were involved. The body simply
contains a terminated string with the involvement directly followed
by a terminated string with the involvee followed by a new
involvement and so on. There may only be one “IPLS” frame in each

 <Header for 'Involved people list', ID: "IPLS">
 Text encoding          $xx
 People list strings    <text strings according to encoding>

From IDv24 Specification

4.2. Text information frames

The text information frames are often the most important frames,
containing information like artist, album and more. There may only be
one text information frame of its kind in an tag. All text
information frames supports multiple strings, stored as a null
separated list, where null is reperesented by the termination code
for the charater encoding. All text frame identifiers begin with “T”.
Only text frame identifiers begin with “T”, with the exception of the
“TXXX” frame. All the text information frames have the following

 <Header for 'Text information frame', ID: "T000" - "TZZZ",
 excluding "TXXX" described in 4.2.6.>
 Text encoding                $xx
 Information                  <text string(s) according to encoding>

4.2.1. Identification frames

The ‘Musician credits list’ is intended as a mapping between
instruments and the musician that played it. Every odd field is an
instrument and every even is an artist or a comma delimited list of

The ‘Involved people list’ is very similar to the musician credits
list, but maps between functions, like producer, and names.

1 Like

We have now added a workaround for the drumset issue, replacing curly brackets with square brackets as part of SongKong 6.7 Closer

1 Like

So, if i understand correctly, for now, the PERFORMER tag used by SongKong/Jaikoz must be copied to map the INVOLVEDPEOPLE tag used by Roon? (for FLAC files).

That is correct.

Thanks for your quick answer and your really great support! Is an update coming for these credits tags?

(btw, just bought SongKong Pro+Jaikoz Pro, best online taggers and really nice for Roon).

Thankyou !

Hi, yes it is a high priority improvement, but it is not just a simple case of renaimg PERFORMER to INVOLVEDPEOPLE that would break compatibility, or simply writing the information to two tags but just for Ogg/Flac, its more complicated than that. We want to provide consistency over formats, and also handle both performer and non-performer (e.g Producer, Art Direction) credits effectively.


Currently a person with role producer is added to TIPL/IPLS for ID3 but as own PRODUCER tag for Vorbis/Flac, both are valid but there are also issues

Although TIPL/IPLS is the ID3 standard many apps including MinimServer don’t support it so the information cannot be readily used. Also if we want to use it as Index not just item field we have a problem because nowhere to store SortProducer.

Whereas for Flac, the field is readily available in PRODUCER (and we could easily add a corresponding PRODUCER_SORT field) . Trouble is 3rd party apps don’t know to look for PRODUCER field so if not configurable cannot use, for example Roon expects all this info to be stored in an INVOLVEDPEOPLE field for VorbisComments so doesn’t add.

The solution is for all formats to add to an INVOLVEDPEOPLE/IPLS field for credits for all formats, add to add specific Role/RoleSort fields for the fields users most likely to want to index such as PRODUCER (like we already do for Composer. Conductor,Orchestra etc).

Will require changes to jaudiotagger and also Jaikoz

Actually seems Roon does seem to support PRODUCER in Flac - Tag Mapping table please! but wouldn’t support things like an ARTDIRECTION tag which is why we need to put such roles in INVOLVEDPEOPLE

Nice, thanks for these relevant informations!

One more thing: does Roon imports the “ALBUM ARTIST” field populated by Jaikoz/SongKong or just the “ALBUMARTIST” tag?


Im not sure, would have to try but because this is a common problem with a number of applications you can configure that.

OK, i see where this option is now, thanks! (JRiver still use the “ALBUM ARTIST” tag, so i presume i will have to retag all my collection, just to be sure ^^

I’m trying to resolve this on Flac now

The main issue is that SongKong currently writes all Secondary Musicians to a PERFORMER field for FLAC, Roon reads this but considers them to be the Primary Artists, putting them in the wrong section. If instead I write them to an INVOLVEDPEOPLE field instead Roon will read put them under as a credit.

So I can do this although it is a shame that although Roon supports TIPL (Involved People) and TMCL (Musician Credits) for ID3 tagging formats but for Flac it only supports the INVOLVEDPEOPLE field, meaning we have to lump in musicians with non-musicians (e.g Art Direction). I would prefer to keep separate, especially since I keep separate for ID3v24.

Secondly now that for Flac I can see Roon does support the following tags credit tags:

so none of these need to go into INVOLVEDPEOPLE

You can see here the credit data when I added all the data using by Jaikoz tagger, except for INVOLVEDPEOPLE which isn’t currently used by Jaikoz and instead I used Mp3tag

It doesn’t seem to recognise:


but if it is added to INVOLVEDPEOPLE (i.e Mp3Tag Choir (Choir) then it does come with role Choir/Chorus

Mp4 has the same results and same issue, but resolved in Mp3Tag using itunes style involvedpeople tag (dont know if case sensitive)

ID3v23 doesnt have problem, but has different problem


fields are not picked up by Roon. Jaikoz adds DMixer and Remixer to IPLS frame maybe Roon expecting own DJMixer and Remixer field. Lyricist is stored in the standard ID3 TEXT frame, so @support seems like a bug in Roon ?

What I’d like to see fixed is the creation of pseudo artists such as “Bruce Spingsteen (lead vocals)”. This occurs when Musician Credits is populated, e.g. “lead vocals=Bruce Springsteen”. The remedy is to move the credit to Involved People and add also add “Performer=Bruce Springsteen” to Musician Credits.

Also, it’d be great if case could be sorted, e.g. change “lead vocals” to “Lead Vocals”.

Hi, yes we spoke about this before - Question About Musician Credits and I’m trying to fix this.
But unless you have evidence to the contrary I think your analysis is not quite right. The problem is simply that for FLAC that SongKong adds musicians to the PERFORMER field, and Roon treats PERFORMER as primary artist, If instead I add to INVOLVEDPEOPLE instead it appears okay.

I would like to add musicians to MUSICIANCREDITS but AFAIK this field is not understood for Flac only ID3 (as TMCL frame), or have I missed that ?

Have something working for FLAC, note the case issue is also solved.

For example if you set a value of INVOLVEDPEOPLE to ‘The Edge (guitar)’ then Roon will display as ‘The Edge Guitar’ if Sorted by Name or ‘Guitar The Edge’ if Sorted by Role under the Credits section. This is because Roon has a list of roles in lowercase and if it finds the role in the list then it will display a title case version, if it doesn’t find the role then then the credit is not displayed at all.

In your example Performer=Bruce Springsteen is not required because Bruce Springsteen is already stored in the Artist field , Roon uses both.