Shazam is an app that identifies multimedia. The program stores a catalogue of audio fingerprints in a database. Shazam works by analyzing the captured sound and seeking a match based on an acoustic fingerprint in a database of millions of songs. It generates a spectrogram (a time/frequency 2D graph of the sound, with amplitude at intersections) of the sound, and maps out the frequency peaks from it (which should match key points of the harmonics of voice or of certain instruments).
Shazam can identify music, movies, advertising, and television shows, based on a short sample played either through the microphone of the device and also when you’re listening through your headphones.
SongRec is an open source Shazam client for Linux. The software is written in Rust.
On our Ubuntu systems, installation is easy.
First we need to add the program’s repository. using add-apt-repository, which is a script which adds an external APT repository to /etc/apt/sources.list.
$ sudo apt-add-repository ppa:marin-m/songrec -y -u
We can then install the developer’s package.
$ sudo apt install songrec -y
And run the program with the command:
There’s also a package in the Arch User Repository for Arch and Arch-based distros. And if you use a different distro, there’s a cross-distro Flatpak available, or you can install using Cargo.