Wave Wraper

Sean Costello costello at seanet.com
Mon Jun 21 19:55:32 CEST 1999


Thierry Rochebois wrote:
> 
> >> I own a Clavia micromodular synth which includes this kind of
> >> effect. As it is digital and as this effect adds bunches of harmonics,
> >> it aliases !
> >>
> >Is that indended aliasing or bad design?
> 
> Maybe "bad design". In fact, it is very hard to avoid aliasing when using
> nonlinear functions in the digital domain !
> One of the simplest solution is oversampling but it uses a lots of
> CPU or DSP power.

This is disappointing, that the Nord Modular didn't try to implement any sort of anti-aliasing
techniques. A true "analog modelling" synth should be able to avoid aliasing wherever possible. It
seems like the Nord Modular implemented some standard digital synthesis techniques, put knobs on it,
and called it "virtual analog." 

"Wave wrapping" is very easy to implement in the digital realm. Here is an example from Csound (this
is the inner loop from Gabriel Maldonado's mirror ugen, in C):

do {     
	xsig = *asig++;
	while ((xsig > xhigh) || ( xsig < xlow )) {	
		if (xsig > xhigh)	  
			xsig = xhigh + xhigh - xsig;
		else xsig = xlow + xlow - xsig;
		}
	*adest++ = xsig;
} while (--loopcount);

This produces a very nice sound when applied to a sine wave. True, aliasing emerges, but it still
sounds great.

Sean Costello





More information about the Synth-diy mailing list