In my last post, I pointed out the shenanigans that ensue when you use Easytag to update the metadata associated with your FLAC music files. Specifically, I demonstrated how Easytag will silently, and without the opportunity to configure the behaviour, change the name of a tag from COMMENT to DESCRIPTION.
When you then go on to use software which expects a tag to be called COMMENT, this causes problems!
Well, that chance discovery got me thinking and I followed my own advice that I gave in that last post: "don’t mix-and-match your tagging software lightly. Always check and inspect what a particular program will do to your data".
And it turns out that Easytag is not the only software that thinks it's fine to mangle your carefully-crafted metadata. Indeed, the news is pretty bad: because ffmpeg will do it too!
In case you don't know, ffmpeg is a program that is brilliant at all sorts of multimedia management. It will extract audio from a video; it can burn subtitles onto a video; it can convert one audio format into another... you name it, it can do it. But watch:
That's me inspecting the tags in a test music file stored on my hard disk. Note that in position [6], we have a 'COMMENT' tag, set to a value that includes Charles Mackerras. All fine and as I'd expect. Now, I want to convert this file from FLAC format to FLAC format (which doesn't sound a sensible thing to do, but there are times you do need to do it -such as when you purchase a Hi-Res FLAC file and want to 'thunk it down' into being something that could have been ripped from a standard CD).
The command to do that is simply:
ffmpeg -i <inputf-filename.flac> <outputfile-filename.flac>
So, in my case, I do this:
So first I check the existing file exists and is indeed a FLAC file, then I'm doing an ffmpeg conversion, asking the output file to be called '99-output.flac'. That gets ffmpeg to work its magic, and this is the result:
Both original and new output file exist on the hard disk. Let me now inspect the tags associated with the new '99-output.flac' file:
Notice that at poisition [6] now, we have a tag called 'DESCRIPTION', and no tag called 'COMMENT' appears at all.
The very act of using ffmpeg causes one of your tags to be silently re-named.
This is poor form in my book, but it is what it is. The trouble from my point of view is that nearly all my audio-management scripts rely on ffmpeg to do the heavy lifting when it comes to audio format conversion and so on. In particular, the AUAC (universal audio converter) script I use daily has been mangling my COMMENT tags out of existence since the day I wrote it!
This is... er, somewhat "upsetting", as you can imagine!
By way of response, I blow a big raspberry in the direction of the ffmpeg developers (well, not that big, because their software is still worth its weight in gold!) and go edit my own scripts to add a little routine that says "if you're using ffmpeg with FLAC files, first preserve the value of any tag called COMMENT ...and then put it back into the file once ffmpeg has finished its work".
Basically, and saying it in one sentence: the scripts available on this site have now all been checked and modified to preserve the value of the COMMENT tag, for any operations involving FLAC files.
With those updates in place, and with the script I mentioned last time able to recover data from a tag named DESCRIPTION and write it back into one named COMMENT, plus a fairly hefty dose of re-typing in data from CD booklets, I was happy to see this the other day:
That's me running the ACT (AbsolutelyBaching Comment Tag-checker) in the root folder of my entire collection of digitised classical music... and getting no response whatsoever. Meaning that all my music files once more have proper COMMENT tags containing real data.
And these latest software updates mean things should stay that way from now on!