Update of /cvsroot/pure-data/externals/windowing In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7349/windowing
Modified Files: blackman~-help.pd hanning~-help.pd Added Files: bartlett~-help.pd gaussian~-help.pd kaiser~-help.pd lanczos~-help.pd welch~-help.pd Log Message: Help files for windowing are complete! So now we have easy block-sized windows. Hurrah! Ek
--- NEW FILE: kaiser~-help.pd --- #N canvas 256 141 557 517 10; #X obj 4 479 cnv 15 550 20 empty $0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 4 -17 cnv 15 550 40 empty $0-pddp.cnv.header kaiser~ 3 12 0 18 -204280 -1 0; #X obj 3 239 cnv 3 550 3 empty $0-pddp.cnv.inlets inlets 15 12 0 13 -228856 -1 0; #X obj 3 319 cnv 3 550 3 empty $0-pddp.cnv.outlets outlet 15 12 0 13 -228856 -1 0; #X obj 3 359 cnv 3 550 3 empty $0-pddp.cnv.more_info more_info 15 12 0 13 -228856 -1 0; #X obj 72 259 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X text 168 40 formula:; #X obj 97 126 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144 -1 -1 7000 1; #X msg 94 106 1; #X obj 94 86 loadbang; #X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function -text wikipedia: window functions; #X obj 438 -14 import windowing; #X msg 36 154 ; pd dsp 1; #X text 21 125 height --->; #X obj 127 149 sig~ 1; #N canvas 0 0 450 300 graph3 0; #X array $0-kaiser 64 float 0; #X coords 0 1 63 -1 200 140 1; #X restore 326 65 graph; #X text 103 396 Windowing functions are used with FFTs. These transform the signal block-by-block into a spectral representation whose resolution in both the frequency and time domains are proportional to their size (as a power-of-two in PD). The different windows have different characteristics in terms of stopband attenuation and noise bandwidth.; #X text 102 258 SIGNAL: the height (amplitude) of the window is controlled by the signal on its inlet.; #X obj 197 126 hsl 81 15 1 240 1 0 empty empty empty -2 -6 0 10 -262144 -1 -1 3361 1; #X floatatom 192 145 5 0 0 0 - - -; #X obj 127 172 kaiser~; #X obj 127 198 tabsend~ $0-kaiser; #X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/kaiser~ -text pdpedia: kaiser~; #X text 169 84 modified Bessel function; #X text 169 70 where Io is 0th order; #X text 168 55 Io(a*sqrt(1-x^2))/Io(a); #X text 103 327 SIGNAL: a kaiser (exponential decay) window with size=dsp blocksize; #X msg 121 106 10; #X obj 102 379 pddp/pddplink http://en.wikipedia.org/wiki/Kaiser_window -text wikipedia: kaiser window; #X text 102 284 FLOAT: the narrowness of the kaiser window is controlled by floats in the inlet; #X text 15 6 description: generates a kaiser window for each dsp block ; #X connect 7 0 14 0; #X connect 8 0 7 0; #X connect 9 0 8 0; #X connect 9 0 27 0; #X connect 14 0 20 0; #X connect 18 0 19 0; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 27 0 18 0;
--- NEW FILE: welch~-help.pd --- #N canvas 256 141 560 517 10; #X obj 4 479 cnv 15 550 20 empty $0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 4 -17 cnv 15 550 40 empty $0-pddp.cnv.header welch~ 3 12 0 18 -204280 -1 0; #X obj 3 239 cnv 3 550 3 empty $0-pddp.cnv.inlets inlets 15 12 0 13 -228856 -1 0; #X obj 3 299 cnv 3 550 3 empty $0-pddp.cnv.outlets outlet 15 12 0 13 -228856 -1 0; #X obj 3 359 cnv 3 550 3 empty $0-pddp.cnv.more_info more_info 15 12 0 13 -228856 -1 0; #X obj 72 259 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X text 168 40 formula:; #X obj 97 86 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144 -1 -1 7000 1; #X msg 94 66 1; #X obj 94 46 loadbang; #X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function -text wikipedia: window functions; #X obj 438 -14 import windowing; #X msg 36 154 ; pd dsp 1; #X text 21 85 height --->; #X obj 127 109 sig~ 1; #N canvas 0 0 450 300 graph3 0; #X array $0-welch 64 float 0; #X coords 0 1 63 -1 200 140 1; #X restore 326 65 graph; #X text 102 406 Windowing functions are used with FFTs. These transform the signal block-by-block into a spectral representation whose resolution in both the frequency and time domains are proportional to their size (as a power-of-two in PD). The different windows have different characteristics in terms of stopband attenuation and noise bandwidth.; #X text 102 258 SIGNAL: the height (amplitude) of the window is controlled by the signal on its inlet.; #X obj 127 158 tabsend~ $0-welch; #X obj 127 132 welch~; #X text 169 53 1-abs(x); #X obj 102 379 pddp/pddplink http://en.wikipedia.org/wiki/Welch_method -text wikipedia: Welch's method; #X obj 102 392 pddp/pddplink http://mathworld.wolfram.com/WelchApodizationFunction.html -text mathworld link; #X text 103 317 SIGNAL: a welch window with size=dsp blocksize; #X text 15 6 description: generates a welch window for each dsp block ; #X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/welch~ -text pdpedia: welch~; #X obj 73 319 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X connect 7 0 14 0; #X connect 8 0 7 0; #X connect 9 0 8 0; #X connect 14 0 19 0; #X connect 19 0 18 0;
--- NEW FILE: lanczos~-help.pd --- #N canvas 256 141 560 517 10; #X obj 4 479 cnv 15 550 20 empty $0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 4 -17 cnv 15 550 40 empty $0-pddp.cnv.header lanczos~ 3 12 0 18 -204280 -1 0; #X obj 3 239 cnv 3 550 3 empty $0-pddp.cnv.inlets inlets 15 12 0 13 -228856 -1 0; #X obj 3 299 cnv 3 550 3 empty $0-pddp.cnv.outlets outlet 15 12 0 13 -228856 -1 0; #X obj 3 359 cnv 3 550 3 empty $0-pddp.cnv.more_info more_info 15 12 0 13 -228856 -1 0; #X obj 72 259 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X text 168 40 formula:; #X obj 97 86 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144 -1 -1 7000 1; #X msg 94 66 1; #X obj 94 46 loadbang; #X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function -text wikipedia: window functions; #X obj 438 -14 import windowing; #X msg 36 154 ; pd dsp 1; #X text 21 85 height --->; #X obj 127 109 sig~ 1; #N canvas 0 0 450 300 graph3 0; #X array $0-lanczos 64 float 0; #X coords 0 1 63 -1 200 140 1; #X restore 326 65 graph; #X text 102 380 Windowing functions are used with FFTs. These transform the signal block-by-block into a spectral representation whose resolution in both the frequency and time domains are proportional to their size (as a power-of-two in PD). The different windows have different characteristics in terms of stopband attenuation and noise bandwidth.; #X text 102 258 SIGNAL: the height (amplitude) of the window is controlled by the signal on its inlet.; #X text 169 52 sin(pi*x)/(pi*x); #X text 15 6 description: generates a lanczos window for each dsp block ; #X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/lanczos~ -text pdpedia: lanczos~; #X obj 127 158 tabsend~ $0-lanczos; #X text 103 317 SIGNAL: a lanczos (sinc) window with size=dsp blocksize ; #X obj 127 132 lanczos~; #X obj 72 319 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X connect 7 0 14 0; #X connect 8 0 7 0; #X connect 9 0 8 0; #X connect 14 0 23 0; #X connect 23 0 21 0;
--- NEW FILE: bartlett~-help.pd --- #N canvas 256 141 557 517 10; #X obj 4 479 cnv 15 550 20 empty $0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 4 -17 cnv 15 550 40 empty $0-pddp.cnv.header bartlett~ 3 12 0 18 -204280 -1 0; #X obj 3 239 cnv 3 550 3 empty $0-pddp.cnv.inlets inlets 15 12 0 13 -228856 -1 0; #X obj 3 299 cnv 3 550 3 empty $0-pddp.cnv.outlets outlet 15 12 0 13 -228856 -1 0; #X obj 3 359 cnv 3 550 3 empty $0-pddp.cnv.more_info more_info 15 12 0 13 -228856 -1 0; #X obj 72 259 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X text 168 40 formula:; #X obj 97 86 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144 -1 -1 7000 1; #X msg 94 66 1; #X obj 94 46 loadbang; #X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function -text wikipedia: window functions; #X obj 438 -14 import windowing; #X msg 36 154 ; pd dsp 1; #X text 21 85 height --->; #X obj 127 109 sig~ 1; #N canvas 0 0 450 300 graph3 0; #X array $0-bartlett 64 float 0; #X coords 0 1 63 -1 200 140 1; #X restore 326 65 graph; #X text 102 394 Windowing functions are used with FFTs. These transform the signal block-by-block into a spectral representation whose resolution in both the frequency and time domains are proportional to their size (as a power-of-two in PD). The different windows have different characteristics in terms of stopband attenuation and noise bandwidth.; #X text 102 258 SIGNAL: the height (amplitude) of the window is controlled by the signal on its inlet.; #X obj 127 158 tabsend~ $0-bartlett; #X obj 127 132 bartlett~; #X text 169 53 1-x^2; #X text 103 317 SIGNAL: a bartlett (triangle) window with size=dsp blocksize; #X obj 102 380 pddp/pddplink http://mathworld.wolfram.com/BartlettFunction.html -text mathworld link; #X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/bartlett~ -text pdpedia: bartlett~; #X text 15 6 description: generates a bartlett window for each dsp block; #X obj 72 319 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X connect 7 0 14 0; #X connect 8 0 7 0; #X connect 9 0 8 0; #X connect 14 0 19 0; #X connect 19 0 18 0;
Index: hanning~-help.pd =================================================================== RCS file: /cvsroot/pure-data/externals/windowing/hanning~-help.pd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** hanning~-help.pd 13 Dec 2007 05:58:24 -0000 1.1 --- hanning~-help.pd 13 Dec 2007 07:06:52 -0000 1.2 *************** *** 48,51 **** --- 48,53 ---- #X text 102 258 SIGNAL: the height (amplitude) of the window is controled by the signal on its inlet.; + #X obj 72 319 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 + -162280 0; #X connect 6 0 25 0; #X connect 9 0 6 0;
Index: blackman~-help.pd =================================================================== RCS file: /cvsroot/pure-data/externals/windowing/blackman~-help.pd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** blackman~-help.pd 13 Dec 2007 05:58:24 -0000 1.1 --- blackman~-help.pd 13 Dec 2007 07:06:52 -0000 1.2 *************** *** 45,48 **** --- 45,50 ---- by the signal on its inlet.; #X obj 127 158 tabsend~ $0-blackman; + #X obj 73 319 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 + -162280 0; #X connect 7 0 15 0; #X connect 8 0 7 0;
--- NEW FILE: gaussian~-help.pd --- #N canvas 256 141 559 517 10; #X obj 4 479 cnv 15 550 20 empty $0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 4 -17 cnv 15 550 40 empty $0-pddp.cnv.header gaussian~ 3 12 0 18 -204280 -1 0; #X obj 3 239 cnv 3 550 3 empty $0-pddp.cnv.inlets inlets 15 12 0 13 -228856 -1 0; #X obj 3 319 cnv 3 550 3 empty $0-pddp.cnv.outlets outlet 15 12 0 13 -228856 -1 0; #X obj 3 359 cnv 3 550 3 empty $0-pddp.cnv.more_info more_info 15 12 0 13 -228856 -1 0; #X obj 72 259 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X text 168 40 formula:; #X obj 97 86 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144 -1 -1 7000 1; #X msg 94 66 1; #X obj 94 46 loadbang; #X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function -text wikipedia: window functions; #X obj 438 -14 import windowing; #X msg 36 154 ; pd dsp 1; #X text 21 85 height --->; #X obj 127 109 sig~ 1; #N canvas 0 0 450 300 graph3 0; #X array $0-gaussian 64 float 0; #X coords 0 1 63 -1 200 140 1; #X restore 326 65 graph; #X text 103 405 Windowing functions are used with FFTs. These transform the signal block-by-block into a spectral representation whose resolution in both the frequency and time domains are proportional to their size (as a power-of-two in PD). The different windows have different characteristics in terms of stopband attenuation and noise bandwidth.; #X text 102 258 SIGNAL: the height (amplitude) of the window is controlled by the signal on its inlet.; #X text 15 6 description: generates a gaussian window for each dsp block; #X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/gaussian~ -text pdpedia: gaussian~; #X obj 127 132 gaussian~; #X obj 127 158 tabsend~ $0-gaussian; #X text 103 327 SIGNAL: a gaussian window with size=dsp blocksize; #X obj 197 86 hsl 71 15 0 2 0 0 empty empty empty -2 -6 0 10 -262144 -1 -1 1750 1; #X floatatom 192 105 5 0 0 0 - - -; #X msg 121 66 0.5; #X text 102 284 FLOAT: the width of the gaussian distribution curve is controlled by floats in the inlet; #X text 169 54 2^(-(x/d)^2); #X obj 102 378 pddp/pddplink http://en.wikipedia.org/wiki/Gaussian_function -text wikipedia: gaussian function; #X obj 102 392 pddp/pddplink http://mathworld.wolfram.com/GaussianFunction.html -text mathworld link; #X obj 73 326 cnv 17 3 30 empty $0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X connect 7 0 14 0; #X connect 8 0 7 0; #X connect 9 0 8 0; #X connect 9 0 25 0; #X connect 14 0 20 0; #X connect 20 0 21 0; #X connect 23 0 24 0; #X connect 24 0 20 0; #X connect 25 0 23 0;