Record a short audio clip and identify the song from a local music database through a web browser interface
Download songs via Spotify links or YouTube and store their audio fingerprints for later recognition
Build a self-hosted song identification service using the Go backend with SQLite or MongoDB storage
Study how the Shazam audio fingerprinting algorithm works through a fully implemented Go reference project
Requires Go, FFmpeg, Node, and yt-dlp all installed before running, a Docker Compose option is available to skip manual dependency setup.
SeekTune is a Go application that can identify songs from audio recordings, working on the same core idea as Shazam. You give it a short audio clip, and it searches a local database of songs to find the best match. The approach involves audio fingerprinting: each song is reduced to a compact set of patterns derived from its frequency content, and those patterns are stored so they can be matched quickly against new recordings even if the recording has background noise. Beyond recognition, the app can download songs using Spotify links and YouTube, store them in the local database, and display matches through a browser-based frontend. You search for a song via the web interface or command line, and the app returns a ranked list of candidates with a confidence score. In the example the README includes, a recording of a single song scores millions of points while unrelated songs score only a few thousand, making the top match obvious. The project is built as two parts: a Go backend server that handles fingerprinting and matching, and a small frontend client built with Node. Setup requires installing Go, FFmpeg (for audio processing), Node, and a command-line YouTube downloader called yt-dlp. A Docker Compose option is also provided if you prefer not to install dependencies manually. By default the app stores fingerprints in SQLite, but it can be switched to MongoDB by setting environment variables. The README includes a demo video, a YouTube walkthrough of how the project was built, and links to the academic papers and blog posts the author used to understand the Shazam algorithm. The author is Chigozirim Igweamaka. The project is under the MIT License.
← cgzirim on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.