IP Library Granted Patent US 10,771,521
Granted Patent B2
US 10,771,521 · App. 14/979,225 · Granted Sep 8, 2020

Methods and systems for overlaying and playback of audio data received from distinct sources

Inventor: Pontus Persson (Stockholm, SE)
Assignee: Spotify AB
H04L65/4084G10H1/366G10L21/013G10L21/055G11B27/10G11B27/11H04N21/439H04N21/4622H04N21/8113H04N21/8547H04W4/80G10H2240/211
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 10,771,521
App. No.
14/979,225
Granted
Sep 8, 2020
Kind
B2
Abstract

Methods, systems, and/or devices for overlaying and playing back audio data for user vocals and media content received from distinct devices and systems at a media presentation system are described herein. In one aspect, a media presentation system receives, from a remote server, a first data stream for a first media item, and plays the first media item. While playing the first media item, a second data stream for audio data that includes vocals is received from an application at a client device distinct from the remote server. The vocals are overlaid with the first media item to generate a composite data stream, which includes combining the first and second data streams, and the media presentation system plays the overlaid vocals.

Claims (48)

1. A method, comprising:

at a media presentation system having a network connection, one or more processors, and memory storing instructions for execution by the one or more processors, wherein the media presentation system is distinct from a remote server and distinct from a client device:

receiving, over a first communications channel, from the remote server via the network connection, a first data stream for a first media item;

playing the first media item; and

while playing the first media item:

receiving, over a second communications channel distinct from the first communications channel, from an application at the client device distinct from the remote server and distinct from the media presentation system, a second data stream for audio data that includes vocals provided by a user as the first media item plays;

measuring a latency of the second communications channel;

overlaying, with the first media item, the vocals provided by the user as the first media item plays to generate a composite data stream, the overlaying comprising:

offsetting the first data stream from the second data stream in accordance with the measured latency of the second communications channel; and

combining the first and second data streams in accordance with the offset of the data streams; and

playing the composite data stream, including the overlaid vocals provided by the user and the first media item.

2. The method of claim 1 , wherein the first media item includes a song, and the first data stream for the first media item includes audio data for the song.

3. The method of claim 2 , wherein the first data stream further comprises textual data for lyrics of the song.

4. The method of claim 1 , wherein the application is associated with the remote server.

5. The method of claim 1 , wherein the first data stream is received in accordance with a media item request by the application at the client device.

6. The method of claim 1 , wherein the client device is a mobile phone that includes a microphone.

7. The method of claim 1 , wherein receiving the second data stream; overlaying, with the first media item, the vocals; and playing the overlaid vocals overlap with receiving the first data stream.

8. The method of claim 7 , wherein the first data stream corresponds to a portion of data for the first media item.

9. The method of claim 1 , wherein playing the first media item is performed after receiving the entire first media item.

10. The method of claim 1 , wherein the second communications channel is based on a close-range wireless communications protocol.

11. The method of claim 1 , wherein the second communications channel is a wired connection.

12. The method of claim 1 , wherein overlaying, with the first media item, the vocals comprises:

auto-tuning the vocals using data received from the remote server indicating pitch for the first media item; and

overlaying, with the first media item, the auto-tuned vocals to generate the composite data stream.

13. The method of claim 1 , wherein the client device is a first client device and the composite data stream further includes vocals provided by a second user at a second client device distinct from the first client device.

14. The method of claim 1 , wherein the latency of the second communications channel is a latency measured between the client device and the media presentation system.

15. A media presentation system distinct from a remote server and distinct from a client device, comprising:

one or more processors; and

memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:

receiving, over a first communications channel, from the remote server via the network connection, a first data stream for a first media item;

playing the first media item; and

while playing the first media item:

receiving, over a second communications channel distinct from the first communications channel, from an application at the client device distinct from the remote server and distinct from the media presentation system, a second data stream for audio data that includes vocals provided by a user as the first media item plays;

measuring a latency of the second communications channel;

overlaying, with the first media item, the vocals provided by the user as the first media item plays to generate a composite data stream, the overlaying comprising:

offsetting the first data stream from the second data stream in accordance with the measured latency of the second communications channel; and

combining the first and second data streams in accordance with the offset of the data streams; and

playing the composite data stream, including the overlaid vocals provided by the user and the first media item.

16. A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors of a media presentation system having a network connection, wherein the media presentation system is distinct from a remote server and distinct from a client device, the one or more programs including instructions for:

receiving, over a first communications channel, from the remote server via the network connection, a first data stream for a first media item;

playing the first media item; and

while playing the first media item:

receiving, over a second communications channel distinct from the first communications channel, from an application at the client device distinct from the remote server and distinct from the media presentation system, a second data stream for audio data that includes vocals provided by a user as the first media item plays;

measuring a latency of the second communications channel;

overlaying, with the first media item, the vocals provided by the user as the first media item plays to generate a composite data stream, the overlaying comprising:

offsetting the first data stream from the second data stream in accordance with the measured latency of the second communications channel; and

combining the first and second data streams in accordance with the offset of the data streams; and

playing the composite data stream, including the overlaid vocals provided by the user and the first media item.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2016
From: PERSSON, PONTUS
To: SPOTIFY AB
Reel/Frame 037482/0768 →
Continuity (1)
Related Publication 20170180438A1 · Jun 22, 2017