Automatic identification of sound recordings
First Claim
Patent Images
1. A method of identifying digital recordings, comprising:
- extracting at least one candidate fingerprint from at least one portion of an unidentified recording, each candidate fingerprint including a predetermined number of candidate values for corresponding frequency ranges and each reference fingerprint including the predetermined number of reference values for the corresponding frequency ranges; and
searching for a match between at least one candidate value derived from the at least one candidate fingerprint and at least one reference value in at least one reference fingerprint among a plurality of reference fingerprints, by determining whether each candidate fingerprint matches one of the reference fingerprints based on selectively weighted differences between corresponding candidate and reference values for different frequency ranges.
13 Assignments
0 Petitions
Accused Products
Abstract
Copies of original sound recordings are identified by extracting features from the copy, creating a vector of those features, and comparing that vector against a database of vectors. Identification can be performed for copies of sound recordings that have been subjected to compression and other manipulation such that they are not exact replicas of the original. Computational efficiency permits many hundreds of queries to be serviced at the same time. The vectors may be less than 100 bytes, so that many millions of vectors can be stored on a portable device.
252 Citations
63 Claims
-
1. A method of identifying digital recordings, comprising:
-
extracting at least one candidate fingerprint from at least one portion of an unidentified recording, each candidate fingerprint including a predetermined number of candidate values for corresponding frequency ranges and each reference fingerprint including the predetermined number of reference values for the corresponding frequency ranges; and searching for a match between at least one candidate value derived from the at least one candidate fingerprint and at least one reference value in at least one reference fingerprint among a plurality of reference fingerprints, by determining whether each candidate fingerprint matches one of the reference fingerprints based on selectively weighted differences between corresponding candidate and reference values for different frequency ranges. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method of identifying digital recordings, comprising:
-
extracting first and second candidate fingerprints from the least one portion of an unidentified recording, the first candidate fingerprint having low discernability of frequency variation from the original and the second candidate fingerprint having low discernability of amplitude variation from the originals; storing, for reference recordings, first reference fingerprints having low discernability of frequency variation and second reference fingerprints with low discernability of amplitude variation; and comparing the first candidate fingerprint with the first reference fingerprints and the second candidate fingerprint with the second reference fingerprints to find a match for the unidentified recording among the reference recordings. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A method of identifying digital recordings, comprising:
-
extracting weighted frequency spectra using overlapping frames with time weighting to smoothly transition between frames of an unidentified recording; and searching for a match between at least one candidate value derived from the weighted frequency spectra and at least one reference value in at least one reference fingerprint among a plurality of reference fingerprints, by transforming the weighted frequency spectra to transformed frequency spectra using a perceptual power scale attenuating high values relative to low values; computing the at least one candidate value from the transformed frequency spectra; and identifying the at least one reference value in the reference fingerprints that matches the at least one candidate value.
-
-
28. A method of identifying digital recordings, comprising:
-
partitioning at least one portion of an unidentified recording into time-frequency regions, each time-frequency region covering at least three ranges of time frames and at least three ranges of frequencies; weighting the time-frequency regions to produce weighted time-frequency regions with emphasis on at least one middle-time and middle-frequency region; computing at least one candidate value of at least one candidate fingerprint using the weighted time-frequency regions; and searching for a match between the at least one candidate value and at least one reference value in at least one reference fingerprint among a plurality of reference fingerprints.
-
-
29. A method of identifying digital recordings, comprising;
-
generating reference fingerprints for reference recordings by extracting a principal fingerprint from a specified portion of each reference recording; extracting auxiliary fingerprints from the reference recording at a regular time interval; computing reference distance measures from the principal fingerprint to the auxiliary fingerprints, respectively; generating a reference song profile based on the reference distance measures; and storing the principal fingerprint combined with the reference song profile as the reference fingerprint for the reference recording; extracting an initial candidate fingerprint and subsequent candidate fingerprints, following the initial candidate fingerprint at the regular time interval, for an unknown digital recording; and searching for a potentially matching reference recording for the unknown digital recording, by comparing the initial candidate fingerprint with the principal fingerprint for at least one of the reference recordings, and when the potentially matching reference recording is found, computing candidate distance measures from the initial candidate fingerprint to the subsequent candidate fingerprints, respectively; generating a candidate song profile based on the candidate distance measures; and identifying the unknown digital recording as the potentially matching reference recording only if the candidate song profile has a predetermined correlation to the reference song profile for the potentially matching reference recording. - View Dependent Claims (30)
-
-
31. A method of generating reference fingerprints of reference recordings for identifying unknown digital recordings, comprising:
-
extracting a principal fingerprint from a specified portion of each reference recording and auxiliary fingerprints from the reference recording at regular frame intervals, each of the principal and auxiliary;
fingerprints including a predetermined number of candidate values for corresponding frequency ranges;computing distance measures from the principal fingerprint to the auxiliary fingerprints, respectively;
using selectively weighted difference between corresponding candidate and reference valuesgenerating a song profile based on the distance measures; and storing the principal fingerprint combined with the song profile as a reference fingerprint for the reference recording used to identify the unknown digital recordings.
-
-
32. At least one computer readable medium encoding instructions that when executed cause at least one processor to perform a method of identifying digital recordings, comprising:
-
extracting at least one candidate fingerprint from at least one portion of an unidentified recording, each candidate fingerprint including a predetermined number of candidate values for corresponding frequency ranges and each reference fingerprint including the predetermined number of reference values for the corresponding frequency ranges; and searching for a match between at least one candidate value derived from the at least one candidate fingerprint and at least one reference value in at least one reference fingerprint among a plurality of reference fingerprints, by determining whether each candidate fingerprint matches one of the reference fingerprints based on selectively weighted differences between corresponding candidate and reference values for different frequency ranges. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. At least one computer readable medium encoding instructions that when executed cause at least one processor to perform a method of identifying digital recordings, comprising:
-
extracting first and second candidate fingerprints from at least one portion of an unidentified recording, the first candidate fingerprint having low discernability of frequency variation from the original and the second candidate fingerprint having low discernability of amplitude variation from the originals; storing, for reference recordings, first reference fingerprints having low discernability of frequency variation and second reference fingerprints with low discernability of amplitude variation; and comparing the first candidate fingerprint with the first reference fingerprints and the second candidate fingerprint with the second reference fingerprints to find a match for the unidentified recording among the reference recordings. - View Dependent Claims (56, 57)
-
-
58. At least one computer readable medium encoding instructions that when executed cause at least one processor to perform a method of identifying digital recordings, comprising:
-
extracting weighted frequency spectra using overlapping frames with time weighting to smoothly transition between frames of an unidentified recording; and searching for a match between at least one candidate value derived from the weighted frequency spectra and at least one reference value in at least one reference fingerprint among a plurality of reference fingerprints, by transforming the weighted frequency spectra to transformed frequency spectra using a perceptual power scale attenuating high values relative to low values; computing the at least one candidate value from the transformed frequency spectra; and identifying the at least one reference value in the reference fingerprints that matches the at least one candidate value.
-
-
59. At least one computer readable medium encoding instructions that when executed cause at least one processor to a method of identifying digital recordings, comprising:
-
partitioning at least one portion of an unidentified recording into time-frequency regions, each time-frequency region covering at least three ranges of time frames and at least three ranges of frequencies; weighting time-frequency regions to produce weighted time-frequency regions with emphasis on at least one middle-time and middle-frequency region; computing the at least one candidate value using the weighted time-frequency regions; and identifying the at least one reference value in the reference fingerprints that matches the at least one candidate value.
-
-
60. At least one computer readable medium encoding instructions that when executed cause at least one processor to perform a method of identifying digital recordings, comprising:
-
generating reference fingerprints for reference recordings by extracting a principal fingerprint from a specified portion of each reference recording; extracting auxiliary fingerprints from the reference recording at a regular time interval; computing reference distance measures from the principal fingerprint to the auxiliary fingerprints, respectively; generating a reference song profile based on the reference distance measures; and storing the principal fingerprint combined with the reference song profile as the reference fingerprint for the reference recording; extracting an initial candidate fingerprint and subsequent candidate fingerprints following the initial candidate fingerprint at the regular time interval, for an unknown digital recording; and searching for a potentially matching reference recording for the unknown digital recording, by comparing the initial candidate fingerprint with the principal fingerprint for at least one of the reference recordings, and when the potentially matching reference recording is found, computing candidate distance measures from the initial candidate fingerprint to the subsequent candidate fingerprints, respectively; generating a candidate song profile based on the candidate distance measures; and identifying the unknown digital recording as the potentially matching reference recording only if the candidate song profile has a predetermined correlation to the reference song profile for the potentially matching reference recording. - View Dependent Claims (61)
-
-
62. At least one computer readable medium storing at least one program embodying a method of generating reference fingerprints of reference recordings for identifying unknown digital recordings, said method comprising:
-
extracting a principal fingerprint from a specified portion of each reference recordings and auxiliary fingerprints from the reference recording at regular frame intervals, each of the principal and auxiliary fingerprints including a predetermined number of candidate values for corresponding frequency ranges; computing distance measures from the principal fingerprint to the auxiliary fingerprints, respectively;
using selectively weighted difference between corresponding candidate and reference valuesgenerating a song profile based on the distance measures; and storing the principal fingerprint combined with the song profile as the reference fingerprint for the reference recording used in identifying the unknown digital recordings.
-
-
63. A system for identifying digital recordings, comprising:
-
a storage unit storing reference fingerprints;
using selectively weighted differences between corresponding candidate and reference values anda processor, coupled to said storage unit, extracting at least one candidate fingerprint from at least one portion of an unidentified digital recording, each candidate fingerprint including a predetermined number of candidate values for corresponding frequency ranges, and searching for a match between at least one candidate value derived from the at least one candidate fingerprint and at least one reference value in at least one reference fingerprint among the reference fingerprints.
-
Specification