Shazam Algorithm, audio fingerprint, hash table, Python script, audio analysis, music identification, fingerprint hashing, combinatorial hashing
This document summarizes the implementation of the Shazam algorithm using Python scripts to analyze and compare audio files.
[...] -Search for digital fingerprints based on their hash value. -Collision management that occurs when multiple fingerprints have the same hash value -Backup and loading; this feature allows the hash table to be saved in a file and also loaded from a file as in audfprint.py, the main file. -The script allows to merge two hash tables. -The script offers features to delete entries, list table elements, and convert names to IDs. Data Structure: Code analysis shows that data can be presented in different data structures. [...]
[...] The obtained hash value is used to determine the location of the fingerprint in the table. If the location is already occupied, a simple strategy is used to find a free location. The hash table can be saved in a binary file (pickle) or in a specific format. Finally, the script hash_table.py loads the hash table from a saved file. The script hash_table.py therefore provides a basic implementation of a hash table to store and manage audio fingerprints and allows for the identification of similar music pieces. [...]
[...] ii-The script audfprint_match.py If audfprint_analyse.py is responsible for creating and storing audio fingerprints, audfprint_match.py should logically be designed to compare these fingerprints with each other, in order to determine if two pieces of music are similar. This is a key element in the music recognition systems of the main script. The audfprint_match.py script has several features: The first is the extraction of the 'fingerprints', taking as input an audio file and extracting 'fingerprints'. These fingerprints are unique digital representations of the acoustic characteristics of the file. [...]
[...] These digital fingerprints are then used to create a sorted database index, facilitating fast and accurate music piece searches. The rapid combinatorial hashing method increases specificity and search speed while reducing storage costs. The algorithm thus enables rapid, precise, and robust identification of music pieces from short audio extracts. 2-Technical synthesis and operation of the Shazam algorithm: 2.1 Analysis of the elements that constitute this algorithm The Python code of the algorithm is designed to manage and use an audio fingerprint database. [...]
[...] The Shazam algorithm project is based on the main script audfprint.py. The operation of this script relies on the operation of several other scripts such as audfprint_analyze.py, audfprint_match.py and hash_table.py which have been imported into the latter. I-The script audfprint_analyze.py This script is designed to extract acoustic fingerprints from audio files and build a database allowing the comparison and identification of these files. The script contained in audfprint_analyze.py plays three functions: First, the script analyzes audio files to extract unique characteristics, called "fingerprints". [...]
APA Style reference
For your bibliographyOnline reading
with our online readerContent validated
by our reading committee