US 12,308,945 B2
Streaming audio synchronization system
Jonathan C. Robertson, North Kansas City, MO (US); Cerise H. Jacobs, Brookline, MA (US); and Ethan Fenn, Somerville, MA (US)
Assigned to White Snake Projects, Inc., Brookline, MA (US)
Filed by White Snake Projects, Inc., Brookline, MA (US)
Filed on Mar. 16, 2023, as Appl. No. 18/122,492.
Claims priority of provisional application 63/341,306, filed on May 12, 2022.
Prior Publication US 2023/0370184 A1, Nov. 16, 2023
Int. Cl. G11B 11/00 (2006.01); G06F 3/16 (2006.01); G11B 27/34 (2006.01); H04H 20/88 (2008.01); H04S 1/00 (2006.01)
CPC H04H 20/88 (2013.01) [G06F 3/162 (2013.01); G11B 27/34 (2013.01); H04S 1/007 (2013.01)] 22 Claims
OG exemplary drawing
 
1. A streaming synchronization system, comprising:
a server comprising a server processor, a server clock, and in communication with server data storage and a library containing one or more reference tracks;
one or more performer-clients, comprising:
a performer-client processor; and
a performer-client clock;
wherein each of the one or more performer-clients is in communication with the server, a performer-microphone and audio interface supplying performer audio data; and configured to receive and store a reference track from the server;
a mixer-client, comprising:
a mixer-client processor; and
a mixer-client clock;
wherein the mixer-client is in communication with the server and manages synchronization of the performer audio data from the one or more performer-clients into a performance track and a broadcast track;
wherein each of the one or more performer-clients receives a reference track from the server;
wherein one of the one or more performer-clients sends a start signal to the server and the server in response sends a start signal to each of the one or more performer-clients including a start-time stamp provided by the server clock;
wherein in response to receiving a start signal from the server, each of the one or more performer-clients starts playback of the received reference track and receives audio data synched to the reference track and transmits the audio data to the server, the transmitted audio data including the start-time stamp from the server, a time stamp from the performer-client, and an indication of a temporal position of the audio data in reference to the reference track;
wherein the server receives and forwards the audio data received from the one or more performer-clients to the mixer-client;
wherein the mixer-client stores the audio data from each of the one or more performer-clients in a playback-buffer;
wherein the audio data from each buffer is combined into a performance track at the mixer-client in such a way that the start-time stamp from the server, a time stamp from the performer-client, and an indication of a temporal position of the audio data in reference to the reference track are in alignment; and
wherein the mixer-client transforms the performance track into a broadcast track.