Compare two audio fingerprints with chromaprint

1,776 views
Skip to first unread message

thia...@gmail.com

unread,
Aug 26, 2014, 2:43:43 PM8/26/14
to acou...@googlegroups.com

Hello everyone!

Is possible to compare two audio fingerprints with chromaprint?

And get a result of this matching.

Lukáš Lalinský

unread,
Aug 26, 2014, 3:02:43 PM8/26/14
to Acoustid
Chromaprint itself doesn't have any code for matching, only for
fingerprint generation, if that's what you mean.

If you mean whether you can compare two chromaprint-generated
fingerprints in general, then it depends on what kind of comparison
are you looking for. You can only check if the two fingerprints are
generated from "more or less" the same source recording. If you are
looking for something like checking whether one audio clip sounds
"similar" to another one, then you can't do that with chromaprint.

The fingerprints are arrays of 32-bit numbers and the simplest
comparison involves checking how many bit differences are there
between the two arrays, e.g.:

score = popcnt(a[0] ^ b[0]) + popcnt(a[1] ^ b[1]) + ...

(popcnt is a function that counts the number of set bits)

In reality, you have to do more things, like aligning the two
fingerprints if they do not start from the same position in the audio.

Lukas
> --
> You received this message because you are subscribed to the Google Groups
> "AcoustID" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to acoustid+u...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

thia...@gmail.com

unread,
Aug 26, 2014, 3:21:37 PM8/26/14
to acou...@googlegroups.com
Thanks!
by fast answer!

Tim Bytes

unread,
Nov 28, 2014, 4:58:07 PM11/28/14
to acou...@googlegroups.com
Hi Lukas

Given two fingerprints, what is the best most efficient algorithm for calculating a similarity score?

How is it done on the server for match lookups?

Is there a source file where I can take a look at this?

I'm interested in storing the fingerprints in a different kind of database and want to be able to perform match lookups.

Thanks!

Lukáš Lalinský

unread,
Dec 1, 2014, 12:56:44 PM12/1/14
to acou...@googlegroups.com

Tim Bytes

unread,
Dec 2, 2014, 10:11:16 AM12/2/14
to acou...@googlegroups.com
Thank you for this!

Would it make sense to have a "Fingerprint" C++ type as part of the chromaprint project that would encapsulate the match scoring, base64 encoding/decoding, and other features of a fingerprint?
Reply all
Reply to author
Forward
0 new messages