Audio identification using wavelet-based signatures
View Patent ↗A method is described that includes producing an audio spectrogram from a target sample, generating a number of fingerprints based on the audio spectrogram, comparing the series of fingerprints to samples in a data repository using wavelet coefficients, and identifying the target sample based on the matches found in the data repository.
1. A method comprising:
generating, by a device including a processor, a spectrogram of a first audio sample, wherein the spectrogram is generated using a first time separation window that is constrained to a predefined range of values from a second time separation window value employed in other spectrograms of other audio samples;
computing, by the device, wavelet coefficients for the spectrogram of the first audio sample;
comparing, by the device using a first searching algorithm, the computed wavelet coefficients for the spectrogram of the first audio sample to stored wavelet coefficients for the other spectrograms of other audio samples to identify a subset of the other spectrograms, respectively having a plurality of wavelet coefficients that match a plurality of the wavelet coefficients of the spectrogram of the first audio sample, in which to employ a second searching algorithm; and
identifying, by the device using the second searching algorithm, from the subset of the spectrograms, a second audio sample that corresponds to one of the subset of the other spectrograms that matches the spectrogram.
2. The method of claim 1 , further comprising randomly selecting the first time separation window.
3. The method of claim 1 , further comprising randomly selecting the first time separation window based upon one or more characteristics of the first audio sample.
4. The method of claim 1 , wherein the generating the spectrogram further comprises highpass filtering the first audio sample.
5. The method of claim 1 , wherein the wavelet coefficients are compressed wavelet coefficients.
6. A non-transitory computer readable storage medium having instructions stored thereon that, in response to execution, cause at least one device including a processor to perform operation comprising:
generating a spectrogram of a first audio sample, wherein the spectrogram is generated using a first time separation window that is constrained to a predefined range of values from a second time separation window value employed in other spectrograms of other audio samples;
computing wavelet coefficients for the spectrogram of the first audio sample;
comparing, using a first searching algorithm, the computed wavelet coefficients for the spectrogram of the first audio sample to stored wavelet coefficients for the other spectrograms of other audio samples to identify a subset of the other spectrograms, respectively having a plurality of wavelet coefficients that match a plurality of the wavelet coefficients of the spectrogram of the first audio sample, in which to employ a second searching algorithm; and
identifying, using the second searching algorithm, from the subset of the spectrograms, a second audio sample that corresponds to one of the subset of the other spectrograms that matches the spectrogram.
7. The non-transitory computer readable storage medium of claim 6 , the operations further comprising randomly selecting the first time separation window.
8. The non-transitory computer readable storage medium of claim 6 , the operations further comprising randomly selecting the first time separation window based upon one or more characteristics of the first audio sample.
9. The non-transitory computer readable storage medium of claim 6 , wherein the generating the spectrogram further comprises highpass filtering the first audio sample.
10. The non-transitory computer readable storage medium of claim 6 , wherein the wavelet coefficients are compressed wavelet coefficients.
11. A system comprising:
at least one memory having stored therein computer-executable instructions;
at least one processor communicatively coupled to the at least one memory, the at least processor configured to execute the computer-executable instructions to perform operations comprising:
generating a spectrogram of a first audio sample, wherein the spectrogram is generated using a first time separation window that is constrained to a predefined range of values from a second time separation window value employed in other spectrograms of other audio samples;
computing wavelet coefficients for the spectrogram of the first audio sample;
comparing, using a first searching algorithm, the computed wavelet coefficients for the spectrogram of the first audio sample to stored wavelet coefficients for the other spectrograms of other audio samples to identify a subset of the other spectrograms, respectively having a plurality of wavelet coefficients that match a plurality of the wavelet coefficients of the spectrogram of the first audio sample, in which to employ a second searching algorithm; and
identifying, using the second searching algorithm, from the subset of the spectrograms, a second audio sample that corresponds to one of the subset of the other spectrograms that matches the spectrogram.
12. The system of claim 11 , the operations further comprising randomly selecting the first time separation window.
13. The system of claim 11 , the operations further comprising randomly selecting the first time separation window based upon one or more characteristics of the first audio sample.
14. The system of claim 11 , wherein the generating the spectrogram further comprises highpass filtering the first audio sample.
15. The system of claim 11 , wherein the wavelet coefficients are compressed wavelet coefficients.
16. A system comprising:
means for generating a spectrogram of a first audio sample, wherein the spectrogram is generated using a first time separation window that is constrained to a predefined range of values from a second time separation window value employed in other spectrograms of other audio samples;
means for computing wavelet coefficients for the spectrogram of the first audio sample;
means for comparing, using a first searching algorithm, the computed wavelet coefficients for the spectrogram of the first audio sample to stored wavelet coefficients for the other spectrograms of other audio samples to identify a subset of the other spectrograms, respectively having a plurality of wavelet coefficients that match a plurality of the wavelet coefficients of the spectrogram of the first audio sample, in which to employ a second searching algorithm; and
means for identifying, using the second searching algorithm, from the subset of the spectrograms, a second audio sample that corresponds to one of the subset of the other spectrograms that matches the spectrogram.
17. The system of claim 16 , further comprising means for randomly selecting the first time separation window.
18. The system of claim 16 , further comprising means for randomly selecting the first time separation window based upon one or more characteristics of the first audio sample.
19. The system of claim 16 , wherein the generating the spectrogram further comprises highpass filtering the first audio sample.
20. The system of claim 16 , wherein the wavelet coefficients are compressed wavelet coefficients.