8.2.4. Lab week4. Implementation of Shazam music recognitionΒΆ
Shazam is a company with patent rights on an algorithm to identify music. The main idea is to create acoustic fingerprints based on spectrograms and store these in a database. When the database has been filled a new audio fingerprint a new piece of music can be searched for matches in the database. Publishing of “shazam code” is often prohibited by the company with legal threads. So you are warned.
The assignment consists of implementing a commented implementation of the Shazam algorithm. Read for this the following articles:
Wang, An Industrial-Strength Audio Search Algorithm
Guo, A Music Retrieval System Using Melody and Lyric
Yao, Digital Song Analysis Using Frequency Analysis
For those who want to improve several parts of their program the following link can help to get ideas: http://www.ismir.net/proceedings
Recommended to use ‘normal’ music songs first with for example 2 versions or a different part of the same song. Experiment later with more difficult versions and extend your database with fingerprints. All examples should present a spectrogram of the music and optional fingerprint information (graphical or textbased). Take care for correct axis information. More difficult is the recognition of sounds which are not music. For those who have implemented to music recognition we have some different sounds of birds which happen to be quite difficult sometimes to store as fingerprints. It would be interesting if a some of you can show if voice recognition is also possible using this method. The idea is that you give a short presentation of your results.