[PD] FFT and curve3d?

marius schebella marius.schebella at gmail.com
Wed Mar 11 09:25:39 CET 2009


Hans-Christoph Steiner wrote:
> 
> That's quite nice, you are quite the Gem master.  I was thinking of a 3D 
> view that incorporates time.  That's where the curve3d comes in.

a quick hack here is to add some feedback (see attached).
but I guess you want something more like this 
http://www.wakayama-u.ac.jp/~kawahara/PSSws/ (grab the videos)
marius.

> 
> .hc
> 
> On Mar 10, 2009, at 8:37 PM, Claude Heiland-Allen wrote:
> 
>> Hans-Christoph Steiner wrote:
>>> Anyone know of a patch that maps an FFT over time to something like a 
>>> curve3d in Gem?  I remember a while back people posted something like 
>>> that, but I can't find it.
>>> .hc
>>
>> I just knocked the attached together, doesn't use curve3d though..
>>
>> Claude
>> -- 
>> http://claudiusmaximus.goto10.org
>> #N canvas 0 0 450 405 10;
>> #X obj 20 14 adc~;
>> #X obj 12 108 table \$0-window 1024;
>> #N canvas 0 0 450 300 \$0-make-window 0;
>> #X obj 31 18 loadbang;
>> #X obj 10 19 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
>> -1;
>> #X obj 31 50 f 1024;
>> #X obj 31 80 until;
>> #X obj 30 104 f 0;
>> #X obj 77 101 + 1;
>> #X obj 77 121 mod 1024;
>> #X obj 30 156 / 512;
>> #X obj 30 177 * 3.14159;
>> #X obj 30 209 cos;
>> #X obj 30 230 * -0.5;
>> #X obj 30 256 + 0.5;
>> #X obj 29 279 tabwrite \$0-window;
>> #X obj 31 135 t f f;
>> #X connect 0 0 2 0;
>> #X connect 1 0 2 0;
>> #X connect 2 0 3 0;
>> #X connect 3 0 4 0;
>> #X connect 4 0 5 0;
>> #X connect 4 0 13 0;
>> #X connect 5 0 6 0;
>> #X connect 6 0 4 1;
>> #X connect 7 0 8 0;
>> #X connect 8 0 9 0;
>> #X connect 9 0 10 0;
>> #X connect 10 0 11 0;
>> #X connect 11 0 12 0;
>> #X connect 13 0 7 0;
>> #X connect 13 1 12 1;
>> #X restore 13 80 pd \$0-make-window;
>> #N canvas 0 238 450 300 \$0-fft-analysis 0;
>> #X obj 18 18 inlet~;
>> #X obj 86 121 block~ 1024 4 1;
>> #X obj 18 67 rfft~;
>> #X obj 18 98 *~;
>> #X obj 18 42 *~;
>> #X obj 45 98 *~;
>> #X obj 18 124 +~;
>> #X obj 17 177 sqrt~;
>> #X obj 65 43 tabreceive~ \$0-window;
>> #X obj 17 209 tabsend~ \$0-fft;
>> #X obj 18 151 /~ 1024;
>> #X connect 0 0 4 0;
>> #X connect 2 0 3 0;
>> #X connect 2 0 3 1;
>> #X connect 2 1 5 0;
>> #X connect 2 1 5 1;
>> #X connect 3 0 6 0;
>> #X connect 4 0 2 0;
>> #X connect 5 0 6 1;
>> #X connect 6 0 10 0;
>> #X connect 7 0 9 0;
>> #X connect 8 0 4 1;
>> #X connect 10 0 7 0;
>> #X restore 27 47 pd \$0-fft-analysis;
>> #X obj 12 128 table \$0-fft 256;
>> #X obj 26 234 gemwin;
>> #X obj 26 189 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
>> 1;
>> #X msg 52 191 create;
>> #X msg 55 211 destroy;
>> #X obj 192 27 gemhead;
>> #X obj 193 61 t a a a;
>> #X obj 182 90 GEMglEnd;
>> #X obj 238 89 GEMglBegin;
>> #X obj 295 62 GLdefine GL_LINES;
>> #X obj 295 32 loadbang;
>> #X obj 274 33 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
>> -1;
>> #X obj 211 230 gemlist;
>> #X obj 212 144 f 256;
>> #X obj 211 170 until;
>> #X obj 210 194 t b b;
>> #X obj 295 192 + 1;
>> #X obj 212 118 t b b a;
>> #X obj 278 168 f 0;
>> #X obj 264 191 f;
>> #X obj 212 269 GEMglVertex2f;
>> #X obj 297 242 tabread \$0-fft;
>> #X obj 212 309 GEMglVertex2f;
>> #X obj 297 282 * -1;
>> #X obj 265 217 / 32;
>> #X obj 263 242 - 4;
>> #X connect 0 0 3 0;
>> #X connect 0 1 3 0;
>> #X connect 6 0 5 0;
>> #X connect 7 0 5 0;
>> #X connect 8 0 5 0;
>> #X connect 9 0 10 0;
>> #X connect 10 0 11 0;
>> #X connect 10 1 21 0;
>> #X connect 10 2 12 0;
>> #X connect 13 0 12 1;
>> #X connect 14 0 13 0;
>> #X connect 15 0 13 0;
>> #X connect 16 0 24 0;
>> #X connect 17 0 18 0;
>> #X connect 18 0 19 0;
>> #X connect 19 0 16 0;
>> #X connect 19 1 23 0;
>> #X connect 20 0 23 1;
>> #X connect 21 0 17 0;
>> #X connect 21 1 22 0;
>> #X connect 21 2 16 1;
>> #X connect 22 0 23 1;
>> #X connect 23 0 20 0;
>> #X connect 23 0 25 0;
>> #X connect 23 0 28 0;
>> #X connect 24 0 26 0;
>> #X connect 25 0 24 2;
>> #X connect 25 0 27 0;
>> #X connect 27 0 26 2;
>> #X connect 28 0 29 0;
>> #X connect 29 0 24 1;
>> #X connect 29 0 26 1;
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------------- 
> 
> 
> Programs should be written for people to read, and only incidentally for 
> machines to execute.
>  - from Structure and Interpretation of Computer Programs
> 
> 
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fft-curve-gem.pd.zip
Type: application/zip
Size: 1963 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20090311/a8545f99/attachment-0001.zip>


More information about the Pd-list mailing list