IP Library Granted Patent US 7,812,241
Granted Patent B2
US 7,812,241 · App. 11/863,014 · Granted Oct 12, 2010

Methods and systems for identifying similar songs

Assignee: The Trustees of Columbia University in the City of New York
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 7,812,241
App. No.
11/863,014
Granted
Oct 12, 2010
Kind
B2
Abstract

Methods and systems for identifying similar songs are provided. In accordance with some embodiments, methods for identifying similar songs are provided, the methods comprising: identifying beats in at least a portion of a song; generating beat-level descriptors of the at least a portion of the song corresponding to the beats; comparing the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs. In accordance with some embodiments, systems for identifying similar songs are provided, the systems comprising: a digital processing device that: identifies beats in at least a portion of a song; generates beat-level descriptors of the at least a portion of the song corresponding to the beats; and compares the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs.

Claims (92)

1. A method for comparing songs, comprising:

receiving at least a portion of a song using a microphone in a mobile telephone; and

using a microprocessor in the mobile telephone:

identifying beat times for beats in the at least a portion of the song;

generating beat-level descriptors of the at least a portion of the song corresponding to the beats;

comparing the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

identifying one of the plurality of songs on a display of the mobile telephone based on the comparing,

wherein identifying the beat times for the beats comprises forming an onset strength envelope for the at least a portion of the song, determining a primary tempo period estimate, identifying a beat in the beats, and back tracking from the beat to earlier-occurring beats.

2. A method for comparing songs, comprising:

receiving at least a portion of a song using a microphone in a mobile telephone; and

using a microprocessor in the mobile telephone:

identifying beat times for beats in the at least a portion of the song;

generating beat-level descriptors of the at least a portion of the song corresponding to the beats;

comparing the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

identifying one of the plurality of songs on a display of the mobile telephone based on the comparing,

wherein generating beat-level descriptors comprises generating chroma bins for each beat of the portion of the song.

3. The method of claim 2 , wherein the chroma bins are generated using a Fourier transform.

4. The method of claim 2 , wherein the chroma bins span one octave, and further comprising mapping a plurality of octaves in the portion of the song to the same chroma bins.

5. A method for comparing songs, comprising:

receiving at least a portion of a song using a microphone in a mobile telephone; and

using a microprocessor in the mobile telephone:

identifying beat times for beats in the at least a portion of the song;

generating beat-level descriptors of the at least a portion of the song corresponding to the beats;

comparing the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

identifying one of the plurality of songs on a display of the mobile telephone based on the comparing,

wherein comparing the beat-level descriptors to other beat-level descriptors comprises performing a cross-correlation on the beat-level descriptors.

6. The method of claim 5 , wherein the cross-correlation comprises performing a Fourier transform on the beat-level descriptors.

7. A method for comparing songs, comprising:

receiving at least a portion of a song using a microphone in a mobile telephone; and

using a microprocessor in the mobile telephone:

identifying beat times for beats in the at least a portion of the song;

generating beat-level descriptors of the at least a portion of the song corresponding to the beats;

comparing the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

identifying one of the plurality of songs on a display of the mobile telephone based on the comparing,

wherein comparing the beat-level descriptors to other beat-level descriptors comprises identifying boundaries in the beat-level descriptors and performing a nearest neighbor search.

8. The method of claim 7 , wherein the nearest neighbor search is a Locality-Sensitive Hash.

9. A method for comparing songs, comprising:

receiving at least a portion of a song using a microphone in a mobile telephone;

using a microprocessor in the mobile telephone:

identifying beat times for beats in the at least a portion of the song;

generating beat-level descriptors of the at least a portion of the song corresponding to the beats;

comparing the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

identifying one of the plurality of songs on a display of the mobile telephone based on the comparing; and

identifying at least one of the song and the plurality of songs as a cover song of another of the at least one of the song and the plurality of songs.

10. A device for comparing songs, comprising:

a mobile telephone including:

a microphone that receives at least a portion of a song;

a microprocessor that:

identifies beat times for beats in the at least a portion of the song;

generates beat-level descriptors of the at least a portion of the song corresponding to the beats; and

compares the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

a display that identifies one of the plurality of songs based on the comparing,

wherein the microprocessor, in identifying the beat times for the beats, also forms an onset strength envelope for the at least a portion of the song, determines a primary tempo period estimate, identifies a beat in the beats, and back tracks from the beat to earlier-occurring beats.

11. A device for comparing songs, comprising:

a mobile telephone including:

a microphone that receives at least a portion of a song;

a microprocessor that:

identifies beat times for beats in the at least a portion of the song;

generates beat-level descriptors of the at least a portion of the song corresponding to the beats; and

compares the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

a display that identifies one of the plurality of songs based on the comparing,

wherein the microprocessor, in generating beat-level descriptors, also generates chroma bins for each beat of the portion of the song.

12. The device of claim 11 , wherein the chroma bins are generated using a Fourier transform.

13. The device of claim 11 , wherein the chroma bins span one octave, and the microprocessor also maps a plurality of octaves in the portion of the song to the same chroma bins.

14. A device for comparing songs, comprising:

a mobile telephone including:

a microphone that receives at least a portion of a song;

a microprocessor that:

identifies beat times for beats in the at least a portion of the song;

generates beat-level descriptors of the at least a portion of the song corresponding to the beats; and

compares the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

a display that identifies one of the plurality of songs based on the comparing,

wherein the microprocessor, in comparing the beat-level descriptors to other beat-level descriptors, also performs a cross-correlation on the beat-level descriptors.

15. The device of claim 14 , wherein the microprocessor, in performing the cross-correlation, also performs a Fourier transform on the beat-level descriptors.

16. A device for comparing songs, comprising:

a mobile telephone including:

a microphone that receives at least a portion of a song;

a microprocessor that:

identifies beat times for beats in the at least a portion of the song;

generates beat-level descriptors of the at least a portion of the song corresponding to the beats; and

compares the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

a display that identifies one of the plurality of songs based on the comparing,

wherein the microprocessor, in comparing the beat-level descriptors to other beat-level descriptors, also identifies boundaries in the beat-level descriptors and performs a nearest neighbor search.

17. A device for comparing songs, comprising:

a mobile telephone including:

a microphone that receives at least a portion of a song;

a microprocessor that:

identifies beat times for beats in the at least a portion of the song;

generates beat-level descriptors of the at least a portion of the song corresponding to the beats; and

compares the beat-level descriptors to other beat-level descriptors corresponding to a plurality of songs; and

a display that identifies one of the plurality of songs based on the comparing,

wherein the display also identifies at least one of the song and the plurality of songs as a cover song of another of the at least one of the song and the plurality of songs.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jul 29, 2009
From: COLUMBIA UNIVERSITY NEW YORK MORNINGSIDE
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 023021/0708 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2007
From: ELLIS, DANIEL P.W.
To: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
Reel/Frame 020265/0362 →
Continuity (2)
Provisional Application 6084752900 · Sep 27, 2006
Related Publication 20080072741A1 · Mar 27, 2008