Re: comparing fingerprints of Chromaprint

1,252 views
Skip to first unread message

Lukáš Lalinský

unread,
Jun 25, 2012, 7:46:10 AM6/25/12
to acou...@googlegroups.com
On Sun, Jun 24, 2012 at 5:01 PM, ala <manus...@gmail.com> wrote:
>  where can i get more information on the format of the finger
> print produced by Chromaprint? i read this
> (http://oxygene.sk/lukas/2011/01/how-does-chromaprint-work/) but could not
> find the details needed. Basically i like to know a suitable technique for
> fingerprint comparison. I cannot use the ususal web services to
> for comparison, because i use it in a different context rather than song
> identification. I am looking for a way to compare two fingerprints in
> a straight forward manner rather than creating an index using fingerprints.

I think the general approach should be clear from the pictures
included in the post. If you XOR two identical fingerprints, you will
get a list of zeros. If you do the same to very different
fingerprints, you will get noise, but the more similar the
fingerprints are, the less set bits (1) will be in the XORed numbers.
This assumes that the fingerprints are perfectly aligned, but the idea
in general is to find some way to align the fingerprints and then
calculate some measure that is based on bit-difference between the two
fingerprints. It can be really a simple XOR and counting the set bits,
it can be counting of common elements in both fingerprints, etc.

Lukas

Lukáš Lalinský

unread,
Jun 27, 2012, 1:20:29 PM6/27/12
to acou...@googlegroups.com
On Wed, Jun 27, 2012 at 7:11 PM, ala <manus...@gmail.com> wrote:
> Yeas, but my issue is the speech files i compare are of slightly different
> lengths.

What kind of matching are you trying to do? I'm afraid you will have
very little luck on speech audio.

Lukas

Lukáš Lalinský

unread,
Jun 28, 2012, 2:29:22 AM6/28/12
to acou...@googlegroups.com
On Wed, Jun 27, 2012 at 7:53 PM, ala <manus...@gmail.com> wrote:
> i am trying to match two short audio files, each containing speech for some
> one saying the word "hello".

Chromaprint is not designed for matching this kind of audio. It
wouldn't work well even on matching identical speech recordings (it
makes some assumptions about the analyzed content being music), but
audio files with two people saying "hello" will generate completely
different fingerprints, so you have no way to match them. Chromaprint
is specifically designed to identify only near-identical recordings.
Any content change should generate a different fingerprint.

Lukas
Message has been deleted

89.y...@gmail.com

unread,
Jun 28, 2012, 3:18:01 AM6/28/12
to acou...@googlegroups.com
Hi,
I want to ask a question about this issue. I calculate fingerprint of an audio file,  then I cut a piece of audio from the middle part of the song by a mixer program and calculated its fingerprint. However their fingerprint are totally different. There is no common part of them. Is that normal? (Note: Both of them has same format)

And also my output is not as that "ala" sent above. Mine is a string like FINGERPRINT=AQADtFGSJ4ySJBr0o1dqHF_yBOoz..... 

Lukáš Lalinský

unread,
Jun 28, 2012, 3:40:22 AM6/28/12
to acou...@googlegroups.com
That's the encoded version of the fingerprint. It needs to be decoded
before you can compare it. If you are using fpcalc, just add the -raw
option and you will get the numbers instead of the encoded string.

Lukas

89.y...@gmail.com

unread,
Jun 28, 2012, 7:03:06 AM6/28/12
to acou...@googlegroups.com
It is ok now thanks.
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

Lukáš Lalinský

unread,
Jun 29, 2012, 8:35:36 AM6/29/12
to acou...@googlegroups.com
On Fri, Jun 29, 2012 at 1:57 PM, <89.y...@gmail.com> wrote:
> However, when I take the middle part of full song by cutting it by a audio
> mixer program and save in same format and calculated finger prints
> separately,
> comparator gives very low score, under 0.25...  . Is this about the
> capability of chromaprint?

Is is possible that the cut off audio is modified also in some other
way (filtering, compression, etc.)? If you simply cut it, it should
work reasonably well.

Lukas

89.y...@gmail.com

unread,
Jun 29, 2012, 8:45:05 AM6/29/12
to acou...@googlegroups.com
When I used completely different song. I took max. 0.03 score. According to this score 0.25 is good but maybe not enough. Before that I am suspicious about the accurate work of comparator on my computer. Because after running code, matches list includes some negative offsets. Is it possible? Thanks for your answers.



Lukáš Lalinský

unread,
Jun 29, 2012, 8:53:11 AM6/29/12
to acou...@googlegroups.com
The script was written as a quick example for writing a custom
solution, not something you can readily use. Yes, negative offsets
with very low scores are possible, because it thinks the short sample
starts even before the long one. The correct offset should have higher
score though.

Lukas

pedro....@gmail.com

unread,
Nov 15, 2013, 1:33:02 PM11/15/13
to acou...@googlegroups.com
Hello,

I have a 10secs portion of a song in mp3, and I want to locate the full song (which I have, but in a directory with other thousands of files, and random names).
I tried this:

mp3cut -o song-short.mp3 -t 00:00:00+000-00:00:10+000 song-full.mp3
fpcalc -raw song-full.mp3
fpcalc -raw song-short.mp3

and I tried to compare the ouptuts, but couldnt find the "short" fingerprint in the full one.
Am I doing it wrong?, is this possible in any way with chromaprint?


Regards,
Pedro
Reply all
Reply to author
Forward
0 new messages