Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Song fingerprinting tools (Read 64712 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Song fingerprinting tools

Reply #25
musicmusic: Would you consider an update that improves the usability of matched dupes? I.e. putting the dupes into a playlist?
Can't wait for a HD-AAC encoder :P

Song fingerprinting tools

Reply #26
Will you consider checking one file against a dataset? For instance, I'd like to know how if I have any duplicates of file A in ABCADBB.

Song fingerprinting tools

Reply #27
I was wondering if anyone had a copy of the matching.zip file from the foosic website(now down). I have downloaded the one from archive.org but it said it was invalid archive when I tried to unzip(tried two different zip programs the others unzipped fine).
I have been playing with libfooid and would like to play with the matching portion of the library.

I have hosted a couple websites for years and would be more than happy to put up a mirror of the old foosic site, minus the database portion for people looking for the code a descriptions later on.

Niles

 

Song fingerprinting tools

Reply #28
I restored the relevant part of http://foosic.org


Song fingerprinting tools

Reply #30
I think all of your suggestions could be very usefull.
For example: I could make a run over my complete Music Lybrary, put all doubles in playlist und check this playlist later when i have time.


Could somebody help, I am a java developer and I'm trying to develop an application that compares two audio files acoustic fingerprints. When I tried loading the audio file from java, I got a FileFormatNotSupportedException. Has anyone been able to implement this in Java? Please help....thanx.

Song fingerprinting tools

Reply #31
My bad, I just had a look and it seems the compiler settings weren't set sanely for this project. After correcting this, the compare fingerprints command takes nearly a quarter of the time it took before (for me anyway). New build to fix that in a couple of days 
.

Song fingerprinting tools

Reply #32
musicmusic, did you see this thread? I think it has great potential to use acoustic fingerprinting. Did you think through the possebility of an API for this?

What do you think about the possebility of storing an identifier to all clustered tracks specified by a certain threshold? That could help (at least me) creating playlists with duplicate tracks and sorting out in these. In addition something like "remove duplicates", but based on acoustic fingerprinting could be possible on playlists.
Can't wait for a HD-AAC encoder :P

Song fingerprinting tools

Reply #33
0.3 released:

-Comparing more than two pre-calcuated fingerprints takes about one-eight of the time it did before with the above change and some further optimisations
-Calculating fingerprints uses the given length instead of continuing to decode the remainder of the file to get the actual decoded length. Seems reasonable to me, and of course there is a performance benefit this way. If anyone has any opinion on this feel free to share it...
-Added a few extra actions previously mentioned in the more-than-two files compare fingerprint results display
.



Song fingerprinting tools

Reply #36
Whilst I was looking around on the net, I found some discussion of an oddity in regress.c. On line 66, it does this test:
Code: [Select]
if (ssyy <= 0.0f + EPSILON)
and sets *r, but it then divides by ssyy and sets *r again. Basically, the test does nothing. It seemed there was a missing else statement so I changed that (in the downloads above also), but it would be nice if you could confirm..


Yes. There should be an else around the rest of the computation if ssyy = 0.

The code is doing a linear regression on the spectrum represented in dB, and calculating the regression coefficient. The spectrum might be all zeroes.

Song fingerprinting tools

Reply #37
I still can't believe just how fast it's become - here it takes a mere 24 seconds to compare 14k tracks! Also, the new playlist interface is extremely useful. A big thank you from me!

Song fingerprinting tools

Reply #38
Wow, incredible fast.
Thank you very much for the new Version.

Song fingerprinting tools

Reply #39
musicmusic: Thanks for the ability to save a playlist!  Much appreciated - You probably just saved me a ton of space!
Can't wait for a HD-AAC encoder :P

Song fingerprinting tools

Reply #40
I was comparing 32320 items in a playlist and after roughly 25%, foobar2000 hardcrashed with: The exception unknown software exception (0x0000409) occured in the application at location 0x0324731b. Click OK to terminate the program
Can't wait for a HD-AAC encoder :P

Song fingerprinting tools

Reply #41
Do you mean 0xC0000409? That's STATUS_STACK_BUFFER_OVERRUN... hmmm
"The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application."

Strange. Did all those files have the fingerprints saved to the file already?

I don't think there's anything wrong on my side, but I can't say what caused that.
.

Song fingerprinting tools

Reply #42
Strange. Did all those files have the fingerprints saved to the file already?

I have a few possible causes

1. I had streams in my selected items (Edit: Judging by the speed it took without those, they are likely the reason it failed at first )
2. No, not all files actually had fingerprints

I'm trying again now... (Edit: Works fine!)

Is it possible to use NG grouping with the inserted silence entrys?
Can't wait for a HD-AAC encoder :P

Song fingerprinting tools

Reply #43
Transcoding means a change in audio data, which will yield a different fingerprint than the original. Some people, including myself, might forget this and have files with "invalid" fingerprints in their libraries. It's probably not very important, but how about an opinion to "verify fingerprints" for files? I'm sure this is kind of stupid (Workload and "Hey, it's the same song, so why care?"), as actually generating new fingerprints for all files might be faster, but It would at least not change files unnecessarily.

Upon testing something, I've found that different levels of FLAC compression will have different fingerprints. For instance, I tried converting some files (Originally FLACs at -8) to -0 through -7, then compared all eight. -0 through -2 had a 99.6% with -3 through -8. The first set had a 100% against each other (Comparing -0 through -2) and same for the other (-3 through -8), but not when comparing them to each other. I don't know if this signifies anything, but I'm kind of curious.

Song fingerprinting tools

Reply #44
Upon testing something, I've found that different levels of FLAC compression will have different fingerprints.


This would be a bug in the fingerprinting tool (or in the flac decoder, or something else in the chain, but a bug of some kind). In principle, fingerprints should be robust even on transcoding, because they are based on the spectral composition and not on the binary representation of the music, but in any case, there's no way fingerprints may differ between various levels of lossless compression.

The other explanation would be that your hardware is somehow failing...

Song fingerprinting tools

Reply #45
I've tried this on two different computers, so I don't think it's my hardware. Using Foobar with the official flac.exe. What I'm curious about is how why it's usually always ~99.6% (Tried with some other files too - 99.6%~99.8% for these.)... When I decode a given "99.6% file" from -3 through -8, to -0, it'll give me a clean 100% when comparing it to -0 to -2 files.

Can anyone else confirm this? Convert a file so that you have one FLAC -0 and one FLAC -8, then compare them with foo_biometric.

Song fingerprinting tools

Reply #46
I confirm, looking into it...
.

Song fingerprinting tools

Reply #47
musicmusic, can fingerprint data be somehow interpreted?
I downloaded FingerPrint.java and ServerUtil.java in hope that I'll find the answer but I got lost with all those shifts and operators, which I don't understand
Is it built from 424 2-figure hex numbers, or something more complicated?

Why? - I was trying to represent the data with color, without some success and don't know if it's possible in the first place

Song fingerprinting tools

Reply #48
musicmusic: If you try to "Save fingerprints to file" on a streaming file (asx in my case), it will try to scan and then crash sometime. Can you fix it so it will simply ignore if you try to do something this stupid?

(It's a real problem when I use it with New File Tagger that automatically saves fingerprints to new files)
Can't wait for a HD-AAC encoder :P

Song fingerprinting tools

Reply #49
Do you have a crash log? (Not sure if the crash submitter gives an ID/reference to look it up..)
.