Silent watermarking (thanks bitflipper)

Author
swamptooth
Max Output Level: -53 dBFS
  • Total Posts : 2229
  • Joined: 2012/04/16 15:44:21
  • Status: offline
2015/02/04 21:02:36 (permalink)

Silent watermarking (thanks bitflipper)

Thanks to bitflipper and his remarks here in my previous thread on secret messages in audio files.  He got me thinking about if there was a way I could use the freeware tools that I have to create a silent watermark in an audio file that would survive transcoding into a different format.  I only used MS Paint, a freeware program called AudioPaint, and Audacity (to view the spectrogram).  
It took some experimentation but wound up being very simple.  
First, I created a blue-text on black background .bmp file in paint -

Then I opened AudioPaint and dragged the pic into it 

Then I played with the audio settings and came up with this combination -
set left and right channel to blue and min frequency to 10000 (you can also do this with a red or green on black background too - just make sure to set the left and right channels to the corresponding colors)
 

Press ctrl+g to generate the sound -- it should be silent (i think this has to do with cancellation because the left and right channels are set to the same parameter, but I'm not sure...)
then press ctrl+e to export the sound. 
I then opened the watermark file in audacity and chose the spectrogram view just to make sure the watermark was there even though the file *seems* silent and saw this:

 
Good start.  So, I pulled the watermark file into a simple sonar project with just a bass track and then looped it out for the entire length of the project.  you need to lower the watermark file's track volume down around -15 db because even though it seems silent, it reads at 0db on the meters.  
I exported the sonar project as a wav file and then opened it in audacity to look at the spectrogram again and saw this - 
 

 
That was literally too simple!  But how would it survive conversion??
I converted the wav file to a 192kbps mp3 and checked in audacity - Sure enough, the watermark survived:

 
Thanks again bitflipper!  This was a fun little experiment and is a pretty nifty trick to figure out.
The wav file is here if anyone wants to take a look for themselves.  
 
EDIT - the sound in the watermark IS there, but you have to literally crank the gain by 15db to hear it.  It's more like white noise than anything else... What I'm curious about is why sonar's peak indicator is showing 0.0db when peaks on the analyzers are showing -12 to -18.  This has me a bit confused.  Anyone out there able to explain why this would be?  It's a neat process, but I'm a little confused about it...
post edited by swamptooth - 2015/02/04 22:32:51

 
Arvid H. Peterson
Sonar X3E Prod / X2A  / X1PE | Cubase 9.5.1 | Reason 9.5 | Sibelius7 | Pure Data
Native-Instruments Komplete 10 Ultimate and a smattering of other plugins
Home-brewed VSTs 
Toshiba Satellite S855-S5378 (16GB RAM, modified with 2x 750GB HDDs, Windows 8.1 x64)  
Samson Graphite 49, M-Audio Oxygen 49, Korg nanoPAD2, Webcam motion tracking programs 
M-Audio Fast Track Ultra
Member, ASCAP   


#1

4 Replies Related Threads

    Karyn
    Ma-Ma
    • Total Posts : 9200
    • Joined: 2009/01/30 08:03:10
    • Location: Lincoln, England.
    • Status: offline
    Re: Silent watermarking (thanks bitflipper) 2015/02/05 11:47:12 (permalink)
    First off,  it appears silent to you because it's using frequencies between 16k - 18k. 
     
    It's not silent to Sonar because it CAN hear those frequencies, and judging by your spectrogram, they are loud.  I'm not surprised they're hitting the peak meter.
     
    If you view the spectrum with a standard analyser you should see a series of spikes between 16k - 18k as the characters scroll past.  If the meter on the analyser is set to anything other than a raw data display, ie A or C weighted, fast or slow response, or just about anything, it should not react to those spikes fast enough to be noticeable.
     
    A "click" in audio actually contains a whole host of frequencies, even if it just sounds like a high frequency spike.  It's those lower frequencies which contain the energy that meters respond to.

    Mekashi Futo
    Get 10% off all Waves plugins.
    Current DAW.  i7-950, Gigabyte EX58-UD5, 12Gb RAM, 1Tb SSD, 2x2Tb HDD, nVidia GTX 260, Antec 1000W psu, Win7 64bit, Studio 192, Digimax FS, KRK RP8G2, Sonar Platinum

    #2
    swamptooth
    Max Output Level: -53 dBFS
    • Total Posts : 2229
    • Joined: 2012/04/16 15:44:21
    • Status: offline
    Re: Silent watermarking (thanks bitflipper) 2015/02/05 15:53:17 (permalink)
    Yeah i just figured that out when i did a random hearing test last night. I'm getting old and the ears ain't what they used to be. Working on a way to either nudge it up in the spectrum or down below audible range. Iirc sonar only outputs 20-20khz data so this would need to be done with an external tool to get it to those ranges. I would think it would be almost like a dithering effect.
    I'm still curious about the discrepancies in the analyzers.
    Yes, this is the kind of stuff I do when I'm in bed sick for a day... :/

     
    Arvid H. Peterson
    Sonar X3E Prod / X2A  / X1PE | Cubase 9.5.1 | Reason 9.5 | Sibelius7 | Pure Data
    Native-Instruments Komplete 10 Ultimate and a smattering of other plugins
    Home-brewed VSTs 
    Toshiba Satellite S855-S5378 (16GB RAM, modified with 2x 750GB HDDs, Windows 8.1 x64)  
    Samson Graphite 49, M-Audio Oxygen 49, Korg nanoPAD2, Webcam motion tracking programs 
    M-Audio Fast Track Ultra
    Member, ASCAP   


    #3
    bitflipper
    01100010 01101001 01110100 01100110 01101100 01101
    • Total Posts : 26036
    • Joined: 2006/09/17 11:23:23
    • Location: Everett, WA USA
    • Status: offline
    Re: Silent watermarking (thanks bitflipper) 2015/02/05 16:51:09 (permalink)
    Fun stuff! For an identifiable tag, though, you wouldn't necessarily need something as obvious as a text message. It could be any series of bit changes that would not occur naturally. You could, for example, make every 35th zero-crossing fall exactly on zero, an inaudible pattern that normally would never happen and would survive most processing, but could still be detected by dedicated software. The downside is that you'd need to write your own tool for applying and detecting the watermark.


    All else is in doubt, so this is the truth I cling to. 

    My Stuff
    #4
    swamptooth
    Max Output Level: -53 dBFS
    • Total Posts : 2229
    • Joined: 2012/04/16 15:44:21
    • Status: offline
    Re: Silent watermarking (thanks bitflipper) 2015/02/06 22:47:15 (permalink)
    yeah - seriously fun! I'm reading up on watermarking sample libraries.  Your posts really get me thinking outside the box a lot of times.  Thank you for that!  I'm really interested in this topic because I used to write a lot of cryptography programs for fun in high school and college.  Most people don't get to indulge in that kind of insanity in everyday life.  For me though, it's really good times.  I'm going to play with this some more and see what I can do with it.  
    Be well, man!

     
    Arvid H. Peterson
    Sonar X3E Prod / X2A  / X1PE | Cubase 9.5.1 | Reason 9.5 | Sibelius7 | Pure Data
    Native-Instruments Komplete 10 Ultimate and a smattering of other plugins
    Home-brewed VSTs 
    Toshiba Satellite S855-S5378 (16GB RAM, modified with 2x 750GB HDDs, Windows 8.1 x64)  
    Samson Graphite 49, M-Audio Oxygen 49, Korg nanoPAD2, Webcam motion tracking programs 
    M-Audio Fast Track Ultra
    Member, ASCAP   


    #5
    Jump to:
    © 2024 APG vNext Commercial Version 5.1