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