Thanks for your time to read my question first. I’m new about audio, but I have to make this done:

  1. Add a few bytes of data to a sound file and generate a new sound file.
  2. If I convert that file to any sound format, these bytes data should still there.
  3. When I play that file anywhere, I pick up the sound with mobile phone microphone and got these bytes back.

I have searched some informations:

  1. It's like "Audio Watermark"
  3. This video is what I want, but I'm still not clear how to do that. Could you please give me some suggestion about that?

Thank you in advance for any help you might be able to provide.

  • 2
    $\begingroup$ The video sounds like a simple morse code transmission that is audible. Your description and other references describe a hidden (inaudible) signal. The first one is easy. Which do you want? $\endgroup$
    – John
    Jan 10, 2014 at 10:57
  • $\begingroup$ Insert pulses of low-level noise and then detect it using a matched filter? Though MP3 encoding might destroy that by throwing away quiet frequency components $\endgroup$
    – endolith
    Apr 18, 2014 at 16:16

2 Answers 2


I'm not sure about how much experience you have in writting software, but if what you want is to hide some data information within an analog audio signal, it seems for me like the way to go would be to use spread spectrum modulation and encode the data digitally and add it to your audio signal as some background noise. Spread spectrum is in itself already a form of encryption, so the bytes you add there will be from the get go, very difficult to recover for a hacker unless they: 1-know that are there, and 2-have the key for generating the pseudorandom sequence to de-spread the signal. But if you want even more security you can choose to packet your data by SSH tcp packets, and have in your phone a program to extract those from the digital signal.

As for point number 2. My suggestion immplies that you add something to the analog signal, or if you will to the PCM raw waveform, which is the same for all practical purposes. So, taking into account that the job of an encoder/compressor like mp3 is to compres the signal, but to eventually recover the original waveform with as less RMS error as possible, we could say that the original noise waveform that you add will still be there, slightly modified, but still there, and hence when you recover the bits by demodulation, and apply suitable Error correction tecniques, I think your data should still be there intact as it was put into the sound.

Please take into account that i just suggested a possible technology, normally used with narrowband RF signals, but maybe you could do some research and check if it will work in your scenario.

Also Another technique that could be used, if you want to send Text (Like they do in the video), is to generate based on your text a signal that will look like the ASCII characters in the time-frequency plane. Then to recover you just perform time-frequency analisys and use any image recognition algorithm. This just came to mind, so it probably sounds very wierd, but may be another way to add another signal to an audio file.

Hope this helps.


The MP3 processing does not aim to minimize RMS error, it aims to hide noise under the masking curve.

The point-by-point difference between an original file and one that has been through mp3 encode/decode is very large. Also, the high- frequency phase is not preserved. So you'll need to consider adding some tones that can be analyzed in the frequency domain.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.