Water Glass Usage Notes

These notes will help you get the most out of Water Glass, the noise reduction and texture generating plug-in. DirectX and VST versions are available.

Controls

The two controls in the first section may seem odd at first, but they are there for a reason.

The Noise control lets you add white noise to the signal, while the Distortion control applies very high gain and consequent harsh digital clipping. These are normally not something you'd want to do to your audio, in fact you often go to great trouble to prevent this sort of thing from happening. If you are using Water Glass for simple noise reduction then please - leave both of these settings in the Off position!
However, if you want to use Water Glass as a sound design tool to create sonically interesting pads etc, adding some "dirt" to the sound can give the algorithm something to "sink its teeth into". You can also experiment with them to hear how noise reduction works.

The controls in the middle section shape the noise reduction processing.

The Mode buttons switch between two types of noise reduction. In Cut mode, parts of the sonic spectrum that are considered noise are cut out entirely, and the rest of the signal is left alone. Reduce mode goes further, it reduces the entire signal by an amount corresponding to what it considers noise. There are no rules, but Cut mode can sometimes generate more interesting artifacts, while Reduce may give a smoother, more natural sound. Likewise, if you have switched to Residuals (see below), Reduce mode might sound better.

The Granularity knob controls the size of the chunks of signal that are processed. In general, larger chunks will give a smoother sound for "regular" noise reduction, and tinkly, "arpeggiator-like" artifacts at more extreme settings. On the other hand, smaller chunks will give a smoother sound if you have switched to Residuals.

The Depth contol determines the amount of noise reduction, from almost none at all, right up to cutting out pretty much all of the incoming signal. For true noise reduction, try to set this as low as you can while still getting the noise reduction you require, because higher settings mean more artifacts. For sound design purposes, set it as high as you like. If you have put some "dirt" into the signal, you'll need higher settings to get rid of it (and produce more artifacts).

The Contour contol lets you perform more noise reduction at lower or higher frequencies. When the knob is in the middle, the same amount of noise reduction is performed across the audio spectrum. At the "Bass" position, more cutting/reduction is performed on the higher frequencies, while the "Treble" position causes more processing is done on the lower frequencies. The effects of this can sometimes be subtle, and after adjusting this knob you may need to readjust the Depth.

The controls in the final section determine how the processed signal is output.

When the Residuals switch is off, the noise-reduced signal is sent to the output. If you switch Redisuals on, the difference between the pre-noise-reduction and post-noise-reduction signal is output. In other words, you get to hear what the noise reduction algorithm "cuts out". Note that if you have added Noise or Distortion, the residuals will include this, and probably sound very nasty. However with certain settings and signals, the Residuals output can have a ghostly, haunting, etherial quality as opposed to the glassy, liquid sound you'll get with Residuals switched off.

The Gain contol lets you adjust the volume of the output signal. High Distortion settings will tend to increase the volume, while high settings of the noise reduction Depth will decrease it.

A word about broadband noise reduction

A basic broadband noise reduction algorithm works by dividing a small "chunk" of sound into a large number of frequency-based components. This is done using a method called "fast fourier transform", or FFT for short. After the sound is divided, each component is examined, and the question is asked: "Is this component most likely caused by noise, or the original signal?" If the answer is that the most likely cause is noise, that component is removed or reduced, otherwise it is left alone. This is then repeated for the next "chunk" of sound, and so on.
One issue with this method is that sometimes the computer gets it wrong - a small frequency-related component of the sound may be caused partly by noise and partly by the original signal, or indeed mostly by the original signal. The more noise reduction you ask for, the more likely the computer is to get it wrong.
The results of "getting it wrong" is that parts of the sound that should be left alone are removed. This leads to the so-called "burbling" artifacts that characterise "too much" noise reduction.
If there is so much noise (or distortion, or other unwanted components) in a signal, then certain levels of noise reduction will produce burbling artifacts, but even so, still let some components of the noise or distortion through. In other words, there is both too much noise reduction, and not enough. The components of noise that are "let through" can however be quite interesting - reminiscent of scintillating chimes.
Water Glass was especially created to produce these different types of artifacts, although you can also use it as a "normal" noise reduction plugin.

Buffers and Latency

The following comments are based on the maximum Granularity setting. Lower settings are less likely to cause significant delays.

Water Glass uses FFT (fast fourier transform) to perform pitch tracking and morphing filtering. This is a powerful mathematical technique, but it needs to work on rather large chunks of audio data at once (around 100 milliseconds). However, if you like to use VSTi and DXi soft synths, you probably have your PC and audio host app set up for low latency – which means that processing plugins like Water Glass are only passed very small chunks of data (sometimes less than 10 milliseconds).
If you are running the DirectX version of Water Glass, and it decides that the buffers are too small, it switches to Buffer Accumulate Mode. When this happens, Water Glass will introduce a short delay between the input and output, because it has to "accumulate" a buffer full before it can process, meaning that the output data is 100 ms "behind the times".
There are two things you can do about this: (1) go into your host app’s audio settings window, and increase the latency/buffer sizes, or (2) drag the audio data 100 ms to the left after processing it.
The VST version of Water Glass won’t exhibit this delay under most hosts, because VST is able to "tell" the host that there is a delay, and the host can compensate by "nudging" things forward a bit.
If the latency is very low, the CPU utilisation of Water Glass will become erratic. This is easily explained: for most of the time (perhaps four out of every five "little" buffers passed in) the plugin is doing very little work, just "passing on" data that it has already processed. But then once a buffer has accumulated, it does a processing operation on the accumulated "big" chunk. If this uneven CPU usage causes problems, you may need to reduce your latency settings. For most apps this is done with an audio settings dialog, but for Steinberg products like Cubase and Wavelab, you have to go to your soundcard's ASIO settings dialog.