Binary comparison of modified FLAC file is different to original after tagging and reverting the change

This problem has bothered me for several days, whenever I use mp3tag to modify the tag of flac.
For example,
delete the comment: "JASRAC / EMI Records",
click Apply,
and then I modify the comment again: "JASRAC / EMI Records".
It stands to reason that the file after I do this should be exactly the same as the previous file, but I got the opposite answer after performing a binary comparison.
There is some inconsistency at the beginning, this part looks like the part that stores metadata.

I also tried to use other software to do the same operation, foobar2000 also has this problem, but I also observed that the processing result of foobar2000 and the processing result of mp3tag are not completely the same.
This makes me very confused
By the way, I also tried to use Sony's media go afterwards. The magic thing is that media go doesn't have this problem. I don't know where the problem lies. If anyone can help me I would really appreciate it. (* ^ _ ^ *)

This is not a bug. Mp3tag rewrites the FLAC stream without changing the audio data in the process. If you want to verify your file's integrity, use the per-frame CRC and the stream-level MD5 verification methods of the FLAC format.

thank you, but I know how this works, and I also know that I only need to check the integrity of the audio data without having to care about the metadata. I am just curious why modifying the tag with different software will have such different results

I tried again. It seems to me that every software I use to edit metadata behaves differently in binary, but it seems that all software works the same. (I don't know much about this, I just googled a bit and tried it myself.

I have a feeling that most tagging software would fail your binary test since they don't aim to preserve the integrity of the whole file but rather rationalise the metadata and the writing of it.

Tagging software do many things invisible to you (unless you read the binary data). They could change all mixed case field names to uppercase (or the opposite), they could add padding, they could add new fields alphabetically or chronologically, or even re-arrange all fields alphabetically. Or they could clean up white space or redundant code.

Every tagger doesn't do all of the above but most of them changes the metadata in a rewind operation like your example.

I'm not worried about this, but to avoid various software "adding to the mix", I only use Mp3tag for all my tagging purposes.

4 Likes

I guess the same is true, I was just not sure before. now I understand.
I found that mp3tag selects in a blank area, and then chooses to compare the binary file after saving. The interesting thing is that I try to make no changes afterwards, just click save (or ctrl + S, of course it is the same) and then compare the binary file and I get the same result.
It's like you said, every software does its unique thing.

I really agree that you only use mp3tag to edit tags to reduce the differences between files. Based on what I said above, I have found that this can be achieved even without changes and just saving. Maybe I just suffer from Perfectionism. (* ^ _ ^ *)
And, I now understand that this is not a bug, this is a feature.

thanks all of you