3 ms·
If you're wondering how to implement Shazam itself, it's surprisingly straightforward using a notion of "anchor points" and "constellations" within a spectogram
by btown 3y ago
If you're wondering how to implement Shazam itself, it's surprisingly straightforward using a notion of "anchor points" and "constellations" within a spectogram to reduce the search space and be resistant to ambient noise.
https://ismir2003.ismir.net/presentations/Wang.pdf https://ismir2003.ismir.net/presentations/Wang.pdf
https://www.princeton.edu/~cuff/ele201/files/Wang03-shazam.pdf https://www.princeton.edu/~cuff/ele201/files/Wang03-shazam.p...
At scale, you just need a really fast key-value lookup table - and of course, the legal permissions for all the audio files. But if you have a proprietary set of audio files you want to be able to match ambient audio recordings against, it's absolutely feasible to implement from scratch.
https://stackoverflow.com/questions/6269167/open-source-audio-pattern-recognition-finger-printing https://stackoverflow.com/questions/6269167/open-source-audi... has a number of open-source solutions using similar approaches.
- deleted 3y ago[deleted]
- dewey 3y agoImplementing something like Shazam that works in a quiet room with perfect source might be "straight forward" and "just need a really fast key-value table" but the thing where Shazam shines is doing all of that with very quiet audio, bad quality, noisy background and all kinds of other non-lab conditions. I think you are underselling the engineering effort a bit there, I'm sure the engineers working on it for years have a reason for still being there.
- btown 3y agoThe fingerprinting algorithm described in the paper handles noise and quality issues - it’s not just for lab environments. That said there are many parameters that can be tuned from real-world data, additional filters that can be applied, and no doubt Shazam has improved things over the years. With regards to engineering, I believe the lion’s share of Shazam’s engineering goes to things other than the core algorithm: app development, song ingestion pipelines, enterprise analytics for the record industry, etc.