1. A computer-implemented method comprising: obtaining a sample of an audio signal; determining a plurality of frames within the sample, each frame representing a time-interval of the sample and overlapping with one or more adjacent frames of the plurality of frames; determining a frequency spectrum for each frame of the plurality of frames by applying a time domain to frequency domain transformation to each frame of the plurality of frames; generating a time-sequence of frequency spectrums from the frequency spectrums for each frame, the time-sequence of frequency spectrums comprising a two-dimensional array of the frequency spectrums over time; determining a plurality of frequency components by applying a time-variant transformation to the time-sequence of frequency spectrums, the plurality of frequency components comprising unstable frequency components and stable frequency components, the stable frequency components being less sensitive to noise or distortions than the unstable frequency components; generating an audio fingerprint, the audio fingerprint comprising the plurality of frequency components; generating a first index associated with the audio fingerprint, the first index comprising the stable frequency components of the plurality of frequency components, and the first index comprising fewer frequency components than the audio fingerprint; maintaining a plurality of reference audio fingerprints, each reference audio fingerprint associated with an index and identifying information; in response to determining that the first index does not match any index of a reference audio fingerprint of the plurality of reference audio fingerprints: generating a second index associated with the audio fingerprint using at least one of the unstable frequency components; selecting a reference audio fingerprint of the plurality of reference audio fingerprints based on (i) the corresponding index associated with the selected reference audio fingerprint and (ii) the second index associated with the audio fingerprint; determining a similarity score between the selected reference audio fingerprint and the audio fingerprint; and in response to determining that the similarity score is greater than a threshold value, communicating the corresponding identifying information associated with the selected reference audio fingerprint to a client device for presentation.