Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020197737 - SYSTEMS, DEVICES, AND METHODS FOR SYNCHRONIZING AUDIO

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

CLAIMS

We claim:

1. A device comprising:

an audio input interface;

a memory storing program instructions; and

at least one processor,

wherein the program instructions are executable by the at least one processor to cause the device to:

receive a first audio signal;

receive, via the audio input interface of the device, a second audio signal; determine, based on the first audio signal and the second audio signal, an audio delay that is associated with the second audio signal.

2. The device of claim 1, wherein the program instructions that are executable to cause the device to receive the first audio signal comprise program instructions that are executable by the at least one processor to cause the device to:

receive, via an antenna that is coupled to the device, a first audio signal from a transmitter device.

3. The device of claim 1, wherein the first audio signal comprises a lossy-encoded audio signal that is received from a transmitter device.

4. The device of claim 1, wherein the program instructions are further executable by the at least one processor to cause the device to:

output a representation of the delay at a display of the device.

5. The device of claim 1,

wherein the program instructions that are executable by the at least one processor to cause the device to determine the audio delay comprise program instructions that are executable by the at least one processor to cause the device to:

receive a user input; and

cause the device to determine the audio delay in response to the user input.

6. The device of claim 1, wherein the program instructions are further executable by the at least one processor to cause the device to:

decode the first audio signal with a lossy audio decoder;

store the first audio signal in a first buffer;

downsample the first audio signal to produce a downsampled audio signal;

filter the second audio signal to remove a range of audible frequencies of the second audio signal and thereby produce a filtered second audio signal;

store the filtered second audio signal in a second buffer, and

wherein the program instructions that are executable by the at least one processor to cause the device to determine the audio delay comprise program instructions that are executable by the at least one processor to cause the device to:

determine a cross-correlation between the downsampled audio signal and the filtered second audio signal; and

determine the audio delay based on the cross-correlation.

7. The device of claim 6, wherein the program instructions are further executable by the at least one processor to cause the device to:

apply to the first audio signal stored in the first buffer a time delay equal to the determined audio delay; and

play back with an audio output interface of the device the first audio signal stored in the first buffer according to the applied time delay.

8. The device of claim 1 further comprising:

a first clock that is synchronized with a second clock of a transmitter device, and wherein the first audio signal is synchronized with the second clock,

wherein the program instructions are further executable by the at least one processor to cause the device to:

determine the first audio signal based on the first clock.

9. The device of claim 8, wherein the program instructions that are executable by the at least one processor to cause the device to receive the first audio signal comprise program instructions that are executable by the at least one processor to cause the device to:

play back at least one media item, based on the first clock and in synchrony with the transmitter device, from an audio queue,

wherein the first audio signal is received from the playback of the at least one media item.

10. The device of claim 1,

wherein the audio input interface comprises one or more of a microphone input or a line level input.

11. The device of claim 1,

wherein the audio delay comprises a second delay,

wherein the program instructions are further executable by the at least one processor to cause the device to:

determine a first delay associated with the first audio signal;

store the first delay;

store the second delay;

determine a difference between the first delay and the second delay; and output a representation of the difference between the first delay and the second delay.

12. A system comprising:

a transmitter device comprising (i) a first memory storing first program instructions, and (ii) a first at least one processor; and

a receiver device comprising (a) a second memory storing second program instructions, and (b) a second at least one processor,

wherein one or more of the first program instructions or the second program instructions are executable by one or more of the first at least one processor or the second at least one processor to cause one or more of the transmitter device or the receiver device to:

receive, at the receiver from the transmitter, a first audio signal; receive, via an audio input interface of the receiver, a second audio signal; and determine, based on the first audio signal and the second audio signal, an audio delay that is associated with the second audio signal.

13. The system of claim 12, wherein the one or more of the first program instructions or the second program instructions are further executable by one or more of the first at least one processor or the second at least one processor to cause one or more of the transmitter device or the receiver device to:

decode the first audio signal with a lossy audio decoder;

store the first audio signal in a first buffer;

downsample the first audio signal to produce a downsampled audio signal;

filter the second audio signal to remove a range of audible frequencies of the second audio signal and thereby produce a filtered second audio signal;

store the filtered second audio signal in a second buffer, and

wherein the one or more of the first program instructions or the second program instructions that are executable by one or more of the first at least one processor or the second at least one processor to cause one or more of the transmitter device or the receiver device to determine the audio delay comprise program instructions that are executable by one or more of the first at least one processor or the second at least one processor to cause one or more of the transmitter device or the receiver device to:

determine a cross-correlation between the downsampled audio signal and the filtered second audio signal; and

determine the audio delay based on the cross-correlation.

14. The system of claim 12, wherein the one or more of the first program instructions or the second program instructions are further executable by one or more of the first at least one processor or the second at least one processor to cause one or more of the transmitter device or the receiver device to:

apply to the first audio signal stored in the first buffer a time delay equal to the determined audio delay; and

play back with an audio output interface of the device the first audio signal stored in the first buffer according to the applied time delay.

15. The system of claim 12,

wherein the receiver device further comprises a first clock,

wherein the transmitter device further comprises second clock synchronized with the first clock,

wherein the first audio signal is synchronized with the second clock, and

wherein the one or more of the first program instructions or the second program instructions are further executable by one or more of the first at least one processor or the second at least one processor to cause one or more of the transmitter device or the receiver device to:

determine the first audio signal based on the first clock; and

play back at least one media item, based on the first clock and in synchrony with the transmitter device, from an audio queue, wherein the first audio signal is received from the playback of the at least one media item.

16. The system of claim 12,

wherein the audio delay comprises a second delay,

wherein the one or more of the first program instructions or the second program instructions are further executable by one or more of the first at least one processor or the second at least one processor to cause one or more of the transmitter device or the receiver device to:

determine a first delay associated with the first audio signal;

store the first delay;

store the second delay;

determine a difference between the first delay and the second delay; and output a representation of the difference between the first delay and the second delay.

17. The system of claim 12,

wherein the transmitter device is configured to be coupled to a mixer device such that the transmitter device, and

wherein the one or more of the first program instructions or the second program instructions are further executable by one or more of the first at least one processor or the second at least one processor to cause one or more of the transmitter device or the receiver device to:

receive at the transmitter device from the mixer device the first audio signal; and transmit to the receiver device, the first audio signal.

18. A method compri sing :

receiving, at a receiver, a first audio signal;

receiving, via an audio input interface of the receiver, a second audio signal;

decoding the first audio signal with a lossy audio decoder;

storing the first audio signal in a first buffer;

downsampling the first audio signal to produce a downsampled audio signal;

filtering the second audio signal to remove a range of audible frequencies of the second audio signal and thereby produce a filtered second audio signal;

storing the filtered second audio signal in a second buffer;

determining a cross-correlation between the downsampled audio signal and the filtered second audio signal; and

based on the cross-correlation, determining an audio delay that is associated with the second audio signal.

19. The method of claim 18, further comprising:

applying to the first audio signal stored in the first buffer a time delay equal to the determined audio delay; and

playing back via an audio output interface the first audio signal stored in the first buffer according to the applied time delay.

20. The method of claim 18,

determining the first audio signal based on a first clock that is synchronized with a second clock of a transmitter device; and

playing back at least one media item, based on the first clock and in synchrony with the transmitter device, from an audio queue, wherein the first audio signal is received from the playback of the at least one media item.

21. The method of claim 18,

wherein the audio delay comprises a second delay, and

wherein the method further comprises:

determining a first delay associated with the first audio signal; storing the first delay;

storing the second delay;

determining a difference between the first delay and the second delay; and outputting a representation of the difference between the first delay and the second delay.

22. A non-transitory computer-readable storage medium having program instructions stored thereon that are executable to cause a computing system to:

receive a first audio signal;

encode the first audio signal using an audio codec that results in an encoding latency that is less than a latency threshold;

encapsulate the encoded first audio signal in one or more datagrams

cause a transmitter to transmit to a receiver the one or more datagrams.

23. The non-transitory computer-readable storage medium of claim 22, wherein the program instructions are further executable to cause a computing system to:

prior to encoding, removing from the first audio signal a portion of the audible frequency spectrum.

24. The non-transitory computer-readable storage medium of claim 22, wherein the program instructions are further executable to cause a computing system to:

determine that the receiver is out of range of the transmitter; and

responsive to the determination that the receiver is out of range of the transmitter, stop transmitting to the receive the one or more datagrams.

25. The non-transitory computer-readable storage medium of claim 24, wherein the program instructions that are executable to cause a computing system to determine that the receiver is out of range of the transmitter comprise program instructions that are executable to cause a computing system to:

determine that the transmitter has not received an acknowledgement signal from the receiver in at least a threshold amount of time.

26. The non-transitory computer-readable storage medium of claim 24, wherein the program instructions that are executable to cause a computing system to determine that the receiver is out of range of the transmitter comprise program instructions that are executable to cause a computing system to:

receive from the receiver an indication that a delay between the first audio signal and a second audio signal received by the receiver is greater than a threshold amount of delay.