Watermarking music

Shortly following the release of the new Imphenzia Soundtrack site I've had some feedback that the watermark of "Imphenzia" every 5 seconds is annoying - understandably so. I used to offer my music in very low quality without watermarks for previewing but I found that some tracks were being used anyway. The tracks that were used without license were, however, only used in videos on Youtube and never in any games which supports my experience that indie game developers really want to do the right thing and license the assets they use properly.

In order to make the watermark less annoying I have now altered the previews. I've created a VBScript that automatically loops through all the original WAV files and watermarks them.

In my VBScript I use the free utility Sound eXchange (SoX) to extract the duration in samples of the original WAV file. I then have a Watermark audio file which is 20 minutes in duration (longer than my longest piece of music) and using SoX I can then mix the two audio files together with the output file being the exact same length in samples as the original WAV file thus not braking any seamless loops.

I also use SoX to read the Peak Amplitude (0.0 - 1.0) of the original audio file and adjust the Watermark amplitude exponentially before mixing the two together. E.g. if the original audio has a peak amplitude of 0.5 then the watermark gets the amplitude 0.25, and if the original audio has a peak amplitude of 1.0 the watermark also gets 1.0, etc. The only flaw with this method is that if a track is normalized (which equals a peak amplitude of 1.0) yet the track has many quiet sections, the watermark will be too loud in the quiet sections - but still it works fairly well until I can find a solution to fix that.

In order to also make the watermarked audio files less annoying I've also changed the frequency of the watermark. I have 4 different watermark audio files where the interval of the watermark is: every 5 seconds for tracks between 0-10 second duration, every 10 seconds for tracks between 10-20 seconds, every 20 seconds for tracks between 20-60 seconds, and every 30 seconds for tracks longer than 60 seconds.

With this script I could automatically re-watermark all 198 audio files in a matter of minutes, which is nice =) The encoding to Mp3 and Ogg previews is performed by another script and which takes around half an hour on my Intel i7 950 @ 3.07Ghz.

If any readers of this blog post is interested in the VBScripts - give me a shout.

Comments

  1. This is exactly what I've been looking for...you've come up with a pretty detailed solution though. Any chance you could email me a copy? :)

    ReplyDelete
  2. Hi Jeremy, since there is interest - I will tidy up (wash) the scripts and publish them on this blog - I'll see if I can get it all sorted tonight. I'll probably publish it as a new blog post but I will link to the new post in this one as well.

    ReplyDelete

Post a Comment

Popular posts from this blog

Discovery of Planet X

Leaving The Outpost (Game Music)

Universal Sound FX in Unity Asset Store updated to 1.3