[sdiy] jitter, warmth, and so on

Antti Huovilainen ajhuovil at cc.hut.fi
Sat Apr 22 00:52:35 CEST 2006


On Fri, 21 Apr 2006, John Mahoney wrote:

> 	1) Assemble a set of audio files containing sound samples of various 
> oscillators.

This is in principle a good idea, but it is unlikely that the differences 
would be audible in solo oscillators (how many really "fat/warm" single 
oscillator synths do you know?)

> Does that make sense? If so, we need to start with:
> 	0) Establish a standard format for the audio samples. Say, 24-bits, 
> 44.1K or 96K sampling rate, and audio frequencies of 55, 220, 880, and 1760

24 vs 16 bits makes no difference here - the dynamic range is non-existant 
(it's an oscillator afterall) and how many oscillators have noise level 
below -100 dB?

> Hz (A in various octaves). WAV files, not MP3, right? (Oh... Should the audio 
> frequencies be factors of 44100 so the wavelengths are whole numbers of 
> samples? At least, programmatically generated waves can be such.)

No. This would require all VCOs to be exactly stable with no jitter 
etc. At which point they would already be equivalent and this test would 
be pointless.
This is also absolutely not a requirement for the digital waves. Any 
halfway decent digital oscillator (which probably counts out CSound and 
vast majority of modular environments) can be made alias-free at any 
reasonably low frequency (< 4 khz).

> As things progress, we can use tricks such as taking single cycles from 
> certain oscs and looping them, in order to preserve unique waveshapes while 
> removing jitter. I believe that this technique has been used already (by 
> Elhardt) but I'm not sure.

This is not as simple as it sounds. In general the period will not be 
integer number of samples long, so you'd need to loop at fractional 
points. Not a problem when you know how to do it, but I'd be willing to 
bet that 99.9% of people on the list don't know enough DSP to do it well 
(linear interpolation will not be enough if you want to be sure the 
difference / artifacts are due to the VCO and not your looping).

> David Cornutt used Csound (as I recall) to generate waves with certain 
> characteristics, and this will also be a very useful technique.

I will disagree here. From what I've seen CSound modules are between 
somewhat decent for a starter to abysmal (in the absolute quality sense, I 
make no claims how you can use them in music).

I'd be happy to synthesize any required tones in matlab. Just tell me 
the jitter, drift, reset time etc specs you want.

Sorry to shoot down the ideas, but I see way too often incorrect 
assumptions about digital processing.

Antti - soon to be M.Sc in audio signal processing

"No boom today. Boom tomorrow. There's always a boom tomorrow"
   -- Lt. Cmdr. Ivanova



More information about the Synth-diy mailing list