-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathss-tri~.pd
70 lines (70 loc) · 1.88 KB
/
ss-tri~.pd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#N canvas 1355 285 466 350 12;
#X obj 307 15 table \$0-waveform;
#N canvas 1200 341 509 453 build-table 0;
#X obj 160 -37 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 160 61 until;
#X obj 160 207 list trim;
#X obj 160 3 t b b;
#X obj 135 236 list;
#X obj 135 265 list trim;
#X obj 160 32 f 5;
#X obj 160 90 count 5;
#X obj 47 185 select 4;
#X obj 135 294 s \$0-waveform;
#X msg 47 236 normalize 1;
#X obj 47 211 t b b;
#X obj 68 -64 r \$0-harmonics;
#X obj 100 157 - 1;
#X text 11 -83 generate the table data;
#X obj 68 -38 t b f;
#X obj 160 119 + 1;
#X obj 160 149 expr ($f1 % 2) * (1 / pow($f1 \, 2)) * if((($f1 + 1)
% 4) == 0 \, -1 \, 1), f 68;
#X text 224 -72 the math:- even harmonics are 0- odd harmonics are
1 / f^2- every other odd harmonic is *= -1;
#X msg 332 115 sinesum 2048;
#X obj 160 178 list prepend sinesum 2048;
#X connect 0 0 3 0;
#X connect 1 0 7 0;
#X connect 2 0 4 1;
#X connect 2 0 20 1;
#X connect 3 0 6 0;
#X connect 3 1 19 0;
#X connect 4 0 5 0;
#X connect 5 0 9 0;
#X connect 6 0 1 0;
#X connect 7 0 8 0;
#X connect 7 0 16 0;
#X connect 8 0 11 0;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X connect 11 1 4 0;
#X connect 12 0 15 0;
#X connect 13 0 8 1;
#X connect 15 0 3 0;
#X connect 15 1 6 1;
#X connect 15 1 7 1;
#X connect 15 1 13 0;
#X connect 16 0 17 0;
#X connect 17 0 20 0;
#X connect 19 0 20 1;
#X connect 20 0 2 0;
#X restore 307 44 pd build-table;
#X obj 307 102 f \$2;
#X obj 307 131 s \$0-harmonics;
#X text 6 10 sinesum triangle wavemade of an arbitrary number of harmonicsargs:1
- freq (hz)2 - number of harmonics http://write.flossmanuals.net/pure-data/generating-waveforms/
, f 41;
#X obj 6 213 outlet~;
#X obj 6 163 inlet~;
#X obj 307 73 initbang;
#X obj 381 73 inlet;
#X obj 381 102 int;
#X obj 6 188 tabosc4~ \$0-waveform;
#X connect 2 0 3 0;
#X connect 6 0 10 0;
#X connect 7 0 2 0;
#X connect 8 0 9 0;
#X connect 9 0 3 0;
#X connect 10 0 5 0;