The problem with using an MD5 checksum is that it's designed to spot if two files are
identical. This is not what we're looking for here. We want to know if two files are
almost identical.
We could spot that only the tags have changed by restricting the checksum to the MP3 frames. This is messy, but doable.
If you rip a file, to perfect it, say, then you're completely hosed. If the MD5 didn't change, then the file didn't change, and re-ripping it didn't buy you anything. If the MD5 did change, then it _is_ a different file. How is emplode supposed to spot this?
Thus, the only reliable way to spot that a file is
semantically the same as another one is to ensure that it has a unique ID embedded in it somewhere at creation time. As long as this ID is the same, then it's the same file.
However, even this won't work in the face of a freshly ripped track.
I
have given this problem some thought, trust me
.