# US 10,481,959 B2 · Method and system for the identification of music or other audio metadata played on an iOS device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,481,959 B2
- Document ID: US10481959B2
- Status: Granted
- Kind: B2
- Application number: 15/323,701
- Filed: 2015-04-02
- Published: 2017-06-08
- Granted: 2019-11-19
- Earliest claimed: 2014-07-03
- Assignees: Spotify AB
- Applicants: Spotify AB
- Inventors: Brian Boyle; Brendan O'Driscoll; Craig Watson; Aidan Sliney
- Web page: https://patentgrep.com/patent/US10481959B2

## CPC

- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 16/634: {Query by example, e.g. query by humming}
- G06F 16/683: using metadata automatically derived from the content
- G06Q 10/40: Business processes related to social networking or social networking services
- G10L 25/51: for comparison or discrimination
- G06F 2218/00: Aspects of pattern recognition specially adapted for signal processing
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

The invention provides a method and apparatus comprising at least one processor; at least one memory including computer program code, at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform identification of music data or other audio metadata played on an iOS device.

## Claims

### Claim 1

An apparatus comprising:
a device having at least one processor and at least one memory including computer program code configured to, with the at least one processor, cause the device to:
perform an identification of music or other audio metadata associated with one or more media content items played on a device, to be provided to a service associated with an application on the device;
wherein for each of the one or more media content items, the device:
determines a last played time when the media content item was last played by a media content player on the device, by reading a library at the device, and a time at which the device was last synced with a server associated with the service and in communication in the device; and
determines whether the last played time associated with the media content item is more recent than the time at which the device was last synced with the server, and if so:
stores a timestamp data indicative of the last played time associated with the media content item, in a local database at the device,
determines a location data associated with the media content item and the last played time associated with the media content item, wherein the location data is indicative of a location where the media content item was last played, and
sends the timestamp data indicative of the last played time associated with the media content item, the associated location data, and a music or other audio metadata identifying the media content item, to the server associated with the service, in response to determining that the last played time associated with the media content item is more recent than the time at which the device was last synced with the server.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the device is configured to determine a user ID associated with playing of the one or more media content items on the device, to be appended to the music or other audio metadata as it is being captured.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the music or other audio metadata is provided to the application running on the device, and the device including the at least one processor and the at least one memory are further configured to identify the music or other audio metadata associated with played media content items while the application is closed or running in the background.

### Claim 4

A computer implemented method to perform identification of music or other audio metadata played on a device, said method comprising:
determining, for each of one or more media content items, by reading a library at the device, a last played time when a media content item was last played by a media content player on the device;
determining a time at which the device was last synced with a server in communication with the device and providing a service associated with an application on the device;
determining whether the last played time associated with the media content item is more recent than the time at which the device was last synced with the server, and if so:
storing a timestamp data indicative of the last played time associated with the media content item, in a local database at the device;
determining a location data associated with the media content item and the last played time associated with the media content item was last played by the media content player on the device, wherein the location data is indicative of a location where the media content item was last played; and
sending, as the data associated with the playing of the particular song on the particular device, the timestamp data indicative of the last played time associated with the media content item, the associated location data, and a music or other audio metadata identifying the media content item, to the server associated with the service, in response to determining that the last played time associated with the media content item is more recent than the time at which the device was last synced with the server.

### Claim 5 (depends on 4)

The computer implemented method of claim 4, further comprising: determining a user ID associated with playing of the one or more media content items on the device, to be appended to the music or other audio metadata as it is being captured.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the device including the at least one processor and the at least one memory are configured to monitor a geographic location or region associated with the device, while the application is closed or running in the background.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the geographic location or region associated with the device is defined by a geofence and the device including the at least one processor and the at least one memory are configured to determine whether a currently playing media content item has changed, upon detecting that the device has moved beyond the geofence.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the device including the at least one processor and the at least one memory are configured to send and receive periodic push notifications communicated between the service and the device, indicative of media content items played on the device by the media content player, while the application is closed or running in the background.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein the at least one processor and the at least one memory are configured to receive a request from the service, for use of multitasking services on the device, to report media content items played on the device by the media content player, while the application is closed or running in the background.

### Claim 10 (depends on 1)

The apparatus of claim 1, wherein both the application running on the device, and the media content player on the device, are adapted to play music or other audio media content; and
wherein the service provided at the server shares the identification of media content items played on the device by the media content player.

### Claim 11 (depends on 4)

The computer implemented method of claim 4, wherein the music or other audio metadata is provided to the application running on the device, and wherein the method further comprises identifying the music or other audio metadata while the application is closed or running in the background.

### Claim 12 (depends on 4)

The computer implemented method of claim 4, wherein the method further comprises monitoring a geographic location or region associated with the device, while the application is closed or running in the background.

### Claim 13 (depends on 12)

The computer implemented method of claim 12, wherein the geographic location or region associated with the device is defined by a geofence, and wherein the method further comprises determining whether a currently playing media content item has changed, upon detecting that the device has moved beyond the geofence.

### Claim 14 (depends on 4)

The computer implemented method of claim 4, wherein the method further comprises sending and receiving periodic push notifications communicated between the service and the device, indicative of media content items played on the device by the media content player, while the application is closed or running in the background.

### Claim 15 (depends on 4)

The computer implemented method of claim 4, further comprising receiving a request from the service, for use of multitasking services on the device, to report media content items played on the device by the media content player, while the application is closed or running in the background.

### Claim 16 (depends on 4)

The computer implemented method of claim 4, wherein both the application running on the device, and the media content player on the device, are adapted to play music or other audio media content; and
wherein the service provided at the server shares the identification of media content items played on the device by the media content player.

### Claim 17

A non-transitory computer readable storage medium including instructions stored thereon which when read and executed by a device including at least one processor and at least one memory, cause the device to perform a method comprising:
determining, for each of one or more media content items, by reading a library at the device, a last played time when a media content item was last played by a media content player on the device;
determining a time at which the device was last synced with a server in communication with the device and providing a service associated with an application on the device;
determining whether the last played time associated with the media content item is more recent than the time at which the device was last synced with the server, and if so:
storing a timestamp data indicative of the last played time associated with the media content item, in a local database at the device;
determining a location data associated with the media content item and the last played time associated with the media content item was last played by the media content player on the device, wherein the location data is indicative of a location where the media content item was last played; and
sending, as the data associated with the playing of the particular song on the particular device, the timestamp data indicative of the last played time associated with the media content item, the associated location data, and a music or other audio metadata identifying the media content item, to the server associated with the service, in response to determining that the last played time associated with the media content item is more recent than the time at which the device was last synced with the server.
