ID3 tag question with regard to "Various"
#1
I am faced with some strange behavior in my music collection.
I am currently cleaning my ID3 tags, and I'm adding one album after the other to XBMC.
So far, so good.

When I added some soundtracks, I saw that some of sound tracks go into the artist list as "Various", and most of the others go into "Diverse Interpreten".

Now, "Diverse Interpreten" is german and seems to be the translated string of "Various".
Since I'm working in the german environment, I would obviously prefer to have them all in "Diverse Interpreten" finally.


I was starring at my ID3 tags (with EasyTAG 2.1.6 on Linux laptop), and I could not see any difference in the tags.
For all albums, it looks like this:
1) one folder per album

2) folder name: "Various - <film title > O.S.T."

3) folder content: mp3 files plus cover.jpg

4) mp3 name: <##> - <artist> - <track title>.mp3

5) ID3 tags (v.2.4, UTF8):
here, I'm only maintaining the title of the track, the artist, album name and title
number etc, but no further fields like componist, original author, comment, encoder
etc.


All soundtracks are identically ripped from what I see.
What may be the cause for this difference ?

Thanks for your help!
Regards, Marcus
TV: Samsung 40U6300ES Full HD LCD
HTPC: Asus H97M-Plus, Intel Core i3-4150 CPU, 2GB RAM, DigitalDevices CineC/T Twin DVB-C adapter; Asus Blueray/DVD drive; Samsung 256GB 830 series SSD drive; Kodi 14.0 on OpenELEC 5.0.5
Reply
#2
Two more comments:
a) I switched the XBMC language to English, and immediately, the whole user interface was english. But, this did not have any impact on the "Diverse Interpreten" in the list.
I expected this to change as well.

b) I had look at the xbmc/language/German/strings.xml file at github.com.
I cannot find the string "Diverse Interpreten" (or even "Diverse" only) at all.


Where is this coming from? - It is not part of my ID3 tag Huh
TV: Samsung 40U6300ES Full HD LCD
HTPC: Asus H97M-Plus, Intel Core i3-4150 CPU, 2GB RAM, DigitalDevices CineC/T Twin DVB-C adapter; Asus Blueray/DVD drive; Samsung 256GB 830 series SSD drive; Kodi 14.0 on OpenELEC 5.0.5
Reply
#3
This is a known issue - the "various artists" is stored in the database localized (which ofcourse is completely silly).

A patch to fix it would be most appreciated - see MusicDatabase.cpp for a start, then take a grep through the code for the localizedstring fetch and you'll see where else you need to alter things. Essentially store it as VARIOUS (or similar) and translate it for display purposes.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#4
Hi Jonathan,

if I'm getting your response right, the bug you mention seems to be related to my second post where I switch back to English, but my list entry stays localized.

Also, since I couldn't find "diverse Interpreten", do you mean that this german string is hard-coded in the file you're mentioning?



That doesn't bring me to the root cause of my question, why are there some albums sorted into "various", and the others went to "diverse Alben".

If this would only be related to localization, I would assume that they all appear under one line item in my list.



Sorry, my last coding experience is >15 years back from school, and I was not good at that time.
I'll try to read the code tonight to come up with a better understanding of what's going wrong, but I do not have a lot of hope that I can "read" this easily.
Will see....

Thanks anyways,
Marcus
TV: Samsung 40U6300ES Full HD LCD
HTPC: Asus H97M-Plus, Intel Core i3-4150 CPU, 2GB RAM, DigitalDevices CineC/T Twin DVB-C adapter; Asus Blueray/DVD drive; Samsung 256GB 830 series SSD drive; Kodi 14.0 on OpenELEC 5.0.5
Reply
#5
That strings definitely not in XBMC, so I suspect it's actually in your tag.

I suspect come of your tags have "Various" in the album artist, whereas others might have either the compilation flag set or satisfy the compilation rules (see the wiki), whereas others have a german tag set for album artist.

You may want to try some other tagging apps to see whether there's hidden tags that you aren't seeing?

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#6
Argh, I was wrong.
I was crawling through the code and did not found the string either.

It is not "Diverse Interpreten", but "Verschiedene Interpreten".
And this one is assigned in xbmc/music/tags/Id3Tag.cpp, lines 124 -- 128:

Code:
// TODO: Better compilation album support (should work on a flag in the table not just on the albumartist,
  // which is localized and should instead be using a hardcoded value that we localize at presentation time)
  bool partOfCompilation = GetCompilation();
  if (partOfCompilation && tag.GetAlbumArtist().IsEmpty())
    tag.SetAlbumArtist(g_localizeStrings.Get(340)); // Various Artists

The german translation of string #340 is "Verschiedene Interpreten".


As far as I understand this code, the condition is true there is not Album-Artist assigned.
What is the meaning of "partOfCompilation" ? -- is this a tag?

Is all this on the album level, or on the per song level ?

Regardless. I have the feeling, that this code path is the proper thing for these kind of albums. This tells me, that the other albums either have "partOfCompilation" = true, or they have an Album-Artist assigned.
As soon as I remove this, all should go into the same category in the library.



I found another reference in the code (lost again) to "html image musicdatabase.png" or so, but I don't find this graphics. Will that one help me or is this irrelevant ?


You're right, my next steps are:
a) check the ID3 tags with a different editor/viewer (any recommendation, btw?)
b) identify the other code path to understand why it jumps the conditions for this path...



Thanks,
Marcus
TV: Samsung 40U6300ES Full HD LCD
HTPC: Asus H97M-Plus, Intel Core i3-4150 CPU, 2GB RAM, DigitalDevices CineC/T Twin DVB-C adapter; Asus Blueray/DVD drive; Samsung 256GB 830 series SSD drive; Kodi 14.0 on OpenELEC 5.0.5
Reply
#7
Ok, I got it after some trials.

I used "mutagen-pony" to debug my ID3-Tags, and I saw that the difference between the albums is the "TPE2" tag, which is either set or not set.

In the next step, I erased this tag via: "id3v2 --TPE2 "" *mp3 in the particular album folder.
Sadly, this doesn't leave all other tags unchanged, but screws them up (character encoding broken, strings shortened etc)

Afterwards, I had to fix what the command line tool broke, and after re-adding the album to the library, now everything is ok.



Funny. I was under the impression that EasyTag is one of the most powerful tag editors for Linux. But I have no chance to influence most of the available fields from it.


What I didn't find in all the tags is "partOfCompilation".
Does this correlate to "TPOS" (=part of set) ?


Regards,
Marcus
TV: Samsung 40U6300ES Full HD LCD
HTPC: Asus H97M-Plus, Intel Core i3-4150 CPU, 2GB RAM, DigitalDevices CineC/T Twin DVB-C adapter; Asus Blueray/DVD drive; Samsung 256GB 830 series SSD drive; Kodi 14.0 on OpenELEC 5.0.5
Reply
#8
Part of set is for CD sets (cd 1 of 2 etc.)

The compilation flag (in mp3 at least) was an iTunes invention - not 100 where it's stored, but pretty sure it's in a TXXX tag. TPE2 is traditionally used for album artist.

It makes much more sense now that you've verified the string is the localized one.

Now that you've looked at the code (finding the above is the first step) you could take a grep through for that string and see where it's used and see how hard it'd be to fix.

I think it'd be as "easy" as:

1. Change any tag readers to set "VARIOUS" instead of the localized string.
2. Ensure that "VARIOUS" was used in the music database as well (we always ensure that there is an artist "VARIOUS" in the database).
3. When presenting the album artist for the UI, do the translation.
4. Extra for experts (i.e. not really required) - update the database to get rid of the translated string (obviously this assumes the user has only used one language).

Of these, the 3rd step is potentially the trickiest. What I would do is add a boolean flag to GetAlbumArtist that defaults to true to do the translation. Then, in the parts of the code where we don't want to translate (eg when putting things into the database) ensure it's called with false.

That should take care of it I think?

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply

Logout Mark Read Team Forum Stats Members Help
ID3 tag question with regard to "Various"0