Skip to content

Wavmark

Requirements#

Requires the audio-dataset-converter-goruut library.

NB: A GPU device is recommended to speed up processing.

Watermarking#

The following embeds the payload 42 as 16-bit payload in the audio:

adc-convert -l INFO \
  from-data \
    -l INFO \
    -t sp \
    -i "./input/*.wav" \
  embed-watermark \
    -l INFO \
    -p "wm-wavmark -l INFO -p 42" \
  to-data \
    -l INFO \
    -o ./output/

Watermark detection#

The following checks whether the payload 42 is embedded as 16-bit payload in the audio (wavmark-BER in meta-data should be 0.0 for perfect match and 100.0 for no match whatsoever):

adc-convert -l INFO \
  from-data \
    -l INFO \
    -t sp \
    -i "./output/*.wav" \
  detect-watermark \
    -l INFO \
    -p "wmd-wavmark -l INFO -p 42" \
  get-metadata \
    -f wavmark-BER \
  console \
    -f "df-audio-data -f \"{audio-name}: BER={metadata:wavmark-BER} payload={metadata:wavmark-payload}\""