Simulating Shazam Acoustic Fingerprinting for Music Identification - Lennevi, Elias; Sandh, Ludvig; Sundström, Noah; Önnermalm, Tom (My University, 2024)
Abstract To identify music in a real-time audio recording, sometimes including noisy elements, is not a particularly trivial audio signal processing task. In this study, the goal is o understand and recreate the Shazam algorithm, a method to accurately detect music from real life recordings. The programming language Python is both used to design and implement the discrete signal processing concepts behind the algorithm, and also to build a functioning application that can be used in a smaller scale in a real environment. The thesis examines the theoretical concepts from which the Shazam algorithm is built upon. The major components of the algorithm will be highlighted, such as the spectrogram generation, fingerprint identification, and fingerprint matching. By analyzing and implementing these components, we aspire to explore optimization techniques to match the performance of the original Shazam algorithm in terms of speed. Furthermore, this research aims to analyze the algorithm’s accuracy in environments with varying noise levels. By training the algorithm on a library of songs spread throughout history and from diverse genres, we hope to develop an application that respects different cultures and is inclusive, showing it would work well in a real life scenario. Fundamentally, our thesis helps spread the understanding of the applications of advanced signal processing techniques, especially in the area of music identification. By analyzing and recreating the Shazam algorithm, we aim to highlight its inner workings, limitations, and potential further improvements.
Keywords: Keywords: Acoustic fingerprint, sound recognition, Python algorithm, digital signal processing