-2

I want to send an audio message which actually looks like some mammal voice but inside it has some coded information, something like Hello !.

I know basically modulation is super-imposing your original signal over carrier. Is there an example of this ? I tried to send custom carrier with data but no luck. I am experimenting using Analog Pluto and GNU Radio, Can anyone direct me in right direction ?

Jay Patel
  • 1,374
  • 1
  • 8
  • 17

2 Answers2

2

For starters, look at https://wiki.gnuradio.org/index.php/Simulation_example:_AM_transmitter_and_receiver and build on that.

2

I think the mammal with the best characterized voice tract is the human.

So, use any of the open source speech synthesis libraries, and in a first step, just feed it syllables that you pick based on your data. (In fact, that sounds like what your brain does when you speak... just less elaborate. Pick 8 syllables, transmit 1 of them: tadah, 3 bits.)

You'd later look into the speech synthesis tool and understand how it works: there's coefficients going from a text-to-phoneme converter to a synthesizer; these coefficients describe with parts of a human voice tract would be active when pronouncing the phoneme, and at what intensity.

You're then free to just generate coefficients to your liking, and have voice synthesized that's not quite in any human language.

What you'd be doing is basically feeding a vocoder (decoder) with coefficients generated by you – so that's a different thing you can do:

  1. Use a vocoder. That's a compression codec for voice. There's many: every phone these days compresses voice. I'd recommend Codec2, Opus or its predecessor, speex.
  2. Compress some voice at a reasonable bit rate.
  3. Modify the resulting coefficients with steganography.
  4. transmit the compressed data like a phone would
  5. receive the data
  6. apply your steganographic knowledge to get the hidden data back
  7. (optionally) decode at the other end to get the original, only slightly distorted voice back
Marcus Müller
  • 34,677
  • 4
  • 53
  • 94
  • Do you know any example that i can refer for this ? Does that means i can replace a carrier as mammal voice and put data and multiply in frequency domain (convolution in time domain) right, do i understand this correctly ? – Jay Patel Apr 25 '20 at 13:13