Adding Various Artists On Condition Only

Is there any clever way to create a string that will detect multiple artists for an album and then automatically add the metadata "Various Artists" to the Album Artist Field and "Compilation=1"?

I have a very large library and quite a few albums have several artists. If I have a compilation, such as Grammys 2020 CD, each artist shows up as a different album in my media browser unless I embed "Various Artists" in Album Artist Field and "Compilation=1". I understand why this is needed but I only know how to do it album by album and it is taking many day to handle with this huge library.

I would be grateful for a string to automate this process. Thanks.

If you really have multivalue-fields you can filter for these files:
"$meta_sep(Artist,\\)" HAS \\
Then apply an action group with 2 actions for these filtered files:
Format value:
Field: ALBUMARTIST
Format String: Various Artists

Field: COMPILATION
Format String: 1

1 Like

MP3tag does not compare data between files.
So any detection has to rely on data that can be compared looking at a single file at a time.
So:
How does the path look like? Do you have the name of the ALBUMARTIST in the path somewhere?
Which fields have you already filled?
Could you show a typical set of files that would be part of the same compilation?

Thank you. I tried filtering as follows with various compilations loaded up in Mp3tag:
"$meta_sep(Artist,\)" HAS \

Unfortunately, nothing showed up after filtering with those values.

Here is a photo of the path and then the metadata info for one of these typical albums:


Compilation Example2

You can see that each song from a different artist in a compilation is in a folder by artist/album. This file scheme is consistent for the full library.

(Some of my compilations are tagged as "compilation" as the genre and I could filter for genre "compilation" and apply my needed "VARIOUS ARTISTS" and COMPILATION=1. However, there are many albums not tagged with genre "compilation" that have multiple artists, so this type of handling could get me started but would only handle specific albums.)

My suggestion was for the case that you have multiple artists in 1 file (multivalue tags). I think I misunderstood your wish.
What you obviously want is to filter for albums with different artists.
You should answer to Ohrenkinos questions.

However, I would like to point out that albums with different artists on individual tracks are not necessarily Various Artists compilations. Rather, they often have an album artist who represents the album as a whole and should therefore not be given "Various Artists" as album artists.
Just as an example:
https://music.apple.com/us/album/duets/1440933245
In my opinion, you should generally use the Albumartist tag field regardless of which player you use.

This is just a rough idea:

First move all files of the same ALBUM to a common folder with Converter>Tag-Tag for _DIRECTORY with an absolute path, e.g.
Format string: z:%album%
Now, the common folder can be used as a data storage.
So rename the folder again but this time to add further information:
Converter>Tag-Tag for _DIRECTORY
Format string: z:\%album%__%artist%
This will lead to a folder that has e.g. the name "z:\Grammy Nominees 2010__U2"
You can now filter for files where the ARTIST is not part of the folder name but contains the ALBUM:
"$ifgreater($strstr(%_directory,%artist%),0,1,0" IS 0

and now you should be able to set "Various Artists" for all displayed files.

When the data is complete, you can move the files back to their original location with Converter>Tag-Filename.

1 Like

Thank you both for your good suggestions.
I'll work on this now that I understand more about the possibilities/limitations of what can be done.
Very appreciated.

This only works if the Artist tag has a backslash, I don't see that in the tags in your example. You mentioned in your first post that you would need to add the COMPILATION flag "1" to your files, but this example already has that. Do most or all of these files have that? If so you could search for that value, then assign the AlbumArtist to "VARIOUS ARTISTS" as desired.

If this isn't the case, is the any other common factor for these tracks that can be used to filter? Perhaps you may have to find something that works for at least some larger groups, and filter a few times to get them all.

Thanks.
Most of my albums with multiple artists do not have the COMPILATION = 1 flag.

What these multiple artist albums have in common is that they have the same exact ALBUM tag in the metadata, such as "Grammys 2003". These albums also have the same exact name in the folder structure.

If there was a way to filter to only show all albums that have different artist tags within an album I could globally apply my VARIOUS ARTIST and COMPILATION=1 tag.

MP3tag does not know anything about albums.
So there is no way to filter for criteria that can only be evaluated if you compare 2 files with each other.
That is why I suggested to add one artist name of all albums to the folder and then compare all other artist names with the name in the folder.

@ohrenkino's is a good solution, based on the limited data in the fields currently being used. But there are some possible issues of albums that may have identical names you will have to deal with, especially ones like "Greatest Hits" or similar.

You mentioned you have a rather large library - I don't know how large is large in your case. But given the fact that you are starting down this path now, it may be slower but more accurate to try this approach: Load all of your tracks, and sort by the Album column. Then go through the list box and check for each group of tracks for each album, and highlight all for each separate album you know is a compilation, and add the Various Artist data into the Album Artist box in the tag panel and save. (Page Down, Copy, and Paste will be your friend here.) Most compilations have a fair number of tracks, usually 15-20 in my case. So even on a larger library, this could be a one-time weekend project that will pay off in the long run. Once you have your Album Artists tagged, you can filter for all of those, and add the compilation flag "1" in one shot.

1 Like

Thank you all for the suggestions and possible solutions.
Greatly appreciated.