You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @swesterfeld.
Thanks again for your great package.
I have a problem with this approach. and it's about running a shell execution in my wrapper.
I have so many requests and I have to respond them below 0.5 milliseconds so preferably it's better to implement the logic of this package in my wrapper.
Could you please tell me about the logic of this package and what is going on behind the scenes of that?
And what sources did you use to implement that?
Thanks
The text was updated successfully, but these errors were encountered:
I don't think that shell execution is a big problem from a performance point of view. The reason is that watermarking itself is kind-of expensive. Also usually you'd have to re-encode the audio before you send it. So I'd expect to see most of the actual CPU time being spent on watermarking and compression (for instance mp3/aac encoding), and not so much in the shell execution (especially on Linux where spawning sub processes is quite fast). But I'd encourage you to measure the actual CPU usage for serving a typical request yourself.
Could you please tell me about the logic of this package and what is going on behind the scenes of that?
Well, adding "developer documentation" that describes details on how everything works is on my TODO, but I don't have time to do it right now. So I can only quote from the README:
Internally, audiowmark is using the patchwork algorithm to hide the data in the spectrum of the audio file. The signal is split into 1024 sample frames. For each frame, some pseoudo-randomly selected amplitudes of the frequency bands of a 1024-value FFTs are increased or decreased slightly, which can be detected later. The algorithm used here is inspired by
Martin Steinebach: Digitale Wasserzeichen für Audiodaten.
Darmstadt University of Technology 2004, ISBN 3-8322-2507-2
It is German though, an english short description of the patchwork algorithm by the same author is available here:
Hi @swesterfeld.
Thanks again for your great package.
I have a problem with this approach. and it's about running a shell execution in my wrapper.
I have so many requests and I have to respond them below 0.5 milliseconds so preferably it's better to implement the logic of this package in my wrapper.
Could you please tell me about the logic of this package and what is going on behind the scenes of that?
And what sources did you use to implement that?
Thanks
The text was updated successfully, but these errors were encountered: