Audio fingerprinting system and method
18 Assignments
0 Petitions
Accused Products
Abstract
An audio fingerprinting system and method. A server receives an audio fingerprint of a first audio piece, searches a database for the audio fingerprint, retrieves an audio profile vector associated with the audio fingerprint, updates user preference information based on the audio profile vector, and selects a second audio piece based on the user preference information. The audio fingerprint is generated by creating a matrix based on the frequency measurements of the audio piece, and performing a singular value decomposition of the matrix. To expedite the search of the database and to increase matching accuracy, a subset of candidates in the database is identified based on the most prominent musical notes of the audio piece, and the search is limited to the identified subset. One of the attributes of the audio profile vector is a particular audio class. An identifier for the audio class is generated based on an average of audio fingerprints of the audio pieces belonging to the audio class.
197 Citations
73 Claims
-
1-11. -11. (Canceled)
-
12. An audio fingerprinting method comprising:
-
receiving an audio signal associated with an audio piece;
obtaining a plurality of frequency measurements of the audio signal;
building a matrix A based on the frequency measurements;
performing a singular value decomposition on the matrix A, wherein A=USVT;
retrieving one or more rows of matrix VT; and
storing the retrieved rows of matrix VT in a data store in association with the audio piece, wherein a request including the retrieved rows of matrix VT is received by an application program and information stored in a database for the audio piece identified and retrieved based on the rows of matrix VT in the request. - View Dependent Claims (13, 15, 56, 57, 58, 59, 60, 61, 62, 63, 64)
-
-
14. (Canceled)
-
16. (Canceled)
-
17. An audio indexing method comprising:
-
receiving an audio signal of an audio piece;
automatically obtaining from the audio signal a list of musical notes included in the audio piece;
determining from the audio signal a prominence of the musical notes in the audio piece;
selecting a pre-determined number of most prominent musical notes in the audio piece;
generating an index based on the selected musical notes; and
searching a database based on the generated index. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A method for generating an identifier for an audio class, the method comprising:
-
selecting a plurality of audio pieces associated with the audio class;
computing an audio fingerprint for each selected audio piece;
calculating an average of the computed audio fingerprints;
associating the calculated average to the audio class; and
storing the calculated average in a data store. - View Dependent Claims (25, 26, 27)
-
-
28-38. -38. (Canceled)
-
39. An audio fingerprinting system comprising:
-
an audio file reader reading an audio file storing an audio piece;
a processor coupled to the audio file reader, the processor being configured to;
obtain a plurality of frequency measurements of audio signals associated with the audio piece;
build a matrix A based on the frequency measurements;
perform a singular value decomposition on the matrix A, wherein A=USVT; and
retrieve one or more rows of matrix VT;
a data store coupled to the processor for storing the retrieved rows of matrix VT in association with the audio piece; and
a database storing information for a plurality of audio pieces, wherein a request including the retrieved rows of matrix VT is received by an application program and information for the audio piece stored in the database identified and retrieved based on the rows of matrix VT in the request. - View Dependent Claims (40, 42, 65, 66, 67, 68, 69, 70, 71, 72, 73)
-
-
41. (Canceled)
-
43. (Canceled)
-
44. An audio indexing system comprising:
-
means for receiving an audio signal of an audio piece;
means for automatically obtaining from the audio signal a list of musical notes included in the audio piece;
means for determining from the audio signal a prominence of the musical notes in the audio piece;
means for selecting a pre-determined number of most prominent musical notes in the audio piece;
means for generating an index based on the selected musical notes; and
means for searching a database based on the generated index. - View Dependent Claims (45, 46, 47, 48)
-
-
49. A system for generating an identifier for an audio class, the system comprising:
-
means for computing an audio fingerprint for each of a plurality of selected audio pieces;
means for calculating an average of the computed audio fingerprints;
means for associating the calculated average to the audio class; and
means for storing the calculated average in a data store. - View Dependent Claims (50, 51, 52)
-
-
53. An article of manufacture comprising a computer readable medium having computer usable program code containing executable instructions that, when executed, cause a computer to perform the steps of:
-
obtaining a plurality of frequency measurements of an audio signal associated with an audio piece;
building a matrix A based on the frequency measurements;
performing a singular value decomposition on the matrix A, wherein A=USVT;
retrieving one or more rows of matrix VT; and
storing the retrieved rows of matrix VT in a data store in association with the audio piece. - View Dependent Claims (54)
-
-
55. An article of manufacture comprising a computer readable medium having computer usable program code containing executable instructions that, when executed, cause a computer to perform the steps of:
-
automatically obtaining from an audio signal of an audio piece, a list of musical notes included in the audio piece;
determining from the audio signal a prominence of the musical notes in the audio piece;
selecting a pre-determined number of most prominent musical notes in the audio piece;
generating an index based on the selected musical notes; and
searching a database based on the generated index.
-
Specification