List of performers including some without role or instrument (MP3)

ID3v2.4 defines for TMCL (Musician credits list) and TIPL (Involved people list) that every odd field is a role (instrument, vocal role or function) and every even is an artist or a comma delimited list of artists.

Sometimes one or more performers in the list are lacking a role like in this recording

Picard 2.6.3 moves them to a TXXX:performer custom field. I still have some older mp3-files where those performers had been appended by Picard to the TMCL tag. This lead to the funny result that odd field performers appear as instrument/role of even field performers.

I guess that there are good reasons why performers without role are not just written as is, like for example:

vocals; Johnny Cash; guitar; Johnny Cash; bass; Marshall Grant; drums (drum set); W.S. Holland; ; June Carter Cash

The TXXX:performer tag does not seem to be documented in Appendix B: Tag Mapping — MusicBrainz Picard v2.6.3 documentation and I was not able to find a ticket on that subject. Is this sort of a “beta version” feature and subject for changes?

I guess it would make sense in this case to just name the role “performer”?

2 Likes

I am not sure if this was fully intentionally. The code just happens to cause this.

The tag writing only handles “performer:role” tags, and those get saved as TMCL frame (or IPLS for ID3 v2.3).

There is no handling of “performer” (without colon) tags, so those get the standard treatment and end up in a TXXX frame.

If my memory is correct in one if the 2.x we had some fixes for performer tags, unifying their behavior when specified without role. It could be that this changed tags without role from being called “performer” instead of “performer:”, and that could have changed behavior here. If that’s true I would consider the current behavior a bug, or at least unintentional.

In any case I think we should change the behavior and make sure they all get saved to TMCL frames. I think even empty role would be possible, if not we could use something generic as suggested above.

2 Likes

Thanks for sharing all the details! I created ticket PICARD-2263 accordingly.

2 Likes

Thanks for the ticket. The fix has been merged and will be part of the 2.7 release.

1 Like

Great, just tried 2.7beta and it works as expected. Performers without a role get the generic role “performer” now.

1 Like