aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vasp/pd-ex/convolve.pd
blob: 8fe41faf1fcdaad06083a972f152c4fd17b041c6 (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
#N canvas 84 222 646 423 12;
#X obj 60 241 bng 50 250 50 0 start_bang empty start 0 -6 128 8 -24198
-1 -1;
#X text 15 77 load/save/play etc.;
#X obj 364 125 nbx 8 16 0 1e+008 0 0 len_src empty empty 0 -8 128 12
-225271 -1 -1 0 256;
#X text 367 142 (defines the size of the result);
#X obj 362 179 nbx 8 16 0 1e+008 0 0 len_arg empty empty 0 -8 128 12
-225271 -1 -1 0 256;
#X obj 24 122 wedit buf_src;
#X obj 23 176 wedit buf_arg;
#X obj 33 350 wedit buf_res;
#X text 122 255 start convolution;
#X obj 177 356 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
-1;
#X obj 201 357 nbx 8 16 0 1e+008 0 0 len_arg empty empty 0 -8 128 12
-261689 -1 -1 1.04858e+006 256;
#X obj 11 10 cnv 15 600 50 empty empty convolve 10 22 0 24 -260818
-1 0;
#X text 202 41 http://www.parasitaere-kapazitaeten.net;
#X text 203 10 fft-based convolution \, (C)2003 Thomas Grill;
#X text 203 25 needs vasp and wedit;
#X text 32 329 result buffer;
#X text 140 121 source buffer;
#X text 137 175 argument buffer;
#N canvas 225 110 484 406 do 0;
#X obj 27 255 vasp.u;
#N canvas 406 75 413 555 convolve 0;
#X obj 217 202 vasp.!;
#X obj 116 163 vasp.f?;
#X obj 216 173 vasp;
#X obj 28 69 vasp;
#N canvas 0 0 458 308 sf 0;
#X obj 39 178 outlet;
#X obj 38 43 inlet;
#X obj 41 79 vasp.s;
#X obj 120 43 inlet;
#X obj 39 118 vasp.f;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 3 0 4 1;
#X connect 4 0 0 0;
#X restore 215 273 pd sf;
#X obj 53 452 vasp.opt;
#X obj 54 207 vasp;
#X obj 29 39 inlet;
#X obj 132 51 inlet;
#X obj 221 50 inlet;
#X obj 313 50 inlet;
#X obj 43 520 outlet;
#X text 26 15 bang;
#X text 126 21 src1;
#X text 218 20 src2;
#X text 313 22 dst;
#X text 214 220 copy to temp;
#X text 100 519 dst;
#N canvas 0 0 454 304 sf 0;
#X obj 39 178 outlet;
#X obj 38 43 inlet;
#X obj 41 79 vasp.s;
#X obj 120 43 inlet;
#X obj 39 118 vasp.f;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 3 0 4 1;
#X connect 4 0 0 0;
#X restore 55 235 pd sf;
#X obj 29 298 vasp.->;
#X obj 27 482 vasp.radio;
#X obj 29 94 t a b a;
#X obj 54 393 vasp.cconv;
#X obj 56 259 vasp.= 0;
#N canvas 0 0 452 302 im0 0;
#X obj 32 51 inlet;
#X obj 31 250 outlet;
#X obj 32 83 t a b a;
#X obj 102 121 vasp.f?;
#X obj 60 153 vasp.!;
#X obj 32 210 vasp.join;
#X text 31 10 make empty imaginary part;
#X text 115 153 temporary buffer of same size;
#X text 115 171 (initialized to 0);
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 4 0;
#X connect 2 2 3 0;
#X connect 3 0 4 1;
#X connect 4 0 5 1;
#X connect 5 0 1 0;
#X restore 54 363 pd im0;
#N canvas 0 0 452 302 im0 0;
#X obj 32 51 inlet;
#X obj 31 250 outlet;
#X obj 32 83 t a b a;
#X obj 102 121 vasp.f?;
#X obj 60 153 vasp.!;
#X obj 32 210 vasp.join;
#X text 31 10 make empty imaginary part;
#X text 115 153 temporary buffer of same size;
#X text 115 171 (initialized to 0);
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 4 0;
#X connect 2 2 3 0;
#X connect 3 0 4 1;
#X connect 4 0 5 1;
#X connect 5 0 1 0;
#X restore 129 363 pd im0;
#X obj 53 424 vasp.re;
#X obj 116 192 rndup2;
#X obj 54 329 vasp.f;
#X text 186 365 make imaginary parts;
#X text 116 423 need only real part;
#X text 124 451 "normalize";
#X text 116 482 filter eventual radio msgs;
#X connect 0 0 4 0;
#X connect 1 0 27 0;
#X connect 2 0 0 0;
#X connect 3 0 21 0;
#X connect 4 0 25 0;
#X connect 5 0 20 0;
#X connect 6 0 18 0;
#X connect 7 0 3 0;
#X connect 8 0 3 1;
#X connect 9 0 2 1;
#X connect 10 0 6 1;
#X connect 18 0 23 0;
#X connect 19 1 28 0;
#X connect 20 1 11 0;
#X connect 21 0 19 0;
#X connect 21 1 2 0;
#X connect 21 1 6 0;
#X connect 21 2 1 0;
#X connect 22 0 26 0;
#X connect 23 0 19 1;
#X connect 24 0 22 0;
#X connect 25 0 22 1;
#X connect 26 0 5 0;
#X connect 27 0 18 1;
#X connect 27 0 4 1;
#X connect 27 0 28 1;
#X connect 28 0 24 0;
#X restore 26 226 pd convolve;
#X obj 26 52 t b b;
#X msg 154 93 vasp buf_arg;
#X msg 267 92 vasp buf_res;
#X obj 306 220 table buf_src 10;
#X obj 307 242 table buf_arg 10;
#X obj 307 264 table buf_res 10;
#X obj 26 23 r start_bang;
#X obj 143 21 r len_src;
#X obj 229 24 r len_arg;
#X obj 25 318 outlet;
#X obj 27 291 vasp.f?;
#X text 83 255 update buffer;
#X obj 147 159 vasp.f;
#X obj 43 157 vasp.f;
#X msg 45 93 vasp buf_src;
#X obj 141 51 r off_src;
#X obj 227 54 r off_arg;
#X obj 43 125 vasp.o;
#X obj 147 127 vasp.o;
#X text 123 225 convolve;
#X connect 0 0 12 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 2 1 4 0;
#X connect 2 1 16 0;
#X connect 3 0 20 0;
#X connect 4 0 1 3;
#X connect 8 0 2 0;
#X connect 9 0 15 1;
#X connect 10 0 14 1;
#X connect 12 0 11 0;
#X connect 14 0 1 2;
#X connect 15 0 1 1;
#X connect 16 0 19 0;
#X connect 17 0 19 1;
#X connect 18 0 20 1;
#X connect 19 0 15 0;
#X connect 20 0 14 0;
#X restore 177 324 pd do;
#X obj 267 125 nbx 8 16 0 1e+008 0 0 off_src empty empty 0 -8 128 12
-225271 -1 -1 0 256;
#X obj 265 179 nbx 8 16 0 1e+008 0 0 off_arg empty empty 0 -8 128 12
-225271 -1 -1 0 256;
#X text 383 103 length;
#X text 288 100 offset;
#X text 286 78 range in samples;
#X connect 18 0 9 0;
#X connect 18 0 10 0;