Proper use/syntax of PERFORMER tag in APE and FLAC tags.
#1
Tried this in FLAC (Vorbis Comment):

Code:
Mp3tag File Overview
9/8/2016

Title: 1a Chorus
File: 01 1a Chorus - Peter Schreier.flac
Artist: Johann Sebastian Bach
AlbumArtist: Rundfunkchor Leipzig
Album: St. Matthew Passion, BWV 244:  Johan Sebastian Bach
Conductor:  Peter Schreier
Performer:  Peter Schreier (Evangelist) Theo Adam (Jesus) Andreas Scheibner (Petrus) Ekkehard Wiaschiha (Judas) Hermann Christian Polster (Pilatus) Olaf Bar (Pontifex)
Discnumber: 1
Disc:
Track: 01
MUSICBRAINZ_ARTISTID:
MUSICBRAINZ_ALBUMARTISTID:
MUSICBRAINZ_ALBUMID:
Artists:
AlbumArtists:
MUSICBRAINZ ARTIST ID:
MUSICBRAINZ ALBUM ARTIST ID:
MUSICBRAINZ ALBUM ARTIST:
MUSICBRAINZ ALBUM ID:


build on 9/8/2016, with Mp3tag v2.78 - the universal Tag Editor - http://www.mp3tag.de/en/

but failed to correctly parse. It only gets "Peter Schreier" as performer but role is "Evangelist) Theo Adam (Jesus) Andreas Scheibner (Petrus) Ekkehard Wiaschiha (Judas) Hermann Christian Polster (Pilatus) Olaf Bar (Pontifex". It strips the first left paren and last right paren instead of creating a list as I assumed it would.

scott s.
.
Reply
#2
I know that the Mp3tag file view could be misleading, but I think the issue is that you have only one PERFORMER tag. Kodi is looking for each one of that tag to be a string with format "artist name (role here)", hence the result you are getting everything between the fist and last bracket taken as the role.

Tag with multiple PERFORMER tags e.g.

PERFORMER = "Peter Schreier (Evangelist)"
PERFORMER = "Theo Adam (Jesus)"
PERFORMER = "Andreas Scheibner (Petrus)"
etc.

This is the way Picard tags multiple performers in FLAC.

If you (or anyone) would like to extend CTagLoaderTagLib::AddArtistInstrument to correctly parse the arrtists and roles out of that kind of combined string too then I would be quite happy.
Reply
#3
Easy to fix in mp3tag. Working well, though Estuary I think needs some fixes in song information window to better display the ContributorAndRole label.

scott s.

.
Reply
#4
Yes there are some issues with music infomation display in Estuary, I'm hoping one of the skinners invloved will fix it.

Do you think there is a need to extend CTagLoaderTagLib::AddArtistInstrument to parse multiple artists and roles out of a single string, or is it reasonable to say that it has to be one artist per tag?
Reply
#5
(2016-09-15, 10:57)DaveBlake Wrote: Yes there are some issues with music infomation display in Estuary, I'm hoping one of the skinners invloved will fix it.

Do you think there is a need to extend CTagLoaderTagLib::AddArtistInstrument to parse multiple artists and roles out of a single string, or is it reasonable to say that it has to be one artist per tag?

For APE/Vorbis(FLAC)-style tags, one value per tag seems to be the standard so it's perfectly reasonable. But for ID3, I think you are only allowed one instance of a tag (frame) so would have to parse a list in TIPL or TMCL? Don't have enough familiarity with the other tag formats to offer comment.

scott s.
.
Reply
#6
I let Picard guide me, it seemed a reasonable start point if not the definative end.

So for APE/Vorbis(FLAC) tags PERFORMER is a string with "name (role)", multiple tags for multiple values.

For ID3 TIPL and TMCL we have a tag (frame) with comma separated pairs of entries e.g. "artist1, role1, artist2, role2... artist_n, role_n".

Looking at it now it would be more robust to handle both styles of content in all tag formats, just in case someone gets confused and it wrong. Something for me to add at some point.
Reply
#7
I think your proposed encoding for ID3 does not work, as in 2.4 it is valid to have TIPL or TMCL in the form:

artist1,artist20x00role10x00artist30x00role2


At least that is my reading. I suppose you could constrain these frames for use in Kodi.

scott s.
.
Reply
#8
Code:
TMCL
   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
   artists.

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

You could be right Scott, although that is not what I got out of Picard as test data. :S

I hope it is not another example where the popular use diverges from what the standard says (like TPE2 that is 'Band/Orchestra/Accompaniment' frame but has become defacto the albumartist).

I'll do some more research, but thanks for pointing this out.

EDIT:
Well it turns out I had implemented to allow for "role1:artist1, artist2; role2... role_n: artist_n" as per spec. This matter is confused by how tagging software chooses to display this tag compared to how it saves it.
Reply

Logout Mark Read Team Forum Stats Members Help
Proper use/syntax of PERFORMER tag in APE and FLAC tags.0