[PD] Control over audio
Chris McCormick
chris at mccormick.cx
Mon Mar 7 12:34:05 CET 2022
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/
More information about the Pd-list
mailing list