IP Library Granted Patent US 8,586,847
Granted Patent B2
US 8,586,847 · App. 13/310,190 · Granted Nov 19, 2013

Musical fingerprinting based on onset intervals

Inventors: Daniel Ellis (New York, NY); Brian Whitman (Cambridge, MA)
Assignee: The Echo Nest Corporation
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 8,586,847
App. No.
13/310,190
Granted
Nov 19, 2013
Kind
B2
Abstract

Methods, computing devices, and machine readable storage media for generating a fingerprint of a music sample. The music sample may be filtered into a plurality of frequency bands. Onsets in each of the frequency bands may be independently detected. Inter-onset intervals between pairs of onsets within the same frequency band may be determined. At least one code associated with each onset may be generated, each code comprising a frequency band identifier identifying a frequency band in which the associated onset occurred and one or more inter-onset intervals. Each code may be associated with a timestamp indicating when the associated onset occurred within the music sample. All generated codes and the associated timestamps may be combined to form the fingerprint.

Claims (63)

1. A method for generating a fingerprint of a music sample, comprising:

filtering the music sample into a plurality of frequency bands

independently detecting onsets in each of the frequency bands

determining inter-onset intervals between pairs of onsets within the same frequency band

generating at least one code associated with each onset, each code comprising a frequency band identifier identifying a frequency band in which the associated onset occurred and one or more inter-onset intervals

associating each code with a timestamp indicating when the associated onset occurred within the music sample

combining all generated codes and the associated timestamps to form the fingerprint.

2. The method of claim 1 , further comprising:

whitening the music sample prior to filtering the music sample.

3. The method of claim 1 , wherein detecting onsets comprises, for each frequency band:

comparing a magnitude of the music sample to an adaptive threshold.

4. The method of claim 1 , wherein generating at least one code associated with each onset further comprises:

generating a first code containing an inter-onset interval indicating a time interval from an associated onset to a first subsequent onset

generating a second code containing an inter-onset interval indicating a time interval from the associated onset to a second subsequent onset different from the first subsequent onset.

5. The method of claim 1 , wherein generating at least one code associated with each onset further comprises:

generating a code containing a first inter-onset interval indicating a time interval from an associated onset to a first subsequent onset and a second inter-onset interval indicating a time interval from the associated onset to a second subsequent onset different from the first subsequent onset.

6. The method of claim 1 , wherein generating at least one code associated with each onset further comprises:

generating a code containing a first inter-onset interval indicating a time interval from an associated onset to a first subsequent onset and a second inter-onset interval indicating a time interval from the first subsequent onset to a second subsequent onset different from the first subsequent onset.

7. The method of claim 6 , wherein generating at least one code associated with each onset further comprises:

generating six different codes, wherein the first subsequent onset and the second subsequent onset within the six codes are selected as all possible pairs of onsets from the four onsets immediately following the associated onset.

8. A computing device for generating a fingerprint of a music sample, comprising:

a processor

memory coupled to the processor

a storage device coupled to the processor, the storage device storing instructions that, when executed by the processor, cause the computing device to perform actions including:

filtering the music sample into a plurality of frequency bands

independently detecting onsets in each of the frequency bands

determining inter-onset intervals between pairs of onsets within the same frequency band

generating at least one code associated with each onset, each code comprising a frequency band identifier identifying a frequency band in which the associated onset occurred and one or more inter-onset intervals

associating each code with a timestamp indicating when the associated onset occurred within the music sample

combining all generated codes and the associated timestamps to form the fingerprint.

9. The computing device of claim 8 , the actions performed further comprising:

whitening the music sample prior to filtering the music sample.

10. The computing device of claim 8 , wherein detecting onsets comprises, for each frequency band:

comparing a magnitude of the music sample to an adaptive threshold.

11. The computing device of claim 8 , wherein generating at least one code associated with each onset further comprises:

generating a first code containing an inter-onset interval indicating a time interval from an associated onset to a first subsequent onset

generating a second code containing an inter-onset interval indicating a time interval from the associated onset to a second subsequent onset different from the first subsequent onset.

12. The computing device of claim 8 , wherein generating at least one code associated with each onset further comprises:

generating a code containing a first inter-onset interval indicating a time interval from an associated onset to a first subsequent onset and a second inter-onset interval indicating a time interval from the associated onset to a second subsequent onset different from the first subsequent onset.

13. The computing device of claim 8 , wherein generating at least one code associated with each onset further comprises:

generating a code containing a first inter-onset interval indicating a time interval from an associated onset to a first subsequent onset and a second inter-onset interval indicating a time interval from the first subsequent onset to a second subsequent onset different from the first subsequent onset.

14. The computing device of claim 13 , wherein generating at least one code associated with each onset further comprises:

generating six different codes, wherein the first subsequent onset and the second subsequent onset within the six codes are selected as all possible pairs of onsets from the four onsets immediately following the associated onset.

15. A machine readable storage medium storing instructions that, when executed by a computing device, cause the computing device to perform a process for generating a fingerprint of a music sample, the process comprising:

filtering the music sample into a plurality of frequency bands

independently detecting onsets in each of the frequency bands

determining inter-onset intervals between pairs of onsets within the same frequency band

generating at least one code associated with each onset, each code comprising a frequency band identifier identifying a frequency band in which the associated onset occurred and one or more inter-onset intervals

associating each code with a timestamp indicating when the associated onset occurred within the music sample

combining all generated codes and the associated timestamps to form the fingerprint.

16. The machine readable storage medium of claim 15 , the process further comprising:

whitening the music sample prior to filtering the music sample.

17. The machine readable storage medium of claim 15 , wherein detecting onsets comprises, for each frequency band:

comparing a magnitude of the music sample to an adaptive threshold.

18. The machine readable storage medium of claim 15 , wherein generating at least one code associated with each onset further comprises:

generating a first code containing an inter-onset interval indicating a time interval from an associated onset to a first subsequent onset

generating a second code containing an inter-onset interval indicating a time interval from the associated onset to a second subsequent onset different from the first subsequent onset.

19. The machine readable storage medium of claim 15 , wherein generating at least one code associated with each onset further comprises:

generating a code containing a first inter-onset interval indicating a time interval from an associated onset to a first subsequent onset and a second inter-onset interval indicating a time interval from the associated onset to a second subsequent onset different from the first subsequent onset.

20. The machine readable storage medium of claim 15 , wherein generating at least one code associated with each onset further comprises:

generating a code containing a first inter-onset interval indicating a time interval from an associated onset to a first subsequent onset and a second inter-onset interval indicating a time interval from the first subsequent onset to a second subsequent onset different from the first subsequent onset.

21. The machine readable storage medium of claim 20 , wherein generating at least one code associated with each onset further comprises:

generating six different codes, wherein the first subsequent onset and the second subsequent onset within the six codes are selected as all possible pairs of onsets from the four onsets immediately following the associated onset.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2016
From: THE ECHO NEST CORPORATION
To: SPOTIFY AB
Reel/Frame 038917/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2011
From: ELLIS, DANIEL; WHITMAN, BRIAN
To: THE ECHO NEST CORPORATION
Reel/Frame 027348/0428 →
Continuity (1)
Related Publication 20130139673A1 · Jun 6, 2013