I am working on a device which's actions should be synchronized to the audio played. The audio stream is known in beforehand and can be altered to contain signals for the synchronization. But the device and the PC playing the music do not have any other connection but the audio. The synchronization should be in the regime 100ms.

The transfer function between the device and the PC is not known and can vary. Especially the gain can vary. Thererfore an approach not to sensitive to overmodulation would be preferrabel, if such an approach exists.

The current signal in the audio-stream is a click noise. A crosscorrelation is working quite well on the original data, but the signal gets less clear when a transfer function is introduced. And vanishes for an overmodulated signal, while for the human ear the signal is still present.

What would be a suitable approach to synchronize the device to the audio stream?

EDIT: It is an acoustical link.

  • $\begingroup$ Is this an acoustical link (speaker and microphone) or an electrical link (cable) ? $\endgroup$
    – Hilmar
    Jan 7 '20 at 15:37
  • $\begingroup$ It is an acoustical link. $\endgroup$
    – Gerrit
    Jan 7 '20 at 15:49

One problem with an acoustic link is frequency dependent multi-path fading/reinforcement, which can vary widely as the source and mic positions change, or as the room acoustic vary (moving hard objects, etc.)

So I might try a "click" that has a wide and known pattern of several non-harmonically related spectra, and check the Hamming distance between the transmitted and received spectral pattern peaks.

Use a non-harmonically related set of frequencies so that the harmonics of any clipped spectra will be mostly ignored (depending on window duration), and because multi-path fading can act as a comb filter notch.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.