I'd like to transmit digital data together with an audio signal along an instrument cable.
In more detail, I'd like to send MIDI data and the audio signal of a guitar on a single cable. The rationale is that audio cable is ubiquitous and saves me the trouble to find the specific kind I need whenever it breaks.
The original idea I had was to simply send the MIDI data raw along the cable, but its low bitrate (32 kbauds) makes it dangerously close to the audible range, and in my experience even though the data in and of itself is not audible, it produces whines whenever evenly spaced packets are sent (as in CC messages).
I then thought of producing a 1Mhz carrier that would be modulated by the MIDI signal, that would then be decoded at the receiving end: this solution is supposed to solve the bleed into the audio signal.
I now find two main issues in my idea: first and foremost, I have no idea whether the audio cable has enough bandwidth to let a 1Mhz signal through. I found this spec sheet that mentions some parameters, and according to this answer the resulting impedance is around 400Ω, which is a standard impedance in the audio industry, IIRC. I don't know how this affects the ability to transmit RF signals, though. Also the capacitance is specified for 10KHz, not 1MHz.
The second doubt I have is that the audio signal is low-voltage, high-impedance: could this be a problem when decoding downstream? Will a simple passive lowpass filter be able to eliminate the data carrier leaving the audio (relatively) intact?
Final note: I have zero experience in RF circuits. I have no idea if I would have to do stuff like terminating the connection or things like that, I am not really sure how important it is at 1MHz frequency.
Best Answer
Rather than messing around with RF modulators and demodulators, I would recommend simply encoding the MIDI data differently, so that its bandwidth does not impinge on the audible range of the analog signal.
For example, you could Manchester encode the data at 2× the MIDI baud rate — i.e., sending each async bit twice. This would give you a signal that's centered at 62.5 kHz, with most of the information in a band that's within ±15.625 kHz of that.
On the transmit side, send the signal through a 45 kHz - 80 kHz bandpass filter before mixing it with the audio; this will eliminate "splatter" into the audio passband.
On the receive side, use the same filter to block the audio before sending the signal to a threshold circuit ("data slicer") and then to your Manchester decoder. The output of the decoder will then feed an ordinary MIDI input with no additional work. A simple low-pass filter @ 25 kHz or so will eliminate the MIDI signal from the audio path.