Dear Pd-List,

I was hoping to get some advice on the following problem.

I have a Raspberry Pi sending stereo audio into a 2nd Raspberry Pi which takes stereo input using a USB sound card. I would like for the first device to be able to encode some basic control data on top of the audio stream such that it is not audible but can be read by the 2nd device. The control data is very basic (a timing sync pulse, maybe BPM or tick mod 16, but that's not essential).

I could set up a WiFi connection or Bluetooth etc. it seems like overkill for a simple sync pulse. It would be great if I can get this working so it would be "plug and play" without fiddling around with network stuff. Features that would be nice:

1. Make the signal was somewhat robust to volume changes (e.g. if the source volume was not at max it can still be read). 2. Make the signal robust o quite a saturated spectrum (e.g. if the source is playing high bandwidth music the signal is still recoverable). 3. Make the signal inaudible such that if it goes into a regular mixing desk it doesn't make it sound bad.

Does anybody know of an existing protocol or method I could use to encode basic timing data into the audio stream like that?

My first thought was to use a frequency above or below the range of human hearing and put a low volume square wave carrier in there, then filter for it with band pass. I am not sure the best Pd objects to use to do that. Suggestions most welcome.

I also saw this, but it seems to require access to the signal before it hits the CPU:

https://electronics.stackexchange.com/questions/242883/how-do-media-buttons-on-a-plain-wired-headset-work


Cheers,

Chris.


--
https://mccormick.cx/



_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to