I thought I explained this in another post, but I can't find it now, I'll write a more detailed explanation here.
You can't compare two Chromaprint fingerprints in the compressed and base64-encoded form and you can't compare two fingerprints by simply checking if they are identical.
If you want to compare two fingerprints, you need to get the raw data. Using fpcalc, you get that if you call it with the -raw parameter. That will give you a list of 32-bit numbers, instead of the long base64-encoded string. You can also decode string, but for that you would need to interact with Chromaprint as a library.
FINGERPRINT=1376359748,1397470669,1397396981,1359666679,1359667159,1359716246,1342814102,1347003830,1892394390,1888202135...
FINGERPRINT=1376358852,1397470669,1397396981,1359667191,1359667191,1359716246,1342814102,1347003830,1892394390,1888202135...
They are 32-bit integers, so you can look at each of them as a sequence of 32 bits. Then you need to compare them for bit differences (e.g. by counting set bits in the result of xor). For the first 10 items you get:
0. 01010010000010011001010101000100 xor 01010010000010011001000111000100 = 00000000000000000000010010000000
1. 01010011010010111011010111001101 xor 01010011010010111011010111001101 = 00000000000000000000000000000000
2. 01010011010010101001010111110101 xor 01010011010010101001010111110101 = 00000000000000000000000000000000
3. 01010001000010101101110111110111 xor 01010001000010101101111111110111 = 00000000000000000000001000000000
4. 01010001000010101101111111010111 xor 01010001000010101101111111110111 = 00000000000000000000000000100000
5. 01010001000010111001111110010110 xor 01010001000010111001111110010110 = 00000000000000000000000000000000
6. 01010000000010011011011110010110 xor 01010000000010011011011110010110 = 00000000000000000000000000000000
7. 01010000010010011010010110110110 xor 01010000010010011010010110110110 = 00000000000000000000000000000000
8. 01110000110010111010010110010110 xor 01110000110010111010010110010110 = 00000000000000000000000000000000
9. 01110000100010111010110110010111 xor 01110000100010111010110110010111 = 00000000000000000000000000000000
That means that in the item 0 there are 2 bits different, in items 3 and 4 there is only one bit different and the rest is identical. The simplest way to score the similarity of two fingerprints is to sum the bit differences.
So in this case you would get only 4 bits different out of the total of 320 bits (if I assume the fingerprints are only 10 items long).
Sometimes you might need to align the two fingerprints, because they do not start at the exact same time, so for example you will be comparing item 0 from the first fingerprint with item 1 from the second fingerpriont. See
http://acoustid.org/fingerprint/26931382/compare/13214169 for an example.
Lukas