You are here:
Audio Fingerprinting

Audio Fingerprinting

Project ID: 
Félix Balado
Project Specification
Identification of audio files by means of robust hashing
Knowledge of signal processing (Fourier transform, filtering) and/or probability theory would be desirable
Software Requirements: 
Matlab or C/C++, MySQL (or similar)
Hardware Requirements: 
General Information: 

This project deals with audio fingerprinting (also known as robust audio hashing or perceptual audio hashing). An audio fingerprint [4] is a compact representation of an audio file which is linked to its perceptual content. This representation is parallel to a cryptographic hash in the sense that it almost uniquely represents the file, but it is different from it in the sense that different instances of the same file which are perceptually equivalent must lead to the same hash value. Audio fingerprinting helps to identify audio files that are noisy or that have been compressed using different formats or parameters, which precludes identification using bit-by bit mapping. Therefore it finds application in areas such as tracking in peer-to-peer networks. Audio fingerprinting can also be used efficiently identify full audio files by means of short sample segments.

In the project, the student will implement and test an audio fingerprinting method based on spectral peaks detection. If possible, s/he will compare this implementation against an open source audio fingerprinting method. Exceptionally, s/he will propose a mathematical model that can be used to assess the performance in a theoretical way.

  • Literature review

  • Implementation of an audio fingerprinting algorithm along the guidelines of Shazam audio fingerprinting [1]. This commercial method is not fully described in the literature (i.e. in a precise mathematical way), and therefore the student must make design decisions along the way. The implementation must provide both a function to obtain fingerprints, and a function to look for matches in a fingerprint database.

  • Evaluation of the performance of the algorithm using a music database. The performance measures used in the comparison must be the false positive rate and the miss rate. Identification of full files and short segments will be evaluated. The effect of adding noise, filtering or compressing the query signals will be tested.


The Open Fingerprint Architecture [3] is an open-source library that can be used to generate acoustic fingerprints. A discretionary output of the project would be

  • An empirical comparison of the performances achieved with the Open Fingerprint Architecture and the method implemented by the student, over a common database and presented with the same input files.



A good mathematical model is the best way to ascertain how and why a system works. An exceptional ouput of the project would entail the following:

  • Development of a mathematical/statistical model of the method implemented (for an example see [5]).

  • Computation of performance predictions using this model, assuming randomly generated input signals, and comparison with empirical results.