Remove 'album artist' tags but not 'Album Artist' tags

I have about 110,000 flacs and mp3, mostly all tagged with Musicbrainz. Over time some of them have picked up multiple Album Artist tags - there's 'album artist' (all lower case), 'album_artist', 'Album Artist", "Album_Artist" and so on.

So I'm trying to clean up and consolidate into one canonical tag, 'Album Artist'. (This is partly because my music player of choice, musikcube, does unpredictable things when 'album artist' and 'Album Artist' tags both exist on the same track.)

I'm confident that the 'Album Artist' tag on each track always contains the correct value, so I'm trying to remove all the others. But, I'm trying to work out how to get mp3tag to remove 'album artist' only, and not also 'Album Artist'.

In the Extended Tags window, and in Tag->Tag conversion, they seem to be both conflated as ALBUMARTIST and testing has shown that removing that tag clears the value from Album Artist, which is what I want to retain.

Is there a way I can remove tags specifically called 'album artist' but leave 'Album Artist'?

Can you post a screenshot of the Extended tags for one of the files? Sounds like you may have a mix of tags like id3v1, id3v2, and ape.

Please note that the only valid representation in MP3tag to show the MP3 field TPE3 is ALBUMARTIST.
You could check the Options>Mapping whether you have mapped any "album artist" to ALBUMARTIST.
If not, then all the non-ALBUMARTIST fields are user-defined fields.
The best way would be to copy the contents of the existing fields to ALBUMARTIST and delete all the others.
The case, BTW, of the fieldnames usually does not matter.
But if you want to do that:

Thanks for you help! Screenshot below. When I view this release in Musicbrainz Picard, it has the 'Album Artist' tag and the 'album artist' tag, both set to Nirvana.

I've actually found that removing ALBUM ARTIST via the Extended Tags dialog removes the 'album artist' tag (ie. the one I want to remove) whereas removing ALBUMARTIST removes the one I want to keep.

So that's a viable way for me to do what I want, but it would be great to know whether I do have the mixture of v1/v2 and ape tags, and whether doing a mass removal of (say) id3v1 tags would result in removing 'album artist' plus a few of the other annoying tags I usually manually remove, like discc.

ID3V1 should (if at all) only be present in MP3 files, not in FLAC files.
You can filter for files with V1 tags with
%_tag% HAS V1
and for APE
%_tag% HAS APE

AFAIK, V1 does not have the ALBUMARTIST field.

The tag types of id3v1, id3v2, and ape will only exist for the mp3 files you have. For the FLAC files this won't apply.

The example you provided are for FLAC files. And as mentioned already by @ohrenkino there is a distinct difference between the expected standard "AlbumArtist" and non-standard "Album Artist" that you can easily distinguish.

Do you have a similar example of mp3 files that have a mix of the AlbumArtist fields that have different case field names in the same file? Those are the ones I would look at to see if there are more than one tag type to be dealt with.

If you only have FLAC-Files you do not have any of these tags.
But I first had a look at your posted extended tags window to see what kind of tags you have and only found a glass with red wine and the word "Tag" where normally the type of tags is displayed, if you mark only 1 file. You obviously marked the whole album so that the type of tags would not show up, but why is there this glass-icon? Did you change that yourself?

Could it be that the OP runs Mp3tag on WINE?

image

I'm glad to see that a fellow ss user made it to mp3tag (you're in my userlist).

If you are 100% sure that each of your files has ALBUMARTIST populated, you can do it via the extended tags like that. However, if you want to leave some room for error, you could do it with an action group that has fallbacks instead.

You'd need to create an action group and 2 actions within:

  1. Format Value:
    Field: ALBUMARTIST
    Format String:
    $if(%ALBUMARTIST%,%ALBUMARTIST%,$if2(%ALBUM ARTIST%,%ALBUM_ARTIST%))
  2. Remove fields:
    ALBUM ARTIST;ALBUM_ARTIST

What this does is:
First it checks if ALBUMARTIST exists. If it does, it is not changed and the superflous fields (ALBUM ARTIST and ALBUM_ARTIST) are deleted. If ALBUMARTIST is populated in each of your files like you say, the deletion of ALBUM ARTIST and ALBUM_ARTIST is all that will happen.

However if ALBUMARTIST does not exist, it checks if ALBUM ARTIST exists instead. If it does, the contents of ALBUM ARTIST are written to the ALBUMARTIST tag and then the superflous fields are deleted.

If ALBUM ARTIST also does not exist, but ALBUM_ARTIST does, that is written to ALBUMARTIST and then once again the superflous fields are deleted.

Or you could check if any of your files don't have ALBUMARTIST set prior to doing anything by filtering for albumartist MISSING which is probably even easier but I didn't think of it until I was done writing the rest of this down. Oh well.

And then Mp3Tag does not show the tag types?

Edit:
I answer ma question myseIf.
Probalby the reason is that the whole album is marked and not a single file.

You can see that some fields are set to <keep> - which is usually (also) an indicator that the dialogue shows the data of more than 1 file.

Thanks for everyone's help and input, all very much appreciated.

I've done some more testing on copied subsets of my library and I'm going to remove the 'album artist' tags via the Extended Tags dialog, then a few others like 'discc' and 'trackc' via the Remove Fields Quick Action.

And yes, I'm using Wine to run mp3tag on Debian Linux (with a KDE desktop), hence the wine glass icon. I'm yet to find a native Linux tagger that can handle the size of my library efficiently, and has the scripting/formatting/converting functionality that mp3tag offers!