Audio fingerprinting system and method
First Claim
1. A computer-implemented method for audio fingerprinting comprising:
- receiving an audio signal associated with an audio piece;
obtaining a plurality of frequency measurements of the audio signal;
building an N×
M matrix A based on the frequency measurements;
performing a singular value decomposition on the matrix A for generating an audio fingerprint, wherein A=USVT, and wherein U is an N×
M orthogonal matrix, S in an M×
M diagonal matrix, and VT is a transpose of an M×
M orthogonal matrix;
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 as the audio fingerprint for 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.
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.
244 Citations
26 Claims
-
1. A computer-implemented method for audio fingerprinting comprising:
-
receiving an audio signal associated with an audio piece; obtaining a plurality of frequency measurements of the audio signal; building an N×
M matrix A based on the frequency measurements;performing a singular value decomposition on the matrix A for generating an audio fingerprint, wherein A=USVT, and wherein U is an N×
M orthogonal matrix, S in an M×
M diagonal matrix, and VT is a transpose of an M×
M orthogonal matrix;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 as the audio fingerprint for 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 (2, 3, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
4. A computer-implemented system for audio fingerprinting 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 an N×
M matrix A based on the frequency measurements;perform a singular value decomposition on the matrix A for generating an audio fingerprint, wherein A=USVT, and wherein U is an N×
M orthogonal matrix, S in an M×
M diagonal matrix, and VT is a transpose of an M×
M orthogonal matrix; andretrieve one or more rows of matrix VT; a data store coupled to the processor storing the retrieved rows of matrix VT in association with the audio piece as the audio fingerprint for 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 (5, 6, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
7. 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 an N×
M matrix A based on the frequency measurements;performing a singular value decomposition on the matrix A for generating an audio fingerprint, wherein A=USVT, and wherein U is an N×
M orthogonal matrix, S in an M×
M diagonal matrix, and VT is a transpose of an M×
M orthogonal matrix;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 as the audio fingerprint for the audio piece, wherein a request including the retrieved rows of matrix VT is received by an application program and in formation stored in a database for the audio piece identified and retrieved based on the rows of matrix VT in the request. - View Dependent Claims (8)
-
Specification