[PD-dev] a little bit of help please?

J. Scott Hildebrand jshildebrand at ucdavis.edu
Sat Sep 7 00:35:41 CEST 2002


       most of this patch was done by marius but i added some stuff to it.
i'm getting a seg fault when i start to compute audio, and i've been
tinkering with it for a while to try and figure out where... but no go. i
think it's probably something to do with the array sizes but i'm not sure
at all. if people would be kind enough to take a look and help me out
that'd be cool. i think it's pretty straightforward because i can even
understand everything that's goin on :) there's a WAV file in there that
can be anything, and i don't even have my external hooked up yet so that
shouldn't have anything to do with the problem. thanks!

                                  scotty




--------------------------------------------------------------------

	"640K ought to be enough for anybody." -- Bill Gates, 1981

--------------------------------------------------------------------
-------------- next part --------------
#N canvas 709 482 552 475 10;
#X text 2 174 any input signal you want -->;
#N canvas 12 482 667 475 fft-convolution 1;
#N canvas 12 60 450 300 graph1 0;
#X graph graph1 0 -1 511 1 100 160 300 20;
#X array array1 512 float 1;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0;
#X pop;
#X restore 556 83 graph;
#X obj 71 147 tabreceive~ array1;
#X text 89 65 overlap of 2 means that after 128 samples another routine
is started and at the outlet added...;
#X text 551 199 don't worry \, the display is only renewed maybe every
second \, but the content actually changes every 128 samples (2.8 ms)
;
#X obj 71 176 rfft~;
#X obj 71 431 outlet~;
#X obj 71 237 *~;
#X obj 96 237 *~;
#X obj 230 178 rfft~;
#X obj 230 239 *~;
#X obj 255 239 *~;
#X obj 230 147 tabreceive~ filter;
#X obj 71 377 rifft~;
#X text 313 243 convolution;
#X text 317 314 normalize;
#N canvas 721 40 450 300 graph2 0;
#X graph graph2 0 -1 511 1 100 160 300 20;
#X array filter 512 float 1;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0;
#X pop;
#X restore 555 294 graph;
#X obj 71 270 -~;
#X obj 230 271 +~;
#X obj 101 35 block~ 512 2;
#X obj 71 319 /~ 65536;
#X obj 230 315 /~ 65536;
#X connect 1 0 4 0;
#X connect 4 0 6 0;
#X connect 4 0 10 1;
#X connect 4 1 7 0;
#X connect 4 1 9 1;
#X connect 6 0 16 0;
#X connect 7 0 16 1;
#X connect 8 0 9 0;
#X connect 8 0 6 1;
#X connect 8 1 10 0;
#X connect 8 1 7 1;
#X connect 9 0 17 0;
#X connect 10 0 17 1;
#X connect 11 0 8 0;
#X connect 12 0 5 0;
#X connect 16 0 19 0;
#X connect 17 0 20 0;
#X connect 19 0 12 0;
#X connect 20 0 12 1;
#X restore 235 294 pd fft-convolution;
#X obj 289 366 dac~;
#N canvas 4 20 450 300 graph3 0;
#X restore 475 -91 graph;
#X msg 674 94 \; filterarray const 0;
#X obj 67 343 tabwrite~ input;
#X obj 235 326 tabwrite~ output;
#N canvas 0 0 450 300 graph4 0;
#X restore 556 220 graph;
#N canvas 8 40 450 300 graph4 0;
#X restore 556 326 graph;
#X msg 48 237 bang;
#X obj 67 293 delwrite~ calctime 10;
#X obj 67 316 delread~ calctime 3;
#X text 85 235 compare input with output signal;
#X text 359 294 <-- filter;
#X msg 290 -1 open archim20.WAV;
#X msg 205 31 0;
#X msg 246 31 1;
#X obj 255 112 readsf~;
#X obj 242 -28 t b b;
#X obj 191 -57 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#N canvas 8 3 668 378 split_in_256_sample_slices 1;
#X obj 55 -26 inlet~;
#X obj 55 13 tabsend~ array1;
#X obj 71 279 tabsend~ filter;
#X text 182 278 the same with the filter;
#X obj 191 -26 block~ 256;
#X text 34 52 sends portions of 256 samples to "array1" (which is located
in "pd fft-convolution");
#X text 33 95 array1 is 512 samples long \, so the rest stays 0;
#X obj 71 254 tabreceive~ filterarray;
#X obj 189 142 hsl 128 15 1 25 0 0 empty empty empty 20 8 0 8 -260818
-1 -1 3300 1;
#X obj 189 175 hsl 128 15 1 50 0 0 empty empty empty 20 8 0 8 -44926
-1 -1 8600 1;
#X obj 87 214 overlap~;
#X text 330 140 azimuth;
#X text 330 173 elevation;
#X graph graph4 0 -1 255 1 521 221 721 81;
#X array filterarray 256 float 1;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X pop;
#X connect 0 0 1 0;
#X connect 7 0 2 0;
#X connect 8 0 10 2;
#X connect 9 0 10 3;
#X restore 221 173 pd split_in_256_sample_slices;
#X graph graph6 0 -1 63 1 85 542 285 402;
#X array input 64 float 1;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X pop;
#X graph graph7 0 -1 63 1 351 541 551 401;
#X array output 64 float 1;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X pop;
#X connect 1 0 6 0;
#X connect 1 0 2 0;
#X connect 9 0 5 0;
#X connect 9 0 6 0;
#X connect 11 0 5 0;
#X connect 14 0 17 0;
#X connect 15 0 17 0;
#X connect 16 0 17 0;
#X connect 17 0 20 0;
#X connect 17 0 10 0;
#X connect 18 0 16 0;
#X connect 18 1 14 0;
#X connect 19 0 18 0;


More information about the Pd-dev mailing list