Streaming audio synchronization system
AssigneeWhite Snake Projects, Inc.
InventorsJonathan C. Robertson, Cerise H. Jacobs, Ethan Fenn
Life of this patent
Estimating the term…
Abstract
A method and apparatus for synchronizing audio streamed over a network. The system makes use of a reference track and a common clock that is provided by a server to all participating performers. The performers perform along with and to the reference track wherein the reference track and common clock serve as a baseline reference for all the performers in regard to their audio transmitted to the server. Using the reference track and common clock, the server of the system can reconstruct and synchronize received audio from all the participating performers. The synchronized audio is then provided to a mixer where it is combined and live or real-time adjustments to the audio are made before being provided for broadcast.
Claims22
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.
A method for synchronizing audio streams, comprising:
- providing a server comprising:
- a server processor, and
- a server clock,
- wherein the server is in communication with server data storage and a library containing one or more reference tracks;
- providing one or more performer-clients comprising:
- a performer-client processor;
- and
- a performer-client clock;
- wherein the 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;
- providing 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;
- receiving, by each of the one or more performer-clients, a reference track from the server;
- sending, from one of the one or more performer-clients, a start signal to the server;
- sending, by the server in response a received start signal, a start signal to each of the one or more performer-clients including a start-time stamp provided by the server clock;
- starting, by each of the one or more performer-clients, in response to receiving a start signal from the server, playback of the received reference track and receiving audio data synched to the reference track;
- transmitting the audio data from the one or more performer-clients 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;
- receiving, by the server, the audio data from the one or more performer-clients;
- forwarding, by the server, the audio data from the one or more performer-clients to the mixer-client;
- storing, by the mixer-client, the audio data from each of the one or more performer-clients forwarded by the server in a playback-buffer;
- and
- combining, at the mixer-client, the audio data from each buffer into a performance track 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
- transforming, by the mixer-client, the performance track into a broadcast track.
Dependencies are inferred from the claim text.