[sdiy] Dithering 8-bit waveforms (was Re: PPG or Prophet VS waves for class)
Olivier Gillet
ol.gillet at gmail.com
Wed Jul 18 01:29:51 CEST 2012
> Does dithering the waveform data give a noticeable improvement, Olivier? Or is it something that's supposed to help but doesn't make much audible difference? (Not that I'm knocking that - a lot of 'good practice' stuff is in that category!)
With a 8-bit resolution and for very pure tones - sine waves and
drawbar-like sounds - the difference is very easy to spot, not just
audiophile nitpicking. Dithering removes the "metallic" quality of the
tone due to the first high harmonics in the quantization noise, and
spread the noise more evenly - it sounds like a "rounder" tone but
with more uniform hiss. When the sine table is used as a carrier or
modulator for FM, there's also a difference in harshness which can be
more drastic.
I can't say that one is superior to the other, it's a matter of
preferences, so you should try both. I prefer the dithered version
because the hiss goes out easily with a LPF set on moderate cutoff -
while the metallic overtone is harder to smooth with a VCF.
Here is a simple test with first-order dithering:
http://dl.dropbox.com/u/612135/flavors_of_8bit_sine.zip
Which is as simple as:
x = np.hstack((numpy.zeros(1,), np.cumsum(x)))
x = np.round(x)
x = np.diff(x)
Olivier
More information about the Synth-diy
mailing list