SeekTune is an audio fingerprinting tool that implements Shazam's song recognition algorithm in Go.
The tool solves the problem of identifying songs from audio recordings by generating compact fingerprints based on spectral analysis rather than storing full audio files. It uses a constellation map approach to create a hash-based representation of a song's characteristics, allowing fast matching against a database of known tracks. The implementation integrates with Spotify and YouTube APIs to enable downloading songs and retrieving metadata for matched results.
SeekTune suits developers building music recognition features who want to understand or deploy the underlying algorithm without relying on Shazam's proprietary service. It works well for applications that need local song identification with a manageable database of tracks. The tool supports both SQLite and MongoDB as storage backends, giving flexibility for different deployment scales. Users should be aware that the frontend display of matches requires a YouTube ID to be present in the database, though the `-f` flag allows saving songs without one if needed.
The project shows active development with implementation of core fingerprinting logic, API integrations, and database abstraction. The codebase includes both backend services written in Go and a frontend client, with Docker support for simplified deployment. Documentation covers setup across multiple installation methods including native and containerized approaches, with clear configuration steps for Spotify API credentials and database selection.