https://github.com/cgzirim/not-shazam Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Topics + AI + DevOps + Security + Software Development Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} cgzirim / not-shazam Public * Notifications You must be signed in to change notification settings * Fork 49 * Star 583 An implementation of Shazam's song matching algorithm. License MIT license 583 stars 49 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 1 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights cgzirim/not-shazam This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 227 Commits client client models models scripts scripts shazam shazam spotify spotify utils utils wav wav .gitignore .gitignore LICENSE LICENSE README.md README.md appspec.yml appspec.yml cmdHandlers.go cmdHandlers.go go.mod go.mod go.sum go.sum main.go main.go socketHandlers.go socketHandlers.go View all files Repository files navigation * README * MIT license NotShazam screenshot Demo in Video Description NotShazam is an implementation of Shazam's song recognition algorithm based on insights from these resources. It integrates Spotify and YouTube APIs to find and download songs. Installation [?] Prerequisites * Golang: Install Golang * FFmpeg: Install FFmpeg * MongoDB: Install MongoDB * NPM: To run the client (frontend). Steps Clone the repository: git clone https://github.com/cgzirim/not-shazam.git Install dependencies for the backend cd not-shazam go get ./... Install dependencies for the client cd not-shazam/client npm install Usage Start the Client App cd client npm start Serve the Backend App go run main.go serve [-proto ] [-port ] Download a Song Note: A link from Spotify's mobile app won't work. You can copy the link from either the desktop or web app. go run main.go download Find matches for a song/recording go run main.go find Delete fingerprints and songs go run main.go erase Example [?] Download a song $ go run main.go download https://open.spotify.com/track/4pqwGuGu34g8KtfN8LDGZm?si=b3180b3d61084018 Getting track info... Now, downloading track... Fingerprints saved in MongoDB successfully 'Voila' by 'Andre Rieu' was downloaded Total tracks downloaded: 1 Find matches of a song $ go run main.go find songs/Voila\ -\ Andre\ Rieu.wav Top 20 matches: - Voila by Andre Rieu, score: 5390686.00 - I Am a Child of God by One Voice Children's Choir, score: 2539.00 - I Have A Dream by ABBA, score: 2428.00 - SOS by ABBA, score: 2327.00 - Sweet Dreams (Are Made of This) - Remastered by Eurythmics, score: 2213.00 - The Winner Takes It All by ABBA, score: 2094.00 - Sleigh Ride by One Voice Children's Choir, score: 2091.00 - Believe by Cher, score: 2089.00 - Knowing Me, Knowing You by ABBA, score: 1958.00 - Gimme! Gimme! Gimme! (A Man After Midnight) by ABBA, score: 1941.00 - Take A Chance On Me by ABBA, score: 1932.00 - Don't Stop Me Now - Remastered 2011 by Queen, score: 1892.00 - I Do, I Do, I Do, I Do, I Do by ABBA, score: 1853.00 - Everywhere - 2017 Remaster by Fleetwood Mac, score: 1779.00 - You Will Be Found by One Voice Children's Choir, score: 1664.00 - J'Imagine by One Voice Children's Choir, score: 1658.00 - When You Believe by One Voice Children's Choir, score: 1629.00 - When Love Was Born by One Voice Children's Choir, score: 1484.00 - Don't Stop Believin' (2022 Remaster) by Journey, score: 1465.00 - Lay All Your Love On Me by ABBA, score: 1436.00 Search took: 856.386557ms Final prediction: Voila by Andre Rieu , score: 5390686.00 Resources [?] * How does Shazam work - Coding Geek (main resource) * Song recognition using audio fingerprinting * How does Shazam work - Toptal * Creating Shazam in Java Author [?] * Chigozirim Igweamaka + Check out my other GitHub projects. + Connect with me on LinkedIn. + Follow me on Twitter. License This project is licensed under the MIT License - see the LICENSE file for details. About An implementation of Shazam's song matching algorithm. Topics go golang song shazam audio-processing audio-fingerprinting song-recognition-algorithm not-shazam Resources Readme License MIT license Activity Stars 583 stars Watchers 5 watching Forks 49 forks Report repository Releases No releases published Packages 0 No packages published Languages * Go 71.9% * JavaScript 20.1% * CSS 4.0% * Shell 2.2% * HTML 1.8% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.