28

Mar

What is the mechanism of "guessing the song title" on smartphones?

An app that, if you start the app on your smartphone and leave it for a while, finds out what songs are playing around you is popular. If it's not the intro part or the chorus part of the song, you can identify it, so just any part is OK. Apps such as "Shazam" are not 100% popular, but they have a high probability of guessing the song title and artist name. There is no doubt that it will be useful in situations where you want to know the name of a song because you liked it by chance. However, I'm curious as to how it works. Even if it seems that the smartphone's built-in microphone is used to collect sound and analyze the sound data, there is no sign that the app is performing super-advanced calculations, and it is built-in. The mic isn't overly powerful, and it's understandable to wonder why it works in a noisy environment with a low-quality song playing. In general terms, the device is an “audio fingerprint”. There are a number of approaches/algorithms for song title guessing, but the most well-known method is to hash the characteristics of the spectrogram of each song (data based on certain rules) and use it as a search target. . Roughly speaking, it analyzes the sound data collected by the smartphone's microphone, searches for songs with similar hash values ​​in a cloud database that has been stored in advance, and determines the song name. When humans recognize songs, they rely on scales/melodies such as do-re-mi-fa-so-ra-shi-do, but in the case of song title guessing apps/services, the decisive factor is the “fingerprint” derived from the frequency range and time difference. Voice fingerprinting is just one method, but it's true that smartphone song naming is quite different from human song recognition.

Marine Shinobi

Song name guessing on smartphones How does it work?