Hi!
If you want to split into segments and watermark individually, you
should at least use a length that allows audiowmark write one whole data
block. It will tell you the number of data blocks written if you use
"audiowmark add" to generate the watermark. The first data block isn't
exactly written at the start of the audio input because some songs start
with a some silence. One data block is ~50 seconds + 5 seconds at the
beginning, so it would be safe to use 60 seconds.
However, it can happen that if you do it this way there will be audible
clicks if you concatenate the watermarked segments. To avoid this you
could crossfade the watermarked segments, for instance
- segment #1 second 0..61
- segment #2 second 60..121
- segment #3 second 120..181
...
and then play 60 seconds from segment #1, play 60 seconds by crossfading
the end of #1 with #2, play 60 seconds by crossfading the end of #2 and
#3 and so forth.
Another disadvantage is that you break the clip decoder if you watermark
60 second segments this way. If you have a random clip taken of a
regular watermarked file, it will either be a part of an A block, or a
part of a B block, or a part of an A block followed by a part of a B
block, or the other way round. In any case this is expected by the clip
decoder, and this means that if you for instance have only 20 seconds of
watermarked material, audiowmark will still be able to decode the
watermark on it (given sufficient strength). However, your segment
approach only contains A blocks and no regular watermark inbetween. So
in general if you get 20 seconds of your segment watermark, it may or
may not be decodable.
I think one possible way to deal with that would be to make your segment
length exactly as long as one A block plus one B block (not including
space for crossfading), which should be
- 2226 frames per data block
- 1024 samples per frame
- 2 blocks (one A and one B)
=> 2226*1024*2 => 4558848 samples at sample rate 44100
=> 103.375238095238 seconds
For non-44100 audio files, the number of seconds should still be correct
(or you could resample everything to 44100 before watermarking).
As for subtracting out the original content to get only the watermark,
you can do it with audiowmark using this:
$ audiowmark add /tmp/x.wav /tmp/y.wav f0 --test-no-limiter
[...]
$ audiowmark test-subtract /tmp/x.wav /tmp/y.wav /tmp/z.wav
The --test-no-limiter option disallows audiowmark to adjust the volume
of the output signal, which would be a problem if you want to subtract
both to get only the watermark part.
Cu... Stefan
Am 10.06.22 um 02:14 schrieb Irina R:
> <
http://space.twc.de/~stefan>
>
> --
> You received this message because you are subscribed to the Google
> Groups "audiowmark" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
audiowmark+...@googlegroups.com
> <mailto:
audiowmark+...@googlegroups.com>.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/audiowmark/11453e48-e7e8-4cef-a294-fd6ede2eaa00n%40googlegroups.com
> <
https://groups.google.com/d/msgid/audiowmark/11453e48-e7e8-4cef-a294-fd6ede2eaa00n%40googlegroups.com?utm_medium=email&utm_source=footer>.