IP Library Granted Patent US 8,280,889
Granted Patent B2
US 8,280,889 · App. 13/111,819 · Granted Oct 2, 2012

Automatically acquiring acoustic information about music

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,280,889
App. No.
13/111,819
Granted
Oct 2, 2012
Kind
B2
Abstract

Methods, apparatus, and storage media to build a music metadata library from music collections stored on a plurality of client computing devices. A music server may receive, from a first client computing device of the plurality of client computing device, a unique identifier for a track stored in the first client computing device. The music server may determine if the track is a known track corresponding to acoustic metadata that is already contained in the music metadata library. When the track is not a known track, the music server may send a message indicating the track is a new track to the first client computing device. The music server may then receive acoustic metadata for the track from the first client computing device and store the received acoustic metadata in the music metadata library.

Claims (71)

1. A method performed by a music server to build a music metadata library from music collections stored on a plurality of client computing devices, comprising:

receiving, from a first client computing device of the plurality of client computing devices, an acoustic fingerprint that uniquely identifies a track stored in the first client computing device

comparing the received acoustic fingerprint with a plurality of acoustic fingerprints contained in the music metadata library

determining that the track is a known track when the received acoustic fingerprint matches one of the plurality of acoustic fingerprints contained in the music metadata library within a predetermined amount according to a defined similarity measure

when the track is not a known track

sending a message indicating the track is a new track to the first client computing device

receiving acoustic metadata for the track, the acoustic metadata formed by compressing the track while retaining at least some of its musical characteristics, the acoustic metadata sent from the first client computing device in response to the message indicating the track is a new track

storing the received acoustic fingerprint and the received acoustic metadata in the music metadata library.

2. The method of claim 1 , further comprising:

providing a client program to the each of the plurality of client computing devices, the client program comprising instructions that, when executed by a client computing device, cause the client computing device to perform one or more of

calculating acoustic fingerprints for one or more tracks stored in a music collection on the client computing device

extracting acoustic metadata for tracks stored in the music collection on the client computing device.

3. The method of claim 1 , further comprising:

when the track is not a known track

receiving explicit metadata associated with the track from the first client computing device

storing the received explicit metadata in the music metadata library.

4. The method of claim 1 , wherein

the acoustic fingerprint is derived from the track by the first client computing device.

5. The method of claim 1 , further comprising:

when the track is a known track

retrieving acoustic metadata for the track from the music metadata library

sending the retrieved acoustic metadata to the first client computing device.

6. The method of claim 1 , further comprising:

acquiring user-entered explicit metadata via a web server

combining the user-entered explicit metadata with explicit metadata previously stored in the music metadata library

storing the combined explicit metadata in the music metadata library.

7. The method of claim 5 , further comprising:

assigning a weight factor to each of a plurality of users

combining the explicit metadata entered by a specific user with explicit metadata previously stored in the music metadata library as a weighted sum using the weight factor for the specific user.

8. A method performed by a client computing device to contribute to a music metadata library stored on a music server, comprising:

selecting one track of a plurality of tracks stored on the client computing device

calculating an acoustic fingerprint that uniquely identifies the selected track

sending the acoustic fingerprint to the music server

receiving a message from the music server indicating whether the selected track is a new track or a known track, wherein the track is considered to be a new track when the acoustic fingerprint does not match any of a plurality of acoustic fingerprints contained in the music metadata library within a predetermined amount according to a defined similarity measure

in response to the message indicating the selected track is a new track, generating acoustic metadata for the selected track by compressing the track while retaining at least some of its musical characteristics and sending acoustic metadata for the selected track to the music server.

9. The method of claim 8 , further comprising:

when the selected track is a new track, sending explicit metadata for the selected track to the music server.

10. The method of claim 8 , further comprising:

when the selected track is a known track, receiving acoustic metadata from the server and storing the received acoustic metadata.

11. The method of claim 8 , further comprising:

repeating the actions of claim 8 for each of the plurality of tracks.

12. A storage medium storing computer-readable instructions which, when executed, cause a client computing device to perform actions comprising:

selecting one track of a plurality of tracks stored in the client computing device

calculating an acoustic fingerprint that uniquely identifies the selected track

sending the acoustic fingerprint to the music server

receiving a message from the music server indicating whether the selected track is a new track or a known track, wherein the track is considered to be a new track when the acoustic fingerprint does not match any of a plurality of acoustic fingerprints contained in the music metadata library within a predetermined amount according to a defined similarity measure

in response to the message indicating the selected track is a new track, generating acoustic metadata for the selected track by compressing the track while retaining at least some of its musical characteristics and sending the acoustic metadata for the selected track to the music server.

13. The storage medium of claim 12 , the actions performed further comprising:

when the selected track is a new track, sending explicit metadata for the selected track to the music server.

14. The storage medium of claim 12 , the actions performed further comprising:

when the selected track is a known track, receiving acoustic metadata from the music server and storing the received acoustic metadata.

15. The storage medium of claim 12 , the actions performed further comprising:

repeating the actions of claim 12 for each of the plurality of tracks.

16. A method performed by a music server and a plurality of client computing devices connected by a network, comprising:

a first client computing device of the plurality of client computing devices calculating an acoustic fingerprint that uniquely identifies a first track stored in the first client computing device

the first client computing device sending the acoustic fingerprint of the first track to the music server via the network

the music server receiving the acoustic fingerprint for the first track

the music server comparing the received acoustic fingerprint with a plurality of acoustic fingerprints contained in the music metadata library and determining that the track is a known track when the received acoustic fingerprint matches one of the plurality of acoustic fingerprints contained in the music metadata library within a predetermined amount according to a defined similarity measure

when the first track is not a known track

the music server sending a message indicating the first track is a new track to the first client computing device

in response to the message indicating the first track is a new track, the first client computing device generating acoustic metadata for the first track by compressing the first track while retaining at least some of its musical characteristics and sending the acoustic metadata for the first track to the music server

the music server receiving the acoustic metadata for the first track and storing the received unique identifier and the received acoustic metadata in the music metadata library.

17. The method of claim 16 , further comprising:

when the first track is not a known track

the first client computing device send explicit metadata for the first track to the music server

the music server receiving the explicit metadata for the first track and storing the received explicit metadata in the music metadata library.

18. The method of claim 16 , further comprising:

when the first track is a known track

the music server retrieving acoustic metadata for the first track from the music metadata library and sending the retrieved acoustic metadata to the first client computing device.

19. The method of claim 16 , further comprising:

repeating the actions of claim 16 for each of a plurality of tracks stored on the plurality of client computing devices.

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 Sep 22, 2011
From: WHITMAN, BRIAN
To: THE ECHO NEST CORPORATION
Reel/Frame 026950/0516 →
Continuity (3)
Continuation 12100966 · Apr 10, 2008
Provisional Application 60922604 · Apr 10, 2007
Related Publication 20110225150A1 · Sep 15, 2011