I have a stream of binary data and want to convert it to raw waveform sound data, which I can send to the speakers.

This is what the old-school modems did in order to transfer binary data over the phone line (producing the typical modemish sound). It is called modulation.

Then I need a reverse process - from the raw waveform samples, I want to obtain the exact binary data. This is called demodulation.

  • Any bitrate will work for a start.
  • The sound is played using computer speakers and sampled using a microphone.
  • Bandwidth would be quite low (low quality microphone).
  • There is some background noise but not much.

I found one particular way to do this - Frequency shift keying. The problem is I can't find any source code.

Can you please point me to an implementation of FSK in any language?
Or offer any alternative encoding binary<->sound with available source code?

Edit
Report