[PD] [env~] issues

Raphaël Ilias phae.ilias at gmail.com
Sat Dec 13 23:14:37 CET 2014


Hi dear pd freaks,

I'm currently using [env~] for measurement purpose (room's sound
monitoring and soundfiles analysis) and I have a few questions/remarks
...that unfortunately may have already been discussed here (I have
been unsubscribed from the list since a couple of years).

However :

1)
Just noticed : the [env~] help patch (from PDDP) states that default
analysis window is 1024 samples, while it links to Miller's example
C07.envelope.follower.pd where you can read that the default window is
256 samples.


2)
AFAIK there is no way to dynamically (message) change the analysis
window's size, at least without dynamic patching.. what I "painfully"
managed to do (see attached patch "ph_env~.pd").
Ah, I can see on sourceforge that it is a request open since 2012...
http://sourceforge.net/p/pure-data/feature-requests/109/


3)
Last but not least, the question I can't answer myself !
When using multiple [env~] it isn't very clear for me which one will
output first.
So it confuses me when I try to do very simple things like comparing
(difference) two signals' amplitude : doing a substraction requires to
input the [- ] object in correct order (right inlet before left's).
While doing it the wrong order may seem to work, I realized that in
fact I was comparing two different windows.
The actual order of output between different [env~] seems to be
related to the objects' order of creation. I think that order of
creation is a trouble since you cannot "read" it in the patch, so it
isn't "the diagram is the program" anymore. Moreover, as far as i can
deduce from what i experimented empirically (means : i'm not sure at
all) the first to output is the last that was created.
My experiments with order can be found in "order_env~.pd" attached file.


Finally, maybe all this mess is just me not being very clear with how
message/DSP are scheluded/interfaced... but I feel that [snapshot~] is
way more easy to understand and control, since it outputs value "on
demand" (bang) and order can be easily stated with [trigger]. I think
i'd feel much more comfortable with a kind of [env~] object that
computes the enveloppe of the last N audio blocks or last N samples,
"on demand", when triggered by a bang.

Maybe someone will answer me that I'm really confused and that my
problems are false problems... In case, I'd be glad to be taught the
right way !

Cheers,

Raphaël
-------------- next part --------------
#N canvas 615 105 585 462 10;
#X obj 88 45 inlet~;
#N canvas 622 239 464 328 \$0-guts 0;
#X obj 10 10 inlet~;
#X obj 10 30 env~ 1024;
#X obj 10 50 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 87 98 pd \$0-guts;
#X obj 87 140 outlet;
#X obj 302 182 s pd-\$0-guts;
#X msg 302 139 clear \, obj 10 10 inlet~ \, obj 10 30 env~ \$1 \, obj
10 50 outlet \, connect 0 0 1 0 \, connect 1 0 2 0;
#X obj 275 281 iemguts/sendcanvas;
#X obj 275 35 inlet;
#X msg 275 249 connect 0 0 1 0 \, connect 1 0 2 0;
#X obj 275 111 t b f;
#X obj 275 217 delay 0;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 4 0 3 0;
#X connect 6 0 8 0;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X connect 8 1 4 0;
#X connect 9 0 7 0;
-------------- next part --------------
#N canvas 483 87 514 527 10;
#X obj 72 197 ph_env~;
#X msg 175 127 1024;
#X obj 72 144 noise~;
#X obj 72 304 t b b;
#X obj 72 351 timer;
#X obj 72 390 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 10.6667 256;
#X msg 223 127 2048;
#X msg 266 127 4096;
#X obj 244 323 samplerate~;
#X obj 217 297 t f b;
#X obj 217 275 / 2;
#X obj 217 342 /;
#X obj 217 366 * 1000;
#X obj 217 390 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 10 -8
0 10 -262144 -1 -1 10.6667 256;
#X obj 175 180 t f;
#X obj 101 244 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 95.4811 256;
#X text 173 99 dynamically change window;
#X text -22 420 OUTPUT rate;
#X text 70 419 measured;
#X text 220 419 theoric;
#X text -28 46 an abstraction (a trick using dynamic patching) to change
the size of the analysis window of an [env~] objet;
#X connect 0 0 3 0;
#X connect 0 0 15 0;
#X connect 1 0 14 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 6 0 14 0;
#X connect 7 0 14 0;
#X connect 8 0 11 1;
#X connect 9 0 11 0;
#X connect 9 1 8 0;
#X connect 10 0 9 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 14 0 0 1;
#X connect 14 0 10 0;
-------------- next part --------------
#N canvas -1624 -205 926 882 10;
#X obj 343 186 -;
#X obj 336 20 noise~;
#X obj 341 234 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 0 256;
#X obj 30 184 -;
#X obj 23 18 noise~;
#X obj 29 232 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 -0.0153732 256;
#X obj 78 554 -;
#X obj 71 388 noise~;
#X obj 78 589 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 0 256;
#X obj 114 522 t b f;
#X obj 88 709 timer;
#X obj 85 684 t b b;
#X obj 85 660 t b f;
#X obj 89 733 pack f f;
#X obj 106 1642 -;
#X obj 205 1600 f;
#X obj 250 1599 f;
#X obj 206 1554 t b b;
#X obj 221 1646 -;
#X obj 123 864 noise~;
#X obj 102 995 timer;
#X obj 103 968 t b;
#X obj 134 965 t b;
#X obj 187 999 timer;
#X obj 188 972 t b;
#X obj 219 969 t b;
#X obj 102 1026 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8
0 10 -262144 -1 -1 42.6667 256;
#X obj 189 1024 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8
0 10 -262144 -1 -1 0 256;
#X obj 191 1166 env~ 1024;
#X obj 192 1219 once;
#X obj 269 1163 env~ 1024;
#X obj 270 1216 once;
#X obj 351 1160 env~ 1024;
#X obj 352 1213 once;
#X obj 452 1162 t b b b;
#X obj 451 1122 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 133 1136 created;
#X text 195 1135 1st;
#X text 272 1134 2nd;
#X text 350 1130 3rd;
#X obj 57 1186 t b b b;
#X obj 56 1146 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 258 90 created;
#X text 339 91 1st;
#X text 408 91 2nd;
#X text -53 93 created;
#X text 80 95 1st;
#X text 14 93 2nd;
#X text 16 465 created;
#X text 152 461 1st;
#X text 84 461 2nd;
#X obj 342 548 -;
#X obj 336 383 noise~;
#X obj 339 594 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 0 256;
#X obj 370 506 t b f;
#X text 297 456 created;
#X text 346 457 1st;
#X text 389 459 2nd;
#X obj 90 766 print;
#X obj 68 115 env~ 4096;
#X obj 329 118 env~ 4096;
#X obj 401 117 env~ 4096;
#X obj -9 115 env~ 4096;
#X obj 145 481 env~ 4096;
#X text 20 1494 created;
#X text 82 1495 1st;
#X text 133 1492 2nd;
#X obj 300 486 env~ 4096;
#X obj 378 482 env~ 4096;
#X obj 66 483 env~ 4096;
#X text 66 355 SOLUTION ?;
#X text -54 262 WRONG : not the same window (not synced);
#X text 208 1488 3rd;
#X obj 373 1640 -;
#X obj 472 1598 f;
#X obj 517 1597 f;
#X obj 473 1552 t b b;
#X obj 488 1644 -;
#X text 287 1492 created;
#X text 349 1493 2nd;
#X text 400 1490 1st;
#X text 475 1486 3rd;
#X obj 131 2026 -;
#X obj 230 1984 f;
#X obj 275 1983 f;
#X obj 231 1938 t b b;
#X obj 246 2030 -;
#X text 45 1878 created;
#X obj 398 2024 -;
#X obj 497 1982 f;
#X obj 542 1981 f;
#X obj 498 1936 t b b;
#X obj 513 2028 -;
#X text 312 1876 created;
#X text 233 1872 1st;
#X text 107 1879 2nd;
#X text 158 1876 3rd;
#X text 500 1870 1st;
#X text 425 1874 2nd;
#X text 374 1877 3rd;
#X obj 92 1449 r~ \$0-noise;
#X obj -131 1546 noise~;
#X obj -131 1576 s~ \$0-noise;
#X obj 359 1444 r~ \$0-noise;
#X obj 117 1830 r~ \$0-noise;
#X obj 384 1828 r~ \$0-noise;
#X obj 46 2770 f;
#X obj 125 2765 f;
#X obj 96 2796 -;
#X obj 95 2825 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0
10 -262144 -1 -1 0 256;
#X text -48 2644 created;
#X text 13 2646 1st;
#X text 77 2649 2nd;
#X text 151 2646 3rd;
#X obj 68 2602 r~ \$0-noise;
#X text -3 2841 Ok \, everything occurs in the same block~;
#X obj 153 3069 once;
#X obj 152 3120 print 1;
#X obj 231 3066 once;
#X obj 313 3063 once;
#X obj 580 2969 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 230 3117 print 2;
#X obj 312 3114 print 3;
#X text 94 2986 created;
#X text 156 2985 1st;
#X text 233 2984 2nd;
#X text 311 2980 3rd;
#X obj -67 2981 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 581 3010 t b b b b;
#X obj -66 3021 t b b b b;
#X obj 403 3063 once;
#X text 401 2980 4th;
#X obj 402 3114 print 4;
#X text 295 259 OK seems normal (same window);
#X text 169 671 NO : this produces two outputs for each window : one
wrong \, one correct;
#X obj -2 2673 bang~;
#X obj 64 2677 env~ 128;
#X obj 152 2674 bang~;
#X obj 432 2770 f;
#X obj 511 2765 f;
#X obj 482 2796 -;
#X obj 481 2825 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -8
0 10 -262144 -1 -1 -0.607742 256;
#X text 338 2644 created;
#X text 463 2649 2nd;
#X obj 454 2602 r~ \$0-noise;
#X text 537 2646 1st;
#X text 399 2646 3rd;
#X obj 538 2674 bang~;
#X obj 450 2677 env~ 128;
#X obj 384 2673 bang~;
#X obj 87 629 spigot;
#X obj 135 629 tgl 15 0 empty empty console 17 7 0 10 -262144 -1 -1
0 1;
#X obj 346 621 spigot;
#X obj 394 621 tgl 15 0 empty empty console 17 7 0 10 -262144 -1 -1
0 1;
#X obj 103 938 env~ 4096;
#X obj 188 936 env~ 4096;
#X text 41 916 created;
#X text 117 915 1st;
#X text 196 908 2nd;
#X msg 459 892 4096;
#X obj 486 962 samplerate~;
#X obj 459 936 t f b;
#X obj 459 914 / 2;
#X obj 459 981 /;
#X obj 459 1005 * 1000;
#X obj 459 1029 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 10 -8
0 10 -262144 -1 -1 42.6667 256;
#X text 249 851 <---;
#X text 62 1328 DEMONSTRATE that "the last shall be the first" so the
right [env~] which was the last created is the first to output its
value.;
#X obj 191 1270 print 1st;
#X obj 269 1267 print 2nd;
#X obj 351 1264 print 3rd;
#X text 208 1292 see result in console;
#X obj 134 2338 -;
#X obj 230 2296 f;
#X obj 278 2295 f;
#X obj 234 2250 t b b;
#X obj 249 2342 -;
#X text 48 2190 created;
#X obj 401 2336 -;
#X obj 500 2294 f;
#X obj 545 2293 f;
#X obj 501 2248 t b b;
#X obj 516 2340 -;
#X text 315 2188 created;
#X text 161 2188 3rd;
#X text 377 2189 3rd;
#X obj 120 2142 r~ \$0-noise;
#X obj 387 2140 r~ \$0-noise;
#X text 236 2184 2nd;
#X text 503 2182 2nd;
#X text 110 2191 1st;
#X text 428 2186 1st;
#X obj 127 2078 change;
#X obj 127 2058 == 0;
#X obj 127 2099 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 246 2073 change;
#X obj 246 2053 == 0;
#X obj 244 2101 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 396 2077 change;
#X obj 396 2057 == 0;
#X obj 396 2098 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 515 2072 change;
#X obj 515 2052 == 0;
#X obj 515 2093 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 231 1904 bang~;
#X obj 92 1915 env~ 128;
#X obj 158 1922 env~ 128;
#X obj 498 1902 bang~;
#X obj 424 1909 env~ 128;
#X obj 359 1913 env~ 128;
#X obj 107 1698 change;
#X obj 107 1678 == 0;
#X obj 107 1719 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 226 1693 change;
#X obj 226 1673 == 0;
#X obj 224 1721 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 376 1697 change;
#X obj 376 1677 == 0;
#X obj 376 1718 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 495 1692 change;
#X obj 495 1672 == 0;
#X obj 495 1713 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 67 1531 env~ 128;
#X obj 132 1527 env~ 128;
#X obj 206 1520 bang~;
#X obj 399 1525 env~ 128;
#X obj 334 1529 env~ 128;
#X obj 473 1518 bang~;
#X obj 127 2393 change;
#X obj 127 2373 == 0;
#X obj 127 2414 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 246 2388 change;
#X obj 246 2368 == 0;
#X obj 244 2416 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 396 2392 change;
#X obj 396 2372 == 0;
#X obj 396 2413 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 515 2387 change;
#X obj 515 2367 == 0;
#X obj 515 2408 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 427 2221 env~ 128;
#X obj 501 2214 bang~;
#X obj 362 2225 env~ 128;
#X obj 95 2226 env~ 128;
#X obj 234 2216 bang~;
#X obj 160 2222 env~ 128;
#X obj 163 4815 f;
#X obj 100 4629 r~ \$0-noise;
#X text 70 4703 2nd;
#X obj 205 4814 f;
#X text 165 4702 3rd;
#X obj 165 4869 -;
#X obj 165 4955 change;
#X obj 165 4935 == 0;
#X obj 165 4976 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 164 4757 t b b;
#X text 307 4700 4th;
#X obj 433 4818 f;
#X obj 479 4813 f;
#X obj 435 4868 -;
#X obj 435 4954 change;
#X obj 435 4934 == 0;
#X obj 435 4975 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 184 4377 f;
#X obj 229 4177 r~ \$0-noise;
#X text 74 4249 1st;
#X text 197 4253 2nd;
#X obj 222 4382 f;
#X text 347 4249 3rd;
#X obj 204 4418 -;
#X obj 204 4504 change;
#X obj 204 4484 == 0;
#X obj 204 4525 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 193 4307 t b b;
#X text 457 4247 4th;
#X obj 437 4367 f;
#X obj 464 4418 -;
#X obj 464 4504 change;
#X obj 464 4484 == 0;
#X obj 464 4525 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj 453 4307 t b b;
#X obj 424 4757 t b b b;
#X msg 520 5068 1;
#X obj 313 5093 spigot;
#X text -81 4703 1st;
#X obj -84 4827 f;
#X obj -39 4826 f;
#X obj -87 4873 -;
#X obj -87 4959 change;
#X obj -87 4939 == 0;
#X obj -87 4980 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1
1 1;
#X obj -85 4758 t b b;
#X obj -14 5010 t b a;
#X msg -12 5075 0;
#X obj 313 5151 print;
#X obj 523 4772 once;
#X obj 544 4631 bng 15 250 50 0 empty empty print 17 7 0 10 -262144
-1 -1;
#X text 430 4705 5th;
#X obj -17 4979 pack f f 1;
#X obj 228 4972 pack f f 2;
#X obj 496 4968 pack f f 3;
#X text 383 2841 But now \, left [bang~] seem to occur BEFORE [env~]
output;
#X obj -85 4727 bang~;
#X obj 35 4723 env~ 128;
#X obj 167 4727 bang~;
#X obj 308 4725 env~ 128;
#X obj 424 4725 bang~;
#X obj 152 3016 env~ 128;
#X obj 230 3013 bang~;
#X obj 312 3010 env~ 128;
#X obj 402 3010 bang~;
#X text 60 3163 CONCLUSION ? : trigger the values with [bang~] but
with the same BANG;
#X text 104 2552 BUT....;
#X obj 485 4367 f;
#X obj 101 3431 once;
#X obj 100 3482 print 1;
#X obj 179 3428 once;
#X obj 261 3425 once;
#X obj 528 3331 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 178 3479 print 2;
#X obj 260 3476 print 3;
#X text 94 3347 1st;
#X text 185 3349 2nd;
#X text 259 3349 3rd;
#X obj -119 3343 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 529 3372 t b b b b;
#X obj -118 3383 t b b b b;
#X obj 351 3425 once;
#X text 352 3349 4th;
#X obj 350 3476 print 4;
#X obj 100 3378 env~ 128;
#X obj 178 3375 bang~;
#X obj 260 3372 env~ 128;
#X obj 350 3372 bang~;
#X text -27 3250 BUT.... when you connect a source to the [env~];
#X obj 192 3305 noise~;
#X obj 107 3712 once;
#X obj 106 3763 print 1;
#X obj 185 3709 once;
#X obj 267 3706 once;
#X obj 534 3612 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 184 3760 print 2;
#X obj 266 3757 print 3;
#X text 144 3572 created;
#X text 208 3572 1st;
#X text 113 3632 2nd;
#X text 191 3627 3rd;
#X obj -113 3624 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 535 3653 t b b b b;
#X obj -112 3664 t b b b b;
#X obj 357 3706 once;
#X text 281 3629 4th;
#X obj 356 3757 print 4;
#X obj 205 3597 noise~;
#X obj 106 3659 env~ 128;
#X obj 184 3656 bang~;
#X obj 266 3653 env~ 128;
#X obj 356 3653 bang~;
#X text 199 3281 5th;
#X text 359 3629 5th;
#X text 304 3252 ...everything is reordered;
#X obj -146 344 cnv 15 800 2 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj -151 822 cnv 15 800 2 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj -139 1108 cnv 15 800 2 empty empty empty 20 12 0 14 -233017
-66577 0;
#X obj -144 1407 cnv 15 800 2 empty empty empty 20 12 0 14 -233017
-66577 0;
#X obj -125 2540 cnv 15 800 2 empty empty empty 20 12 0 14 -233017
-66577 0;
#X text 147 2467 THAT LOOKS LIKE A GOOD SOLUTION : by using [bang~]
we ensure to be monitoring the same window;
#X obj -122 3214 cnv 15 800 2 empty empty empty 20 12 0 14 -233017
-66577 0;
#X text 62 2918 OTHER DEMONSTRATION;
#X text -4 3531 ....but not the same way if source [noise~] is created
before or after the [bang~]s;
#X text 138 3282 created;
#X obj -125 4113 cnv 15 800 2 empty empty empty 20 12 0 14 -233017
-66577 0;
#X obj 61 4277 env~ 128;
#X obj 193 4275 bang~;
#X obj 337 4275 env~ 128;
#X obj 453 4275 bang~;
#X obj -137 -69 cnv 15 800 40 empty empty [env~]_output_order_empirical_experiments
20 12 0 14 -233017 -1 0;
#X text 7 -17 THE PROBLEM :;
#X text -63 304 THE PROBLEM : creation order can't be read in the patch/diagram
;
#X text 153 737 print : logicalTimeSinceLastMessage & differenceValue
;
#X text 294 844 DEMONSTRATES that with wrong order we compare two different
windows. The measured delay should be half the window size in [env]'s
argument (== rate of [env~] output) so :;
#X obj 129 3990 once;
#X obj 207 3987 once;
#X obj 289 3984 once;
#X obj 389 3933 t b b b;
#X obj 388 3893 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 300 3906 1st;
#X text 133 3911 2nd;
#X text 203 3907 3rd;
#X obj -6 3957 t b b b;
#X obj -7 3917 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 128 4041 print 1st;
#X obj 206 4038 print 2nd;
#X obj 288 4035 print 3rd;
#X text 145 4063 see result in console;
#X text 64 3911 connected;
#X text -36 3825 ....and back to other example : connecting re-order
outputs;
#X text 68 3951 created;
#X text 134 3953 1st;
#X text 209 3951 2nd;
#X text 297 3950 3rd;
#X text 58 3861 created 4th;
#X obj 128 3937 env~ 1024;
#X obj 208 3935 env~ 1024;
#X obj 288 3931 env~ 1024;
#X obj 130 3858 noise~;
#X text -123 4155 NOW I'M TOTALLY LOSING MYSELF....;
#X text 429 5142 Ok......... time to bed !!;
#X connect 0 0 2 0;
#X connect 1 0 60 0;
#X connect 1 0 61 0;
#X connect 3 0 5 0;
#X connect 4 0 59 0;
#X connect 4 0 62 0;
#X connect 6 0 8 0;
#X connect 7 0 63 0;
#X connect 7 0 69 0;
#X connect 8 0 150 0;
#X connect 9 0 6 0;
#X connect 9 1 6 1;
#X connect 10 0 13 0;
#X connect 11 0 10 0;
#X connect 11 1 10 1;
#X connect 12 0 11 0;
#X connect 12 1 13 1;
#X connect 13 0 58 0;
#X connect 14 0 211 0;
#X connect 15 0 18 0;
#X connect 16 0 18 1;
#X connect 17 0 15 0;
#X connect 17 1 16 0;
#X connect 18 0 214 0;
#X connect 19 0 154 0;
#X connect 19 0 155 0;
#X connect 20 0 26 0;
#X connect 21 0 20 0;
#X connect 22 0 20 1;
#X connect 23 0 27 0;
#X connect 24 0 23 0;
#X connect 25 0 23 1;
#X connect 28 0 29 0;
#X connect 29 0 168 0;
#X connect 30 0 31 0;
#X connect 31 0 169 0;
#X connect 32 0 33 0;
#X connect 33 0 170 0;
#X connect 34 0 29 1;
#X connect 34 1 31 1;
#X connect 34 2 33 1;
#X connect 35 0 34 0;
#X connect 40 0 33 1;
#X connect 40 1 31 1;
#X connect 40 2 29 1;
#X connect 41 0 40 0;
#X connect 51 0 53 0;
#X connect 52 0 67 0;
#X connect 52 0 68 0;
#X connect 53 0 152 0;
#X connect 54 0 51 0;
#X connect 54 1 51 1;
#X connect 59 0 3 1;
#X connect 60 0 0 0;
#X connect 61 0 0 1;
#X connect 62 0 3 0;
#X connect 63 0 9 0;
#X connect 67 0 51 0;
#X connect 68 0 54 0;
#X connect 69 0 6 0;
#X connect 73 0 217 0;
#X connect 74 0 77 0;
#X connect 75 0 77 1;
#X connect 76 0 74 0;
#X connect 76 1 75 0;
#X connect 77 0 220 0;
#X connect 82 0 193 0;
#X connect 83 0 86 0;
#X connect 84 0 86 1;
#X connect 85 0 83 0;
#X connect 85 1 84 0;
#X connect 86 0 196 0;
#X connect 88 0 199 0;
#X connect 89 0 92 0;
#X connect 90 0 92 1;
#X connect 91 0 89 0;
#X connect 91 1 90 0;
#X connect 92 0 202 0;
#X connect 100 0 222 0;
#X connect 100 0 223 0;
#X connect 101 0 102 0;
#X connect 103 0 225 0;
#X connect 103 0 226 0;
#X connect 104 0 205 0;
#X connect 104 0 206 0;
#X connect 105 0 208 0;
#X connect 105 0 209 0;
#X connect 106 0 108 0;
#X connect 107 0 108 1;
#X connect 108 0 109 0;
#X connect 114 0 136 0;
#X connect 116 0 117 0;
#X connect 118 0 121 0;
#X connect 119 0 122 0;
#X connect 120 0 128 0;
#X connect 127 0 129 0;
#X connect 128 0 116 1;
#X connect 128 1 118 1;
#X connect 128 2 119 1;
#X connect 128 3 130 1;
#X connect 129 0 130 1;
#X connect 129 1 119 1;
#X connect 129 2 118 1;
#X connect 129 3 116 1;
#X connect 130 0 132 0;
#X connect 135 0 106 0;
#X connect 136 0 106 1;
#X connect 136 0 107 1;
#X connect 137 0 107 0;
#X connect 138 0 140 0;
#X connect 139 0 140 1;
#X connect 140 0 141 0;
#X connect 144 0 148 0;
#X connect 147 0 139 0;
#X connect 148 0 138 1;
#X connect 148 0 139 1;
#X connect 149 0 138 0;
#X connect 150 0 12 0;
#X connect 151 0 150 1;
#X connect 152 0 12 0;
#X connect 153 0 152 1;
#X connect 154 0 21 0;
#X connect 154 0 25 0;
#X connect 155 0 22 0;
#X connect 155 0 24 0;
#X connect 159 0 162 0;
#X connect 160 0 163 1;
#X connect 161 0 163 0;
#X connect 161 1 160 0;
#X connect 162 0 161 0;
#X connect 163 0 164 0;
#X connect 164 0 165 0;
#X connect 172 0 229 0;
#X connect 173 0 176 0;
#X connect 174 0 176 1;
#X connect 175 0 173 0;
#X connect 175 1 174 0;
#X connect 176 0 232 0;
#X connect 178 0 235 0;
#X connect 179 0 182 0;
#X connect 180 0 182 1;
#X connect 181 0 179 0;
#X connect 181 1 180 0;
#X connect 182 0 238 0;
#X connect 186 0 243 0;
#X connect 186 0 245 0;
#X connect 187 0 240 0;
#X connect 187 0 242 0;
#X connect 192 0 194 0;
#X connect 193 0 192 0;
#X connect 195 0 197 0;
#X connect 196 0 195 0;
#X connect 198 0 200 0;
#X connect 199 0 198 0;
#X connect 201 0 203 0;
#X connect 202 0 201 0;
#X connect 204 0 85 0;
#X connect 205 0 82 0;
#X connect 205 0 83 1;
#X connect 206 0 82 1;
#X connect 206 0 84 1;
#X connect 207 0 91 0;
#X connect 208 0 88 1;
#X connect 208 0 90 1;
#X connect 209 0 88 0;
#X connect 209 0 89 1;
#X connect 210 0 212 0;
#X connect 211 0 210 0;
#X connect 213 0 215 0;
#X connect 214 0 213 0;
#X connect 216 0 218 0;
#X connect 217 0 216 0;
#X connect 219 0 221 0;
#X connect 220 0 219 0;
#X connect 222 0 14 0;
#X connect 222 0 15 1;
#X connect 223 0 14 1;
#X connect 223 0 16 1;
#X connect 224 0 17 0;
#X connect 225 0 73 1;
#X connect 225 0 75 1;
#X connect 226 0 73 0;
#X connect 226 0 74 1;
#X connect 227 0 76 0;
#X connect 228 0 230 0;
#X connect 229 0 228 0;
#X connect 231 0 233 0;
#X connect 232 0 231 0;
#X connect 234 0 236 0;
#X connect 235 0 234 0;
#X connect 237 0 239 0;
#X connect 238 0 237 0;
#X connect 240 0 178 1;
#X connect 240 0 180 1;
#X connect 241 0 181 0;
#X connect 242 0 178 0;
#X connect 242 0 179 1;
#X connect 243 0 172 0;
#X connect 243 0 173 1;
#X connect 244 0 175 0;
#X connect 245 0 172 1;
#X connect 245 0 174 1;
#X connect 246 0 251 0;
#X connect 246 0 299 0;
#X connect 247 0 303 0;
#X connect 247 0 305 0;
#X connect 249 0 251 1;
#X connect 249 0 299 1;
#X connect 251 0 253 0;
#X connect 252 0 254 0;
#X connect 253 0 252 0;
#X connect 255 0 246 0;
#X connect 255 1 249 0;
#X connect 257 0 259 0;
#X connect 257 0 300 0;
#X connect 258 0 259 1;
#X connect 258 0 300 1;
#X connect 259 0 261 0;
#X connect 260 0 262 0;
#X connect 261 0 260 0;
#X connect 263 0 269 0;
#X connect 264 0 372 0;
#X connect 264 0 374 0;
#X connect 267 0 269 1;
#X connect 269 0 271 0;
#X connect 270 0 272 0;
#X connect 271 0 270 0;
#X connect 273 0 263 0;
#X connect 273 1 267 0;
#X connect 275 0 276 0;
#X connect 276 0 278 0;
#X connect 277 0 279 0;
#X connect 278 0 277 0;
#X connect 280 0 275 0;
#X connect 280 1 313 0;
#X connect 281 0 257 0;
#X connect 281 1 258 0;
#X connect 281 2 295 0;
#X connect 282 0 283 1;
#X connect 283 0 294 0;
#X connect 285 0 287 0;
#X connect 285 0 298 0;
#X connect 286 0 287 1;
#X connect 286 0 298 1;
#X connect 287 0 289 0;
#X connect 288 0 290 0;
#X connect 289 0 288 0;
#X connect 291 0 285 0;
#X connect 291 1 286 0;
#X connect 292 0 293 0;
#X connect 292 1 283 0;
#X connect 293 0 283 1;
#X connect 295 0 282 0;
#X connect 296 0 295 1;
#X connect 298 0 292 0;
#X connect 299 0 283 0;
#X connect 300 0 283 0;
#X connect 302 0 291 0;
#X connect 303 0 246 1;
#X connect 303 0 257 1;
#X connect 303 0 285 1;
#X connect 304 0 255 0;
#X connect 305 0 249 1;
#X connect 305 0 258 1;
#X connect 305 0 286 1;
#X connect 306 0 281 0;
#X connect 307 0 116 0;
#X connect 308 0 118 0;
#X connect 309 0 119 0;
#X connect 310 0 130 0;
#X connect 313 0 276 1;
#X connect 314 0 315 0;
#X connect 316 0 319 0;
#X connect 317 0 320 0;
#X connect 318 0 325 0;
#X connect 324 0 326 0;
#X connect 325 0 314 1;
#X connect 325 1 316 1;
#X connect 325 2 317 1;
#X connect 325 3 327 1;
#X connect 326 0 327 1;
#X connect 326 1 317 1;
#X connect 326 2 316 1;
#X connect 326 3 314 1;
#X connect 327 0 329 0;
#X connect 330 0 314 0;
#X connect 331 0 316 0;
#X connect 332 0 317 0;
#X connect 333 0 327 0;
#X connect 335 0 330 0;
#X connect 335 0 332 0;
#X connect 336 0 337 0;
#X connect 338 0 341 0;
#X connect 339 0 342 0;
#X connect 340 0 348 0;
#X connect 347 0 349 0;
#X connect 348 0 336 1;
#X connect 348 1 338 1;
#X connect 348 2 339 1;
#X connect 348 3 350 1;
#X connect 349 0 350 1;
#X connect 349 1 339 1;
#X connect 349 2 338 1;
#X connect 349 3 336 1;
#X connect 350 0 352 0;
#X connect 353 0 354 0;
#X connect 353 0 356 0;
#X connect 354 0 336 0;
#X connect 355 0 338 0;
#X connect 356 0 339 0;
#X connect 357 0 350 0;
#X connect 372 0 263 1;
#X connect 372 0 275 1;
#X connect 373 0 273 0;
#X connect 374 0 267 1;
#X connect 374 0 313 1;
#X connect 375 0 280 0;
#X connect 381 0 391 0;
#X connect 382 0 392 0;
#X connect 383 0 393 0;
#X connect 384 0 381 1;
#X connect 384 1 382 1;
#X connect 384 2 383 1;
#X connect 385 0 384 0;
#X connect 389 0 383 1;
#X connect 389 1 382 1;
#X connect 389 2 381 1;
#X connect 390 0 389 0;
#X connect 402 0 381 0;
#X connect 403 0 382 0;
#X connect 404 0 383 0;
#X connect 405 0 404 0;
#X connect 405 0 402 0;
#X connect 405 0 403 0;


More information about the Pd-list mailing list