###### tags: `jptw` `thesis` `algorithm` `fingerprint` # Algorithm - Audio Fingerprinting ### Document > <i class="fa fa-github"></i>&ensp;[worldveil / dejavu](https://github.com/worldveil/dejavu) > <i class="fa fa-book"></i>&ensp;[Audio Fingerprinting with Python and Numpy](https://willdrevo.com/fingerprinting-and-audio-recognition-with-python/) ### Reference > [1] [Improvement of Landmark-based Audio Fingerprinting with Target Zone and Hash Table Tuning](http://u.camdemy.com/media/23162) ## Method ### Peak Finding > Find Peaks in spectrogram Pass through a HP Filter and then find peaks with ["Dilation and Erosion"]((https://sites.google.com/a/ms.ttu.edu.tw/cse2012dance-robot/yan-jiu-cheng-guo/opencv-ruan-ti-she-ji/qin-shi-yu-peng-zhang)). > > Ref: [Peak detection in a 2D array](https://stackoverflow.com/questions/3684484/peak-detection-in-a-2d-array) ![](https://i.imgur.com/impWUJu.jpg) ### Fingerprint Hashing > Record each peak with the temporal difference among its neighborhood, and hash with 'SHA1' algorithm. ::: warning The beauty is that a good hash function will not only return the same output integer each time the input is the same, but also that very few different inputs will have the same output. ::: ![](https://i.imgur.com/DdBvfug.png =280x)