I recreated Shazam's algorithm with Go [video]
13 comments
·February 24, 2025lukaslalinsky
ge96
what would you say is the difference between fingerprint and using something like OpenAI's whisper approach (visual spectrogram ML) for finding the music
tangent: I'm also thinking about some fast way to search text algo maybe related to Spotify damn that was a long time ago read that article
jmholla
You should be careful with this. Last time I saw an article about reproducing Shazam's algorithm, their lawyers came after them and eventually the article was removed.
There were questions as to the validity of the threats their lawyers used, but even a bulletproof case is a costly endeavor when going up against the scale of companies.
ziddoap
The title card of the video is "Please don't sue me", so I assume OP is at least somewhat familiar with the risks.
amiga386
and then goes on to say he lets people put in Spotify links to add songs. Spotify won't let you download songs, but he uses their API to get the band and title... then searches for it on Youtube and downloads the song from there instead
PFFFT that's the sound of Youtube's lawyers spitting out their coffee and sprinting back to their desks
gnabgib
Related I recreated Shazam’s algorithm with Go (494 points, 7 months ago, 117 comments) https://news.ycombinator.com/item?id=41127726
How Shazam Works (2003) [pdf] (117 points, 11 months ago, 29 comments) https://news.ycombinator.com/item?id=40029036 - there's a lot of links to past Shazam stories in comments
alain_gilbert
git repository of this project ->
ge96
I'm curious who's better Shazam or SoundHound
hmcamp
I love this explanation
There was an open source audio fingerprinting system called echoprint, which actually implemented the shazam algorithm in a way that made it hard to claim it's the same approach as shazam, but in reality it was almost the same. The hardest part about these kind of services is designing the fingerprints so that you can search them effectively. The audio part is interesting and fun, but actually less critical.