Systems and methods for synchronizing multiple electronic devices
First Claim
1. A method comprising:
- joining, by a first audio playback device, an audio playback group, wherein the audio playback group includes a second audio playback device;
receiving, by the first audio playback device from the second audio playback device, a first timing signal;
determining, by the first audio playback device based on the first timing signal, a first difference between a clock of the first audio playback device and a clock of the second audio playback device;
receiving, by the first audio playback device from the second audio playback device, at least a portion of an audio file;
playing, by the first audio playback device as part of the audio playback group, at least the portion of the audio file received from the second audio playback device in synchrony with the second audio playback device based on the first timing signal difference; and
after playing, by the first audio playback device, at least the portion of the audio file in synchrony with the second audio playback device;
joining, by a third audio playback device, the audio playback group,receiving, by the third audio playback device from the second audio playback device, a second timing signal,determining, by the third audio playback device based on the second timing signal, a second difference between a clock of the third audio playback device and the clock of the second audio playback device,receiving, by the third audio playback device from the second audio playback device, (i) at least the portion of the audio file, and (ii) a current elapsed time of at least the portion of the audio file that is being played back by the first audio playback device and the second audio playback device, andplaying, by the third audio playback device as part of the audio playback group, at least the portion of the audio file at the current elapsed time received from the second audio playback device in synchrony with the second audio playback device based on the second timing signal difference,wherein the first audio playback device does not receive a timing signal from the third audio playback device, andwherein the third audio playback device does not receive a timing signal from the first audio playback device.
2 Assignments
0 Petitions
Accused Products
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.
-
Citations
19 Claims
-
1. A method comprising:
-
joining, by a first audio playback device, an audio playback group, wherein the audio playback group includes a second audio playback device; receiving, by the first audio playback device from the second audio playback device, a first timing signal; determining, by the first audio playback device based on the first timing signal, a first difference between a clock of the first audio playback device and a clock of the second audio playback device; receiving, by the first audio playback device from the second audio playback device, at least a portion of an audio file; playing, by the first audio playback device as part of the audio playback group, at least the portion of the audio file received from the second audio playback device in synchrony with the second audio playback device based on the first timing signal difference; and after playing, by the first audio playback device, at least the portion of the audio file in synchrony with the second audio playback device; joining, by a third audio playback device, the audio playback group, receiving, by the third audio playback device from the second audio playback device, a second timing signal, determining, by the third audio playback device based on the second timing signal, a second difference between a clock of the third audio playback device and the clock of the second audio playback device, receiving, by the third audio playback device from the second audio playback device, (i) at least the portion of the audio file, and (ii) a current elapsed time of at least the portion of the audio file that is being played back by the first audio playback device and the second audio playback device, and playing, by the third audio playback device as part of the audio playback group, at least the portion of the audio file at the current elapsed time received from the second audio playback device in synchrony with the second audio playback device based on the second timing signal difference, wherein the first audio playback device does not receive a timing signal from the third audio playback device, and wherein the third audio playback device does not receive a timing signal from the first audio playback device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A master playback device comprising:
-
a communication component for connecting the master playback device to a first slave playback device as part of an audio playback session; an audio output component; and a processor interfaced with the communication component and the audio output component, and configured to; transmit, to the first slave playback device via the communication component, (i) a first timing signal, and (ii) at least a portion of an audio file, wherein the first slave playback device determines, based on the first timing signal, a first difference between a clock of the first slave playback device and a clock of the master playback device, cause the audio output component to output, as part of the audio playback session, at least the portion of the audio file in synchrony with the first slave playback device playing at least the portion of the audio file received from the master playback device based on the first value, and after causing the audio output component to output, as part of the audio playback session, at least the portion of the audio file in synchrony with the first slave playback device; add, using the communication component, a second slave playback device to the audio playback session, transmit, to the second slave playback device via the communication component, (i) a second timing signal including at least a current elapsed time of the at least the portion of the audio file that being output by the audio output component in synchrony with the first playback device, and (ii) at least the portion of the audio file, wherein the second slave playback device determines, based on the second timing signal, a second difference between a clock of the second slave playback device and the clock of the master playback device, and cause the audio output component to output, as part of the audio playback session, at least the portion of the audio file in synchrony with (i) the first slave playback device playing at least the portion of the audio file received from the master playback device based on the first difference, and (ii) the second slave playback device playing at least the portion of the audio file at the current elapsed time received from the master playback device based on the second difference. - View Dependent Claims (12, 13, 14)
-
-
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:
-
adding, by a master playback device, a first slave playback device to an audio playback session with the master playback device; sending, by the master playback device to the first slave playback device, (i) a first timing instruction, and (ii) at least a portion of an audio file, wherein the first slave playback device determines, based on the first timing instruction, a first difference between a clock of the first slave playback device and a clock of the master playback device; initiating playback, by the master playback device as part of the audio playback session, of at least the portion of the audio file in synchrony with the first slave playback device playing at least the portion of the audio file received from the master playback device based on the first value; and after initiating the playback of at least the portion of the audio file in synchrony with the first slave playback device; adding, by the master playback device, a second slave playback device to the audio playback session, sending, by the master playback device to the second slave playback device, (i) a second timing instruction including at least a current elapsed time of the at least the portion of the audio file that being played back by the master playback device in synchrony with the first slave playback device, and (ii) at least the portion of the audio file, wherein the second slave playback device determines, based on the second timing instruction, a second difference between a clock of the second slave playback device and the clock of the master playback device, and initiating playback, by the master playback device as part of the audio playback session, of at least the portion of the audio file in synchrony with (i) the first slave playback device playing at least the portion of the audio file received from the master playback device based on the first difference, and (ii) the second slave playback device playing at least the portion of the audio file at the current elapsed time received from the master playback device based on the second difference. - View Dependent Claims (16, 17, 18, 19)
-
Specification