Hacker News new | ask | show | jobs
by lukecameron 2508 days ago
The technique you're looking for is Acoustic Fingerprinting [1]. There's a pretty easily understandable python implementation[2] of it if you're interested. In Shazam's case it is looking for peaks in the sound's spectrograph, so I don't think it would likely confuse two songs based on melody alone. It would have to be very close in rhythm, melody, and possibly even be in the same key.

[1] - https://en.wikipedia.org/wiki/Acoustic_fingerprint [2] - https://github.com/worldveil/dejavu