What is a relatively inaudible audio watermarking technique to overlay a broadband audio signal on top of playing music without analysing the music for low-bitrate source identification? Ideally should be resistant to multi-path, reverb and resonance.

I'm not trying to do any kind of DRM, so I don't care about resampling, time compression or frequency shifting - I just want to figure out in real-time which source is playing without adding too much audible noise to the signal.

At the moment I'm broadcasting a low bitrate ultrasonic signal on top of the music, modulated with GMSK around a carrier frequency of 19500Hz, but the high frequencies attenuate fast and the high frequencies are still audible.

I'm considering broadcasting a super wide-band PN-sequence that sounds like pink noise. I only need to sustain a transfer rate of about 3-4 bytes (24-32 bits) per second. But if I stretch out the symbol length, I'm worried about environmental noise.

I could add a delay if I need to pre-analyse the output buffer before, but I hope that I can introduce a very soft full-spectrum "hiss" or hum that can carry my source identification signal.

I don't need to track the source during periods of silence, so there will always be some music to mask my signal.

Update: I've found some prior audio steganography work, but I don't know what the trade-offs are for real-time modulation (esp. on a low-power embedded device) and if this would at all work without look-ahead on the output buffer.

  • $\begingroup$ What is the use case? Will there be more than one sources playing which you might want to tell apart through the ultrasonic signals (?) $\endgroup$
    – A_A
    Jun 18, 2018 at 13:40
  • $\begingroup$ I suggest having a look at the book called “Digital Watermarking” by Nematollahi. $\endgroup$
    – jojeck
    Jun 18, 2018 at 15:43
  • $\begingroup$ Wouldn't stretching out the symbol length make it more resistant to environmental noise? Spreading out the signal over time and frequency improves the SNR, makes it easier to detect. $\endgroup$
    – endolith
    Jul 18, 2018 at 20:20

2 Answers 2


Petrus. First of all, thanks for attaching my github library as an update into your question for other readers. I have just seen your question.

According to my own experiences, echo hiding methods are fragile towards additional echoes, so are towards reverb. A simple spread-spectrum model using a PN Sequence, which introduces some noise, embeds data into high-frequency bands, so hidden data is usually audible and not robust against low-pass filters.

Transformations such as cosine transforms and wavelet transforms are often used in audio watermarking. Applying a spread-spectrum method without a PN Sequence onto Approximation Coefficients of the third level wavelet decomposition (A3) would be very robust against many common attacks except high-pass filter, and would be almost completely imperceptible. On the other hand, hiding data onto Detail Coefficients of different levels, gives different balance between robustness & transparency. These decompositions are done very easily in Matlab if you have Wavelet Toolbox. However, I have not uploaded my related works into github yet.

We have not worked with real-time audios, but I know that all of these techniques can be applied for them as well. I am not sure whether you already solved your problem, but if you have any further questions you can point out in a comment. I am not an expert in digital signals unlike many of you on this site, so different opinions are also very welcomed.

Best Regards.


I'm not very familiar with the topic but I ran into this concept while working on a different problem -- its seems the use of "echo hiding" or "echo watermarking" returns a large number of results on the IEEE's site. As far as I can see, this involves adding some inaudible, unique echo signature into your signal, which can be later extracted by using the cepstrum.

One such paper, although I think this one is not a "blind" technique.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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