I'm developing an iOS application with SDK for iOS 5.0 and XCode 4.2.
I want to develop an application that recognize sounds. I see there is an application called Sound Hound that recognize music and tells artist and title.
How can I do something similar? I want to compare a sound to an existing sound database. How can I do that?
Maybe I can use Fourier Transform. I don't know how to process sounds. Or it could be similar to speech recognition, isn't it?
Shazam, Soundhound, and other music-identification services all work basically the same way: they have a big database of song information, an algorithm that can quickly extract information from your song sample, and an app to let you interface with those things. Technically, you don't even need a smartphone.
Once the fingerprint of the audio is created, Shazam starts the search for matches in the database. If there is a match, the information is returned to the user; otherwise it returns a “song not known” dialogue.
Shazam is the simpler app, perfect for people who simply want to tag a track and move on. SoundHound is better suited to music aficionados who want to get all the information related to the song, and possibly even discover some new music along the way.
How does the Shazam algorithm work? The Shazam algorithm distills samples of a song into fingerprints, and matches these fingerprints against fingerprints from known songs, taking into account their timing relative to each other within a song.
I came across a paper which explains how audio search algorithms work. Here is the link. It was written by one of the developers of Shazam, a rival application of SoundHound.
good links on the wikipedia page include: https://surdu.me/2011/01/20/how-does-shazam-work.html and the paper http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf Sub_stantial noted earlier
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With