IP Library Granted Patent US 11,743,849
Granted Patent B2
US 11,743,849 · App. 17/188,930 · Granted Aug 29, 2023

Systems and methods for syncronizing multiple electronic devices

Inventors: Michael Daley (Santa Clara, CA); Travis Bolinger (Lafayette, CO); Heath O'Neal (Broomfield, CO)
Assignee: GOOGLE TECHNOLOGY HOLDINGS LLC
H04W56/0015H04H20/08H04H20/18H04H20/38H04H20/61H04H60/88H04N21/242H04N21/43H04W56/0065H04H20/57H04H20/63H04H60/80
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 11,743,849
App. No.
17/188,930
Granted
Aug 29, 2023
Kind
B2
Abstract

Embodiments are provided for syncing multiple electronic devices for collective audio playback. According to certain aspects, a master device connects ( 218 ) to a slave device via a wireless connection. The master device calculates ( 224 ) a network latency via a series of network latency pings with the slave device and sends ( 225 ) the network latency to the slave device. Further, the master devices sends ( 232 ) a portion of an audio file as well as a timing instruction including a system time to the slave device. The master device initiates ( 234 ) playback of the portion of the audio file and the slave devices initiates ( 236 ) playback of the portion of the audio file according to the timing instruction and a calculated system clock offset value.

Claims (62)

1. A method comprising:

displaying, in a user interface, (i) an adjustor for enabling a user to adjust a delay for audio playback from an audio playback device, and (ii) an audio delay value for the audio playback device, the audio delay value corresponding to the delay for the audio playback and reflecting a position of the adjustor;

receiving, by a processor, an adjustment made via the user interface to the position of the adjustor to either add to or subtract from the delay for the audio playback;

in response to receiving the adjustment to the position of the adjustor:

adjusting, by the processor, a playback timing instruction based on the delay for the audio playback that was added to or subtracted from according to the adjustment, and

displaying, in the user interface, an updated audio delay value reflecting the delay for the audio playback that was added to or subtracted from according to the adjustment; and

initiating, by the processor, the audio playback from the audio playback device according to the playback timing instruction that was adjusted.

2. The method of claim 1 , wherein the delay for the audio playback represents an elapsed time for audio to propagate through the audio playback device.

3. The method of claim 1 , wherein displaying the audio delay value for the audio playback device comprises:

displaying, in the user interface, a calculated audio latency time value for the audio playback device.

4. The method of claim 1 , wherein receiving the adjustment comprises:

detecting, by the processor via the user interface, a sliding of the position of the adjustor.

5. The method of claim 4 , further comprising:

displaying, in the user interface, a selector overlaid on the adjustor;

wherein detecting the sliding of the position of the adjustor comprises:

detecting, by the processor via the user interface, a sliding of a position of the selector overlaid on the adjustor.

6. The method of claim 4 , wherein adjusting the playback timing instruction comprises:

determining, by the processor, an amount of time corresponding to the sliding of the position of the adjustor, and

adjusting, by the processor, the playback timing instruction based on the amount of time corresponding to the sliding of the position of the adjustor.

7. The method of claim 1 , wherein receiving the adjustment comprises:

receiving, by the processor via the user interface, a number corresponding to the audio delay value.

8. An electronic device comprising:

a user interface; and

a processor interfaced with the user interface and configured to:

cause the user interface to display (i) an adjustor for enabling a user to adjust a delay for audio playback from an audio playback device, and (ii) an audio delay value for the audio playback device, the audio delay value corresponding to the delay for the audio playback and reflecting a position of the adjustor,

receive an adjustment made via the user interface to the position of the adjustor to either add to or subtract from the delay for the audio playback,

in response to receiving the adjustment to the position of the adjustor:

adjust a playback timing instruction based on the delay for the audio playback that was added to or subtracted from according to the adjustment, and

cause the user interface to display an updated audio delay value reflecting the delay for the audio playback that was added to or subtracted from according to the adjustment, and

initiate the audio playback from the audio playback according to the playback timing instruction that was adjusted.

9. The electronic device of claim 8 , wherein the delay for the audio playback represents an elapsed time for audio to propagate through the audio playback device.

10. The electronic device of claim 8 , wherein the audio delay value displayed in the user interface is a calculated audio latency time value for the audio playback device.

11. The electronic device of claim 8 , wherein to receive the adjustment, the processor is configured to:

detect, via the user interface, a sliding of the position of the adjustor.

12. The electronic device of claim 11 , wherein the processor is further configured to:

cause the user interface to display, in the user interface, a selector overlaid on the adjustor,

and wherein to detect the sliding of the position of the adjustor, the processor is configured to:

detect, via the user interface, a sliding of a position of the selector overlaid on the adjustor.

13. The electronic device of claim 11 , wherein to adjust the playback timing instruction, the processor is configured to:

determine an amount of time corresponding to the sliding of the position of the adjustor, and

adjust the playback timing instruction based on the amount of time corresponding to the sliding of the position of the adjustor.

14. The electronic device of claim 8 , wherein to receive the adjustment, the processor is configured to:

receive, via the user interface, a number corresponding to the audio delay value.

15. A non-transitory computer-readable storage medium configured to store instructions, the instructions when executed by a processor causing the processor to perform operations comprising:

displaying, in a user interface, (i) an adjustor for enabling a user to adjust a delay for audio playback from an audio playback device, and (ii) an audio delay value for the audio playback device, the audio delay value corresponding to the delay for the audio playback and reflecting a position of the adjustor;

receiving an adjustment made via the user interface to the position of the adjustor to either add to or subtract from the delay for the audio playback;

in response to receiving the adjustment to the position of the adjustor:

adjusting a playback timing instruction based on the delay for the audio playback that was added to or subtracted from according to the adjustment, and

displaying, in the user interface, an updated audio delay value reflecting the delay for the audio playback that was added to or subtracted from according to the adjustment; and

initiating the audio playback from the audio playback device according to the playback timing instruction that was adjusted.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the delay for the audio playback represents an elapsed time for audio to propagate through the audio playback device.

17. The non-transitory computer-readable storage medium of claim 15 , wherein displaying the audio delay value for the audio playback device comprises:

displaying, in the user interface, a calculated audio latency time value for the audio playback device.

18. The non-transitory computer-readable storage medium of claim 15 , wherein receiving the adjustment comprises:

detecting, via the user interface, a sliding of the position of the adjustor.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the operations further comprise:

displaying, in the user interface, a selector overlaid on the adjustor;

wherein detecting the sliding of the position of the adjustor comprises:

detecting, via the user interface, a sliding of a position of the selector overlaid on the adjustor.

20. The non-transitory computer-readable storage medium of claim 18 , wherein adjusting the playback timing instruction comprises:

determining an amount of time corresponding to the sliding of the position of the adjustor, and

adjusting the playback timing instruction based on the amount of time corresponding to the sliding of the position of the adjustor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2021
From: DALEY, MICHAEL J.; BOLINGER, TRAVIS; O'NEAL, HEATH
To: MOTOROLA MOBILITY LLC
Reel/Frame 056381/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2021
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 056381/0836 →
Continuity (6)
Continuation 16029149 · Jul 6, 2018
Continuation 15681193 · Aug 18, 2017
Continuation 15052503 · Feb 24, 2016
Continuation 13945493 · Jul 18, 2013
Provisional Application 61816972 · Apr 29, 2013
Related Publication 20210185629A1 · Jun 17, 2021