v18 MBID's in database (album_artist.strArtist)
#1
I've checked the database ("MyMusic72.db") and found something strange: I have MBID's as "strArtist" in in table "album_artist".

I didn't see anything displayed wrong (like in https://forum.kodi.tv/showthread.php?tid=333668). For me everything looks good.

However, it might be good to take a look on it (if something goes wrong) and also I'm interested why there are MBID's as artist name in this table.
Most records have a correct, real artist name. Only a few records have the MBID. The MBID's are correct and exists as artist in MusicBrainz.
I found out that all these albums are multiple-artist releases and are .ma4 files and the MBID's are just for further artists, i.e. "iOrder" > 0.
It's also strange for me that some of these records have as first "strArtist" (iOrder = 0) only the first artist name and some have the full "credited as" value (i.e. all release-artists, incl. the join phrase).

I know the tag "albumartists" (with 's') and I also have a script to set this tag. I didn't have it since the beginning but I made my script a few months ago.
Picard do not add the tag "albumartists" for .ma4-Files. It's also not possible to set it manually for .ma4 (but it might be done with other tools, like Mp3tag).

BTW: What is ths sense of "album_artist"."strArtist"? Where will this field be used?
In "albumview" the "strArtists" is correct and I think this might be the value used for display.
Reply
#2
Kodi trys to pair up (album) artist names and mbids values it reads from tags, but when it can't it will save the mbid as the artist name as a best attempt rather than just skip that music file entirely. Generally if users see mbids as names then there is something in their music files that needs fixing. Most cases that will be in an album with multiple album artists.

Your particular example you have .ma4 files with multiple album artists and mbid tags. Unlike the majority of other formats which use Taglib, for .ma4 files Kodi uses ffmpeg tag factory to read the metadata and that has limitations compared to Taglib. The ffmpeg tag reader can not handle multiple-frame tag values that can be added in ID3v2.4 format metadata, e.g. while  tagged with "artist1", "artist2", "artist3" only      "artist1" is returned by ffmpeg. A work around for that is to combine multiple values for artist into a single value using a known item separator e.g. "artist1 / artist2 / artist3" when tagging, like you would with ID3v2.3 format tags.

I am guessing without more details, but I think that your .ma4 file has had album artists as separate values but mbid tag as a single string. Hence ffmpeg reader gave Kodi one album artist name but more mbid values.  The mbid would be written as an artist name to both album_artist and artist tables, however if subsequent file scanning paired that mbid with an artist name then the artist table entry would be updated with that name (leaving just the album_artist table entry with mbid instead of name).


If I remember correctly the strArtist field of the album_artist table is puely a diagnostic value now (I have certainly used it for that purpose when users have got in a mess with their tagging), although I would need to check some historic use of this denormalised value does not still exist somewhere.

Yes, when displaying the artist name(s) for albums or songs it is the strArtistDisp field of the table (called strArtists in the views) that is used.  That will contain what was in the ALBUMARTIST or ARTIST tag and could be a combination of names. If you are not seeing mbid in the artists node then the artist table entry has been corrected by other scanning, hence you don't see the mbid value in the display.
Reply

Logout Mark Read Team Forum Stats Members Help
MBID's in database (album_artist.strArtist)0