top | item 43159222

I recreated Shazam's algorithm with Go [video]

109 points| ccgzirim | 1 year ago |youtube.com

16 comments

order

lukaslalinsky|1 year ago

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.

ge96|1 year ago

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|1 year ago

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|1 year ago

The title card of the video is "Please don't sue me", so I assume OP is at least somewhat familiar with the risks.

mannyv|1 year ago

The Shazam patent is out there.

jurschreuder|1 year ago

I also did this also in Go about 8 years ago for a company. I wonder if that company still exists actually it was called SpotOn.

Hmm they did seem to have gotten some more customers after I left but the website is all glitchy now so I guess it's abandoned.

https://spot-on.media/

gunian|1 year ago

this pops up every now and then so question as an uneducated guniea pig :- isnt the main ingredient the songs database?

amiga386|1 year ago

Well sure, a songs database is important. But song databases like https://acoustid.org/ exist, which let you look up songs that share the same audio "fingerprint" (https://github.com/acoustid/chromaprint). You need the full track to make that fingerprint.

Shazam can take only a tiny snippet, and can guess quite accurately just from that snippet. By comparison to AcoustID, which is also a song database (with an entirely different purpose) we can say that the "main ingredient" is Shazam's system for identifying songs from short snippets.

ge96|1 year ago

I'm curious who's better Shazam or SoundHound

hmcamp|1 year ago

I love this explanation