exiftool.exe -G7 -u "Royalty Free Music - 3, 2, 1 Funky Pop Hip Hop Rock Break Beat Loops.m4a"
Please note that m4a is one of the very few music formats that ExifTool can write metadata to - most are read-only.
ExifTool can R ead, W rite and/or C reate files in the following formats:
| File Type | Support | Description | EXIF | IPTC | XMP | ICC1 | C2PA | Other |
|---|---|---|---|---|---|---|---|---|
| FLAC | R | Free Lossless Audio Codec | - | - | - | - | R | R FLAC ID3 Lyrics3 |
| M4A, M4B, M4P, M4V | R/W | MPEG-4 Audio/Video (QuickTime-based) | R/W³ | R/W³ | R/W/C | - | R/D | R/W/C QuickTime |
| MKA, MKV, MKS | R | Matroska Audio/Video/Subtitle | - | - | - | - | - | R Matroska |
| MOV, QT | R/W | Apple QuickTime Movie | R/W³ | R/W³ | R/W/C | - | R/D | R/W/C QuickTime |
| MP3 | R | MPEG-1 layer 3 audio | - | - | - | - | R | R MPEG ID3 Lyrics3 APE |
| MP4 | R/W | Motion Picture Experts Group version 4 (QuickTime-based) | R/W³ | R/W³ | R/W/C | - | R/D | R/W/C QuickTime |
| MPC | R | Musepack Audio | - | - | - | - | R | R MPC ID3 Lyrics3 APE |
| MPEG, MPG, M2V | R | Motion Picture Experts Group version 1 or 2 | - | - | - | - | R | R MPEG ID3 Lyrics3 |
| OPUS | R | Ogg Opus audio | - | - | - | - | R | R FLAC ID3 Lyrics3 Opus Vorbis |
| WAV | R | Windows digital audio WAVeform (RIFF-based) | R³ | - | R | - | R | R RIFF |
| WMA, WMV | R | Windows Media Audio/Video (ASF-based) | - | - | R | - | - | R ASF |
³ Non-standard format
Mp3tag expects a four-character MP4 atom identifier consisting of printable ASCII characters, where the trailing null character 0x00 as found in the FourCC of the ilst → url atom is treated as invalid.
Thank you very much for your analysis.
With trailing null character 0x00 in ilst → url atom you mean this output line
[ID-url00] Unknown urlx00 : https://tidal.com/browse/track/39529646
in the Exiftool output above?
Yes, its atom identifier is 0x75 0x72 0x6C 0x00. This translates to url with one trailing 0x00.
Hi Florian,
thanks for the feedback and especially for your great tool. If I understand it correctly, it should be sufficient if I just remove the URL tag so that MP3Tag can read the file afterwards without errors. I'll try it out as soon as I'm back home.
You could try it with
exiftool -ItemList:all= -TagsFromFile @ -ItemList:all "Royalty Free Music - 3, 2, 1 Funky Pop Hip Hop Rock Break Beat Loops.m4a"
In my own test (with ExifTool v13.25_64) this will remove the "wrong URL" and the remaining iTunes fields becomes readable in Mp3tag.
(It creates a *_original file, just to be sure
and for comparison).
According to this ExifTool forum entry, it should be possible to delete a single iTunes tag, but I could not find a working syntax for the mentioned "Unknown_urlx00" tag.
I am now experiencing the same thing.
I can't manage to delete just the broken URL tag.
and your command actually produces the same result as the one posted above, which rewrites all tags. In both cases the iTune tags are lost, but that doesn't bother me too much.
---- iTunes ----
REPLAYGAIN ALBUM GAIN : -10.39
REPLAYGAIN TRACK GAIN : -10.39
REPLAYGAIN ALBUM PEAK : 0.906661
REPLAYGAIN TRACK PEAK : 0.906661
For me this is now a workaround that I can live with.
Thanks to everyone for the really great support.
Just as an idea how to preserve the field contents (if necessary):
You could use a tool like ExifTool or MediaInfoCLI to export these values.
Then you can customize and import the useful values in Mp3tag with Convert -> Textfile - Tag.
For example the CLI variant of MediaInfo with
MediaInfo.exe notreadable_in_mp3tag.m4a > MediaInfoExport.txt
creates a file with the content mentioned above.
If you reduce this exported content to the values you really need (manually or with a script) from
replaygain_originator_code : 011011000000
isrc : USHM81064896
url : https://tidal.com/browse/track/39529646
to
011011000000:USHM81064896:https://tidal.com/browse/track/39529646
then you can import these values back in Mp3tag into the matching fields with Convert -> Text file - Tag
Of course, you will need to change the field names in the Format string to match the values you want to import.
The result for above example:
(The field names in Alt + T are automatically sorted in ascending alphabetical order.)

