I, mostly, agree with you. Over the last couple decades, mp3tag has proven invaluable in helping to organize my collection of audio files. That said, I know there are some "tags" that are not shown. For instance, .flac files have a FLAC-specific cuesheet that does not show-up in mp3tags. This is most likely because this tag is not an ID3 tag, but a FLAC-specific cuesheet frame that contains only information related to playback.
My surprise in finding out that the file had a tag that mp3tag did not show is what prompted me to think that perhaps this tag is some Apple iTunes specific tag and caused me to look into it closer. When I saw that the two artist tags appear to be exactly the same, I was really confused.
The source of the track is from Apple iTunes and this hidden Artist tag was part of the original .m4a file. If I use mp3tag to add another Artist, I will see both of the Artist tags added using mp3tag, but, the original, hidden, artist tag from Apple iTunes is still not shown.
NOTE:
After sampling a few tracks, it appears that the exiftool was able to correctly remove all of the Artist tags without corrupting the audio stream.
I was able to use the exiftool to recurse through my music directories and remove all Artist tags on the .m4a tracks (with no check first to see if there was more than one Artist tag):
C:\RootMusicFolder> exiftool -overwrite_original -a -Artist= -ext "m4a" -r C:\Music
I then loaded all the tracks into mp3tag, sorted by artist and removed those tracks that still had an artist. Using the option Convert > Tag - Tag and setting %ARTIST% to %_parent_directory% (my folder structure is "\<album artist><album>"), I was able to re-add the, one, correct artist. I had to use the Convert > Filename - Tag for the various artists albums as the directory name is the album artist.
When I initially thought this was limited to just a handful of tracks, I wrote a simple batch file to identify (and later to strip) all artist tags from an .m4a file, only if the file had more than one artist tag. But, upon running this in non-update mode, I quickly determined that the problem was effectively all tracks obtained from iTunes. I also had concerns of some artist/album/track names with special characters that might cause the batch file to go haywire. For the curious at not-so-faint-of-heart, here is the batch file:
@ECHO OFF
SETLOCAL
CHCP 1252>nul 2>nul
::Set or unset _removeTags to remove tags (update files)
:: or to just list the problem tracks.
SET _removeTags=1
SET _removeTags=
::Change these folders to a "root" (parent) folders for your .m4a collections
FOR %%A IN ("C:\rootMusicFolder";"D:\alternateRootMusicFolder") DO CALL :checkRootFolder "%%~A"
:exitPgm
ENDLOCAL
EXIT /B 0
::Checks all .m4a files, recursively, from the provided root directory
:checkRootFolder
ECHO Checking root music folder: %1
FOR /R %1 %%B IN (*.m4a) DO CALL :checkTrack "%%~B"
ECHO Done.
GOTO :EOF
::Checks a specific track to see if it has more than 1 Artist tag
:checkTrack
FOR /F "usebackq" %%C IN (`exiftool -a -artist "%~1" ^| find /C /I "Artist :"`) DO IF %%~C GTR 1 CALL :fixTrack "%~1"
GOTO :EOF
::Logs a track that needs to be fixed and if _removeTags is set will remove all Artists tags
:fixTrack
ECHO Fixing: "%~1"
IF DEFINED _removeTags exiftool -overwrite_original -a -Artist= "%~1"
GOTO :EOF
The above batch file worked for me, but, if you have any tracks with special characters (e.g., "&"), you may need to ENABLEDELAYEDEXPANSION or otherwise fiddle with it.