DPW4Saw Sawtooth via 4th order differerentiated polynomial waveform


DPW4Saw.ar(freq, mul, add )


Differentiated polynomial waveforms described in their technicalities here:

Vesa Valimaki, Juhan Nam, Julius O. Smith and Jonathan S. Abel 

Alias-Suppressed Oscillators Based on Differentiated Polynomial Waveforms

IEEE Transactions on Audio, Speech, and Language Processing 18(4) May 2010, pp 786--798


Internally, uses DPW2 (quadratic polynomial) for frequencies below 400Hz, with a crossfade in the 400-600Hz region to DPW4. DPW4 behaves well then for higher frequencies. 


Slightly less efficient than Saw when lots of UGens running, very slightly duller sound. 


See also: BlitB3Saw, DPW3Tri



{ DPW4Saw.ar(XLine.kr(2000, 20, 10)) }.play; 


{ DPW4Saw.ar(MouseX.kr(20,12000,'exponential'))*0.5 }.play;


{Saw.ar(MouseX.kr(20,12000,'exponential'))}.play



//DPW4Saw less efficient than the already band limited Saw UGen

{ Mix(DPW4Saw.ar(Array.rand(100,50,5000))*0.01) }.play;


{ Mix(Saw.ar(Array.rand(100,50,5000))*0.01) }.play;