I recreated Shazam's algorithm out of curiosity but mostly out of desperation. In this video, I explain how Shazam works and how I implemented the algorithm in Golang.
Source code: https://github.com/cgzirim/seek-tune
Demo: https:https://drive.google.com/file/d/1I2esH2U4DtXHsNgYbUi4OL-ukV5i_1PI/view
Drop me an email: cgzirim@gmail.com
Peek at my thoughts: https://twitter.com/cgzirim
Or connect with me: https://www.linkedin.com/in/ichigozirim/
Resources:
How Shazam Works - Coding Geek (main resource): https://tinyurl.com/49syjy48
Song Recognition Using Audio Fingerprinting - Rochester: https://tinyurl.com/4wkmc26r
How Shazam Works - Toptal: https://tinyurl.com/3u7y5pee
Creating Shazam in Java: https://tinyurl.com/3y67bpdk
Credit: Couldn’t have done this without these resources—huge thanks to their brilliance.
Music credits:
https://pixabay.com/music/
http://epidemicsound.com/
Stock footage sources:
https://www.storyblocks.com/
https://www.shutterstock.com/
0:00 - Intro
01:02 - How Shazam's algorithm works
02:59 - Backend tech
03:28 - Transforming raw audio into a fingerprint
03:40 - Function One
05:15 - Function Two
06:34 - Function Three
08:06 - Frontend tech
08:31 - Uploading songs
09:27 - Recognizing songs
11:09 - Displaying matches
11:30 - Demo / Conclusion