1class:: DPW3Tri 2summary:: Triangle via 3rd order differerentiated polynomial waveform 3related:: Classes/DPW4Saw, Classes/BlitB3Tri 4categories:: UGens>Generators>Deterministic 5 6Description:: 7 8Distortion creeps in for changes at low frequencies when under 200Hz. But very clean above that. 9 10classmethods:: 11 12method::ar 13 14argument::freq 15 16 17Examples:: 18 19code:: 20 21//distortion creeps in under 200Hz 22{ DPW3Tri.ar(XLine.kr(2000, 20, 10)) }.play; 23 24//very fast sweeps can have transient distortion effects 25{ DPW3Tri.ar(MouseX.kr(200,12000,'exponential')) }.play; 26 27//compare: 28{LFTri.ar(MouseX.kr(200,12000,'exponential'))}.play 29 30 31//less efficient than LFTri 32{ Mix(DPW3Tri.ar(Array.rand(10,50,5000))*0.1) }.play; 33 34{ Mix(LFTri.ar(Array.rand(10,50,5000))*0.1) }.play; 35 36 37//triangle is integration of square wave; warning loud, not so kind 38{Integrator.ar(Pulse.ar(MouseX.kr(440,8800),0.5),0.99)}.play 39 40//differentiation of triangle is square 41{HPZ1.ar(2.0*DPW3Tri.ar(MouseX.kr(440,8800)))}.play 42 43//compare 44{Pulse.ar(MouseX.kr(440,8800),0.5)}.play 45 46 47:: 48