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.