[sdiy] [synth-diy] numerically controlled superoscillator without hard sync

Scott Nordlund gsn10 at hotmail.com
Tue Feb 11 06:00:08 CET 2014


I've done this in software, by constraining oscillator frequency to integer divisions of the (fixed) sample rate. It works well. You can synthesize any arbitrary waveform at any frequency and apply any nonlinearity, hard clipping, oscillator sync, etc. The aliases will fall back onto the harmonic series, distorting the waveform and timbre slightly but resulting in no inharmonicity. But there are some complications. Most obviously, frequency resolution is limited, as in divide-by-n variable playback sample rate systems. This is less of an issue than the divide-by-n machines because it's the complete waveform period that's constrained to an integer number of samples, rather than each sample clock pulse itself. Thus you can get reasonable-ish frequency resolution using a fixed sample rate of 96 or 192 kHz or so, rather than a clock frequency of 8 MHz (in the case of many samplers). And I've developed further improvements to make this work a little better. A bigger problem is that any modulation or variation over time isn't necessarily going to be well-behaved. Continuous pitch modulation is problematic because the nature of the spectral distortion depends on pitch. A static waveform is exactly periodic, but a continuous sweep actually resembles ordinary aliasing. Other forms of modulation essentially only happen discontinuously. Consider the case where you're adding a sub-audio phase shift to a sawtooth wave: the phase shift slightly shifts the frequency, the sawtooth's discontinuity only moves one sample at a time, and it produces the exact same result as playing the shifted frequency with no frequency constraint at all. So adding a little bit of phase modulation negates the whole thing, and it's a trivial sawtooth, aliasing and all. Things like FM with detuned operators, PWM, etc. have similar problems. The result isn't always objectionable, particularly if you're going for a "chiptune" sort of sound where modulation is typically discontinuous anyway, but it's something to be aware of.

> Date: Mon, 10 Feb 2014 09:55:44 +0800
> From: andy at cytomic.com
> To: rsdio at sounds.wa.com
> CC: synth-diy at dropmix.xs4all.nl
> Subject: Re: [sdiy] [synth-diy] numerically controlled superoscillator without hard sync
> 
> On 10 February 2014 04:34, <rsdio at sounds.wa.com> wrote:
> 
>> One thing's for sure: if you draw simple waveforms like square, ramp, etc., then you'll have awful aliasing.
> 
> If you output the simple waveform at a fraction of the DACs sample
> rate sure, but if you remain at an integer multiple of the DACs sample
> rate the "awful aliasing" will remain locked on top of the harmonics
> to change their amplitude but otherwise not be audible as inharmonic
> tones.
> 
> Andy
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy 		 	   		  


More information about the Synth-diy mailing list