Audio Fingerprinting with Python and Numpy

Artikeln introducerar konceptet ljudfingeravtryckning, som används av tjänster som Shazam, och beskriver författarens eget open-source-projekt, Dejavu, implementerat i Python. Dejavu-projektet, som finns på GitHub, uppvisar 100% igenkänning vid testning av okända .wav-filer eller inspelningar på minst 5 sekunder. Grundläggande principer för ljudigenkänning förklaras, inklusive musik som en digital signal, samplingsfrekvens (baserat på Nyquist-Shannon samplingsteorem) och hur spektrogram skapas med Fast Fourier Transform (FFT). Kärnan i fingeravtryckningsprocessen involverar att hitta "toppar" i ett spektrogram, vilka är lokala maximala amplitudvärden som är robusta mot brus. Dessa toppar kombineras och hashas för att skapa unika fingeravtryck för varje låt, vilket möjliggör effektiv och kollisionsresistent igenkänning.