aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/B06.table.switching.pd
blob: 558f91c4978bbce23fcc08815be96bb72a97a49c (plain)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#N canvas 55 137 835 504 12;
#X graph graph1 0 -1.02 130 1.02 565 153 823 23;
#X array waveshape15a 131 float 1;
#A 0 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.863077
0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077
0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077
0.863077 0.863077 0.863077 0.863077 0.863077 0.831692 0.847385 0.847385
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
0.847385 0.863077 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
-0.800308 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.768923 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.768923 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.800308 -0.800308
-0.800308 -0.800308 -0.800308 -0.800308 -0.800308;
#X pop;
#X floatatom 194 299 0 0 100;
#N canvas 159 26 532 285 output 0;
#X obj 338 160 t b;
#X obj 338 110 f;
#X obj 338 60 inlet;
#X text 344 29 mute;
#X obj 338 185 f;
#X msg 426 180 0;
#X msg 338 85 bang;
#X obj 338 135 moses 1;
#X obj 397 110 moses 1;
#X obj 83 148 dbtorms;
#X obj 397 85 r master-lvl;
#X obj 83 42 r master-lvl;
#X obj 338 210 s master-lvl;
#X obj 20 155 inlet~;
#X obj 199 41 inlet;
#X text 199 18 level;
#X obj 199 105 s master-lvl;
#X msg 96 65 set \$1;
#X obj 96 90 outlet;
#X msg 214 65 \; pd dsp 1;
#X obj 83 198 line~;
#X obj 20 207 *~;
#X obj 20 232 dac~;
#X obj 83 173 pack 0 50;
#X text 20 132 audio;
#X text 96 114 show level;
#X obj 426 155 t b;
#X obj 20 181 hip~ 1;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 12 0;
#X connect 5 0 12 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 26 0;
#X connect 8 1 4 1;
#X connect 9 0 23 0;
#X connect 10 0 1 1;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 11 0 17 0;
#X connect 13 0 27 0;
#X connect 14 0 16 0;
#X connect 14 0 19 0;
#X connect 17 0 18 0;
#X connect 20 0 21 1;
#X connect 21 0 22 0;
#X connect 21 0 22 1;
#X connect 23 0 20 0;
#X connect 26 0 5 0;
#X connect 27 0 21 0;
#X restore 156 327 pd output;
#X msg 232 300 MUTE;
#X text 581 481 updated for Pd version 0.34;
#X text 33 8 SWITCHING BETWEEN TABLES;
#X graph graph1 0 -1.02 130 1.02 565 308 823 178;
#X array waveshape15b 131 float 1;
#A 0 -0.659077 -0.643385 -0.643385 -0.627692 -0.612 -0.612 -0.596308
-0.596308 -0.580615 -0.580615 -0.580615 -0.580615 -0.580615 -0.580615
-0.580615 -0.596308 -0.596308 -0.596308 -0.596308 -0.596308 -0.596308
-0.596308 -0.596308 -0.580615 -0.580615 -0.580615 -0.580615 -0.580615
-0.580615 -0.580615 -0.580615 -0.564923 -0.549231 -0.549231 -0.533538
-0.517846 -0.517846 -0.517846 -0.517846 -0.517846 -0.517846 -0.517846
-0.517846 -0.533538 -0.549231 -0.580615 -0.580615 0.847385 0.847385
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.863077
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 -0.800308 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.768923 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.768923 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
-0.784615 -0.784615 -0.784615 -0.800308 -0.800308 -0.800308 -0.800308
-0.800308 -0.800308 -0.800308;
#X pop;
#X obj 156 274 tabosc4~ waveshape15a;
#X obj 156 186 sig~ 110;
#X msg 181 215 set waveshape15a;
#X msg 182 244 set waveshape15b;
#X text 20 51 During a performance you're unlikely to want to draw
or recalculate wavetables on the fly \, because you don't want to give
Pd computationally intensive atomic tasks that could make Pd miss a
DAC deadline. Instead \, use "set" mesages to switch tabosc~ or tabread4~
between pre-prepared tables. Indeed \, you will eventually want to
save screen space by throwing all your wavetables in a subpatch somewhere.
;
#X obj 161 401 table waveshape15c 131;
#X text 41 362 There's also a "text object" hook so that you can have
arrays with parametrizable names and sizes:;
#X text 31 431 You would use this if you want to include one or more
arrays in an abstraction. In this invocation you can't save the state
of the array--instead \, juts read it in from a file or calculate it
at startup.;
#X connect 1 0 2 1;
#X connect 2 0 1 0;
#X connect 3 0 2 2;
#X connect 7 0 2 0;
#X connect 8 0 7 0;
#X connect 9 0 7 0;
#X connect 10 0 7 0;