IP Library Granted Patent US 11,461,390
Granted Patent B2
US 11,461,390 · App. 17/065,479 · Granted Oct 4, 2022

Automated cover song identification

Inventors: Markus K. Cremer (Orinda, CA); Zafar Rafii (Berkeley, CA); Robert Coover (Orinda, CA); Prem Seetharaman (Chicago, IL)
Assignee: Gracenote, Inc.
G06F16/683G06Q50/184
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,461,390
App. No.
17/065,479
Granted
Oct 4, 2022
Kind
B2
Abstract

Example systems and methods for automated cover song identification are disclosed. An example apparatus includes memory, and one or more processors to execute instructions to identify query audio from a content source based on a search query using rights metadata associated with the query audio, execute a constant Q transform on query time slices of the query audio, binarize the constant Q transformed query time slices, execute a two-dimensional Fourier transform on query time windows within the binarized and constant Q transformed query time slices to generate two-dimensional Fourier transforms of the query time windows, generate a query data structure based on a sequential order of the two-dimensional Fourier transforms, select a subset including reference audio of a reference database based on the rights metadata, and identify the query audio as a cover rendition of the reference audio based on a comparison between the query and reference data structures.

Claims (89)

1. An apparatus comprising:

memory; and

one or more processors to execute instructions to:

identify query audio from a content source based on a search query using rights metadata associated with the query audio;

execute a constant Q transform on query time slices of the query audio;

binarize the constant Q transformed query time slices;

execute a two-dimensional Fourier transform on query time windows within the binarized and constant Q transformed query time slices to generate two-dimensional Fourier transforms of the query time windows;

generate a query data structure based on a sequential order of the two-dimensional Fourier transforms;

select a subset of a reference database based on the rights metadata, the subset including reference audio; and

identify the query audio as a cover rendition of the reference audio based on a comparison between the query data structure and a reference data structure associated with the reference audio.

2. The apparatus of claim 1 , wherein the rights metadata includes at least one of an artist, a publisher, license information, right holder information, royalty information, or a title of the query audio, and the one or more processors are to:

obtain the reference audio via a user interface in communication with a network; and

register the reference audio based on a first storage of the reference audio in the reference database and a second storage of the rights metadata in a rights database.

3. The apparatus of claim 1 , wherein the content source is at least one of (i) a stream of a live broadcast, (ii) a music sharing site, (iii) a video sharing site, or (iv) a social networking feed, a post, update, or a tweet of a social network.

4. The apparatus of claim 1 , wherein the one or more processors are to select the content source based on at least one of information provided by a right holder associated with the query audio, the rights metadata, a popularity of the query content source, or a likelihood of the query content source having potentially unlicensed cover songs.

5. The apparatus of claim 1 , wherein the one or more processors are to:

execute a constant Q transform on reference time slices of the reference audio;

binarize the constant Q transformed reference time slices;

execute a two-dimensional Fourier transform on reference time windows within the binarized and constant Q transformed reference time slices to generate two-dimensional Fourier transforms of the reference time windows; and

generate the reference data structure by sequentially ordering the two-dimensional Fourier transforms of the reference time windows.

6. The apparatus of claim 1 , wherein the one or more processors are to:

generate a similarity matrix that indicates degrees to which reference portions of the reference data structure are similar to query portions of the query data structure;

compute a distance measure between the query data structure and the reference data structure based on the similarity matrix; and

store an association in a database between the reference audio and the query audio based on a computed distance measure, the association identifying the query audio as the cover rendition.

7. The apparatus of claim 6 , wherein the one or more processors are to:

convolve the similarity matrix with a checkerboard kernel to generate a first convolved similarity matrix, the first convolved similarity matrix including positive elements and negative elements; and

replace the negative elements with zeros to generate a second convolved similarity matrix; and wherein:

the computing of the distance measure between the query data structure and the reference data structure is based on the second convolved similarity matrix.

8. The apparatus of claim 1 , wherein the one or more processors are to:

group the binarized and constant Q transformed query time slices of the query audio into the query time windows prior to the executing of the two-dimensional Fourier transform on the query time windows, the query time windows including overlapping query time windows of uniform duration; and

apply a blur algorithm to the two-dimensional Fourier transforms of the query time windows prior to the sequential ordering of the two-dimensional Fourier transforms in the query data structure.

9. A non-transitory machine-readable medium comprising instructions that, when executed, cause one or more processors to at least:

identify query audio from a content source based on a search query using rights metadata associated with the query audio;

execute a constant Q transform on query time slices of the query audio;

binarize the constant Q transformed query time slices;

execute a two-dimensional Fourier transform on query time windows within the binarized and constant Q transformed query time slices to generate two-dimensional Fourier transforms of the query time windows;

generate a query data structure based on a sequential order of the two-dimensional Fourier transforms;

select a subset of a reference database based on the rights metadata, the subset including reference audio; and

identify the query audio as a cover rendition of the reference audio based on a comparison between the query data structure and a reference data structure associated with the reference audio.

10. The non-transitory machine-readable medium of claim 9 , wherein the rights metadata includes at least one of an artist, a publisher, license information, right holder information, royalty information, or a title of the query audio, and the instructions, when executed, cause the one or more processors to:

obtain the reference audio via a user interface in communication with a network; and

register the reference audio based on a first storage of the reference audio in the reference database and a second storage of the rights metadata in a rights database.

11. The non-transitory machine-readable medium of claim 9 , wherein the content source is at least one of (i) a stream of a live broadcast, (ii) a music sharing site, (iii) a video sharing site, or (iv) a social networking feed, a post, update, or a tweet of a social network.

12. The non-transitory machine-readable medium of claim 9 , wherein the instructions, when executed, cause the one or more processors to select the content source based on at least one of information provided by a right holder associated with the query audio, the rights metadata, a popularity of the query content source, or a likelihood of the query content source having potentially unlicensed cover songs.

13. The non-transitory machine-readable medium of claim 9 , wherein the instructions, when executed, cause the one or more processors to:

execute a constant Q transform on reference time slices of the reference audio;

binarize the constant Q transformed reference time slices;

execute a two-dimensional Fourier transform on reference time windows within the binarized and constant Q transformed reference time slices to generate two-dimensional Fourier transforms of the reference time windows; and

generate the reference data structure by sequentially ordering the two-dimensional Fourier transforms of the reference time windows.

14. The non-transitory machine-readable medium of claim 9 , wherein the instructions, when executed, cause the one or more processors to:

generate a similarity matrix that indicates degrees to which reference portions of the reference data structure are similar to query portions of the query data structure;

compute a distance measure between the query data structure and the reference data structure based on the similarity matrix; and

store an association in a database between the reference audio and the query audio based on a computed distance measure, the association identifying the query audio as the cover rendition.

15. The non-transitory machine-readable medium of claim 14 , wherein the instructions, when executed, cause the one or more processors to:

convolve the similarity matrix with a checkerboard kernel to generate a first convolved similarity matrix, the first convolved similarity matrix including positive elements and negative elements; and

replace the negative elements with zeros to generate a second convolved similarity matrix; and wherein:

the computing of the distance measure between the query data structure and the reference data structure is based on the second convolved similarity matrix.

16. The non-transitory machine-readable medium of claim 9 , wherein the instructions, when executed, cause the one or more processors to:

group the binarized and constant Q transformed query time slices of the query audio into the query time windows prior to the executing of the two-dimensional Fourier transform on the query time windows, the query time windows including overlapping query time windows of uniform duration; and

apply a blur algorithm to the two-dimensional Fourier transforms of the query time windows prior to the sequential ordering of the two-dimensional Fourier transforms in the query data structure.

17. A method comprising:

identifying, using one or more processors, query audio from a content source based on a search query using rights metadata associated with the query audio;

executing, using the one or more processors, a constant Q transform on query time slices of the query audio;

binarizing, using the one or more processors, the constant Q transformed query time slices;

executing, using the one or more processors, a two-dimensional Fourier transform on query time windows within the binarized and constant Q transformed query time slices to generate two-dimensional Fourier transforms of the query time windows;

generating, using the one or more processors, a query data structure based on a sequential order of the two-dimensional Fourier transforms;

selecting, using the one or more processors, a subset of a reference database based on the rights metadata, the subset including reference audio; and

identifying, using the one or more processors, the query audio as a cover rendition of the reference audio based on a comparison between the query data structure and a reference data structure associated with the reference audio.

18. The method of claim 17 , wherein the rights metadata includes at least one of an artist, a publisher, license information, right holder information, royalty information, or a title of the query audio, and further including:

obtaining the reference audio via a user interface in communication with a network; and

registering the reference audio based on storing the reference audio in the reference database and storing the rights metadata in a rights database.

19. The method of claim 17 , wherein the content source is at least one of (i) a stream of a live broadcast, (ii) a music sharing site, (iii) a video sharing site, or (iv) a social networking feed, a post, update, or a tweet of a social network.

20. The method of claim 17 , wherein the one or more processors are to select the content source based on at least one of information provided by a right holder associated with the query audio, the rights metadata, a popularity of the query content source, or a likelihood of the query content source having potentially unlicensed cover songs.

21. The method of claim 17 , further including:

executing a constant Q transform on reference time slices of the reference audio;

binarizing the constant Q transformed reference time slices;

executing a two-dimensional Fourier transform on reference time windows within the binarized and constant Q transformed reference time slices to generate two-dimensional Fourier transforms of the reference time windows; and

generating the reference data structure by sequentially ordering the two-dimensional Fourier transforms of the reference time windows.

22. The method of claim 17 , further including:

generating a similarity matrix that indicates degrees to which reference portions of the reference data structure are similar to query portions of the query data structure;

computing a distance measure between the query data structure and the reference data structure based on the similarity matrix; and

storing an association in a database between the reference audio and the query audio based on a computed distance measure, the association identifying the query audio as the cover rendition.

23. The method of claim 22 , further including:

convolving the similarity matrix with a checkerboard kernel to generate a first convolved similarity matrix, the first convolved similarity matrix including positive elements and negative elements; and

replacing the negative elements with zeros to generate a second convolved similarity matrix; and wherein:

the computing of the distance measure between the query data structure and the reference data structure is based on the second convolved similarity matrix.

24. The method of claim 17 , further including:

grouping the binarized and constant Q transformed query time slices of the query audio into the query time windows prior to the executing of the two-dimensional Fourier transform on the query time windows, the query time windows including overlapping query time windows of uniform duration; and

applying a blur algorithm to the two-dimensional Fourier transforms of the query time windows prior to the sequential ordering of the two-dimensional Fourier transforms in the query data structure.

Assignments (4)
SECURITY INTEREST Recorded May 8, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 063574/0632 →
SECURITY INTEREST Recorded Apr 28, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 063561/0381 →
SECURITY AGREEMENT Recorded Jan 31, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063560/0547 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: CREMER, MARKUS K.; RAFII, ZAFAR; COOVER, ROBERT; SEETHARAMAN, PREM
To: GRACENOTE, INC.
Reel/Frame 054385/0955 →