3 ms·
Is there some write-up on the algorithm used? I'm currently in the planning stage for a similar project and this might end up being really helpful for me. EDI
by lumberjack 11y ago
Is there some write-up on the algorithm used?
I'm currently in the planning stage for a similar project and this might end up being really helpful for me.
EDIT: Thanks guys.
- Nimitz14 11y agoNo idea but I'd guess instead of simply comparing the received signal with an internal database of time domain signals, one's database is split into different categories (according to certain features). So you could then quickly go down a tree of options until you end up a song with the most similar ones (features). The unique combination of features would make up the "acoustic fingerprint" they're talking about. That's probably too obvious though I'd imagine there's something else going on as well.
- aditya 11y agoEchoNest used to do this[1] and is open source 1. http://developer.echonest.com/forums/thread/3650 http://developer.echonest.com/forums/thread/3650
- anonova 11y agoSee "An Industrial-Strength Audio Search Algorithm"[1], a 2010 paper written by one of the Shazam developers. The analysis itself doesn't seem complicated[2] but having a large enough database to compare against is probably the hard part. [1]: http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf [2]: http://www.royvanrijn.com/blog/2010/06/creating-shazam-in-java/ http://www.royvanrijn.com/blog/2010/06/creating-shazam-in-ja...
- pronoiac 11y agoFrom memory, they do a spectrum analysis (frequency vs time) and look for peaks, specifically sets of three peaks in a row, evenly spaced. Gather a lot of them and send them in.