From 2a01f32186dacf4a970b4189c43e140a8832813f Mon Sep 17 00:00:00 2001 From: Franz Zotter Date: Thu, 11 Feb 2010 11:46:21 +0000 Subject: added a kaiser window to the mtx_window abstraction. svn path=/trunk/externals/iem/iemmatrix/; revision=13168 --- abs/mtx_win_besseli0.pd | 146 +++++++++++++++++++++++++++++++++++++++++ abs/mtx_window-help.pd | 171 ++++++++++++++++++++++++++++++------------------ abs/mtx_window.pd | 95 +++++++++++++++++++-------- 3 files changed, 320 insertions(+), 92 deletions(-) create mode 100644 abs/mtx_win_besseli0.pd (limited to 'abs') diff --git a/abs/mtx_win_besseli0.pd b/abs/mtx_win_besseli0.pd new file mode 100644 index 0000000..abcd590 --- /dev/null +++ b/abs/mtx_win_besseli0.pd @@ -0,0 +1,146 @@ +#N canvas 442 0 1152 729 12; +#X obj 184 130 mtx_< 2.5; +#X obj 385 142 mtx_>= 2.5; +#X obj 385 165 mtx_find; +#X obj 184 152 mtx_find; +#X obj 307 251 mtx_index; +#X obj 106 236 mtx_index; +#X obj 106 343 mtx_fill; +#X obj 82 427 mtx; +#X obj 80 41 t b a a a; +#X obj 567 198 mtx_zeros; +#X obj 567 151 mtx_size; +#X obj 567 175 pack; +#N canvas 0 0 897 561 smallx 0; +#X obj 240 -115 mtx_.^ 2; +#X obj 240 -73 mtx_+ 8.92003e-06; +#X obj 240 -93 mtx_* 0.249877; +#X obj 240 277 mtx_+; +#X obj 272 -48 mtx_.^ 4; +#X obj 304 1 mtx_.^ 6; +#X obj 338 47 mtx_.^ 8; +#X obj 370 98 mtx_.^ 10; +#X obj 402 144 mtx_.^ 12; +#X obj 272 -26 mtx_* -0.0153664; +#X obj 304 23 mtx_* 0.00152453; +#X obj 338 69 mtx_* -0.000134196; +#X obj 370 120 mtx_* 7.76875e-06; +#X obj 402 166 mtx_* -2.04329e-07; +#X obj 272 256 mtx_+; +#X obj 304 236 mtx_+; +#X obj 338 217 mtx_+; +#X obj 370 196 mtx_+; +#X obj 240 -158 t a a a a a a; +#X obj 240 302 mtx_exp; +#X obj 241 -181 inlet; +#X obj 240 333 outlet; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 19 0; +#X connect 4 0 9 0; +#X connect 5 0 10 0; +#X connect 6 0 11 0; +#X connect 7 0 12 0; +#X connect 8 0 13 0; +#X connect 9 0 14 0; +#X connect 10 0 15 0; +#X connect 11 0 16 0; +#X connect 12 0 17 0; +#X connect 13 0 17 1; +#X connect 14 0 3 1; +#X connect 15 0 14 1; +#X connect 16 0 15 1; +#X connect 17 0 16 1; +#X connect 18 0 0 0; +#X connect 18 1 4 0; +#X connect 18 2 5 0; +#X connect 18 3 6 0; +#X connect 18 4 7 0; +#X connect 18 5 8 0; +#X connect 19 0 21 0; +#X connect 20 0 18 0; +#X restore 106 260 pd smallx; +#X obj 307 105 t a a; +#X obj 106 102 t a a; +#N canvas 295 16 806 381 bigx 0; +#X obj 227 -132 inlet; +#X obj 226 132 outlet; +#X text 391 -110 exp(x)./sqrt(2*pi*x).*(1+1./(8*x)); +#X obj 277 23 mtx_.^ 0.5; +#X obj 226 46 mtx_./; +#X obj 226 -25 mtx_exp; +#X obj 455 20 mtx_+ 1; +#X obj 455 -2 mtx_.^ -1; +#X obj 455 -24 mtx_* 8; +#X obj 226 80 mtx_.*; +#X obj 226 -49 t a a; +#X obj 337 -47 atan; +#X obj 337 -24 * 8; +#X obj 337 -93 loadbang; +#X obj 277 -1 mtx_* 1; +#X obj 226 -109 t a a; +#X msg 337 -70 1; +#X connect 0 0 15 0; +#X connect 3 0 4 1; +#X connect 4 0 9 0; +#X connect 5 0 4 0; +#X connect 6 0 9 1; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 1 0; +#X connect 10 0 5 0; +#X connect 10 1 14 0; +#X connect 11 0 12 0; +#X connect 12 0 14 1; +#X connect 13 0 16 0; +#X connect 14 0 3 0; +#X connect 15 0 10 0; +#X connect 15 1 8 0; +#X connect 16 0 11 0; +#X restore 307 275 pd bigx; +#X obj 80 18 inlet; +#X obj 82 456 outlet; +#X obj 463 165 mtx_size; +#X obj 307 225 spigot; +#X obj 237 177 mtx_size; +#X obj 106 204 spigot; +#X obj 184 177 t a a; +#X obj 184 205 spigot; +#X obj 385 223 spigot; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 18 0; +#X connect 2 0 24 0; +#X connect 3 0 22 0; +#X connect 4 0 15 0; +#X connect 5 0 12 0; +#X connect 6 0 7 1; +#X connect 7 0 17 0; +#X connect 8 0 7 0; +#X connect 8 1 14 0; +#X connect 8 2 13 0; +#X connect 8 3 10 0; +#X connect 9 0 6 1; +#X connect 10 0 11 0; +#X connect 10 1 11 1; +#X connect 11 0 9 0; +#X connect 12 0 6 0; +#X connect 13 0 19 0; +#X connect 13 1 1 0; +#X connect 14 0 21 0; +#X connect 14 1 0 0; +#X connect 15 0 6 0; +#X connect 16 0 8 0; +#X connect 18 1 19 1; +#X connect 18 1 24 1; +#X connect 19 0 4 0; +#X connect 20 1 21 1; +#X connect 20 1 23 1; +#X connect 21 0 5 0; +#X connect 22 0 23 0; +#X connect 22 1 20 0; +#X connect 23 0 5 1; +#X connect 23 0 6 2; +#X connect 24 0 6 2; +#X connect 24 0 4 1; diff --git a/abs/mtx_window-help.pd b/abs/mtx_window-help.pd index 73d4c90..42be0c7 100644 --- a/abs/mtx_window-help.pd +++ b/abs/mtx_window-help.pd @@ -1,4 +1,4 @@ -#N canvas 439 163 841 379 10; +#N canvas 187 140 841 379 10; #X text 483 27 part of iemmatrix; #N canvas 0 0 450 300 convert2tablemsg 0; #X obj 130 35 inlet; @@ -20,27 +20,26 @@ #X restore 33 284 pd convert2tablemsg; #N canvas 0 0 450 300 (subpatch) 0; #X array view_window 101 float 1; -#A 0 6.04683e-05 0.00152308 0.00493353 0.0102785 0.0175371 0.0266809 -0.0376743 0.0504743 0.0650308 0.081287 0.0991793 0.118638 0.139587 -0.161944 0.185622 0.210528 0.236566 0.263633 0.291624 0.320429 0.349935 -0.380029 0.41059 0.441502 0.472641 0.503888 0.535119 0.566214 0.597049 -0.627506 0.657464 0.686807 0.715419 0.74319 0.770011 0.795777 0.820387 -0.843745 0.865759 0.886345 0.905421 0.922912 0.938751 0.952876 0.965231 -0.975768 0.984446 0.991231 0.996096 0.999023 1 0.999023 0.996096 0.991231 -0.984446 0.975768 0.965231 0.952876 0.938751 0.922912 0.905421 0.886345 -0.865759 0.843745 0.820387 0.795777 0.770011 0.74319 0.715419 0.686807 -0.657464 0.627506 0.597049 0.566214 0.53512 0.503888 0.472641 0.441502 -0.410591 0.380029 0.349935 0.320429 0.291624 0.263633 0.236566 0.210529 -0.185622 0.161944 0.139587 0.118638 0.0991794 0.081287 0.0650308 0.0504743 -0.0376743 0.026681 0.0175371 0.0102785 0.00493356 0.00152309 6.0472e-05 -; +#A 0 0.000448756 0.000945109 0.00165503 0.00268316 0.00407733 0.00591581 +0.00828443 0.0112762 0.0149904 0.019532 0.0250102 0.0315369 0.0392254 +0.0481884 0.0585358 0.0703731 0.0837981 0.0988997 0.115755 0.134427 +0.154961 0.177385 0.201708 0.227912 0.255959 0.285784 0.317297 0.35038 +0.384891 0.420659 0.457489 0.495163 0.53344 0.572058 0.610739 0.649192 +0.687112 0.724189 0.760109 0.794559 0.827231 0.857827 0.886059 0.911661 +0.934386 0.954011 0.970343 0.983219 0.99251 0.998122 1 0.998122 0.99251 +0.98322 0.970343 0.954011 0.934386 0.911661 0.886059 0.857827 0.827231 +0.794559 0.76011 0.724189 0.687112 0.649192 0.61074 0.572058 0.53344 +0.495163 0.457489 0.420659 0.384891 0.350381 0.317297 0.285784 0.255959 +0.227912 0.201708 0.177386 0.154961 0.134427 0.115755 0.0988999 0.0837981 +0.0703731 0.0585359 0.0481884 0.0392254 0.0315369 0.0250102 0.019532 +0.0149904 0.0112762 0.00828444 0.00591582 0.00407733 0.00268316 0.00165504 +0.000945111 0.000448758; #X coords 0 1.1 100 0 101 80 1; #X restore 326 212 graph; #X text 43 34 [mtx_window]; #X text 166 69 creates a row vector with windows of different specifications. ; -#X text 268 157 outletB: window vector; -#X obj 33 242 mtx_window; +#X text 271 157 outletB: window vector; #X obj 33 306 s view_window; #X text 268 138 inletA: ; #X msg 33 68 rectangular 101; @@ -52,7 +51,15 @@ #X msg 71 189 gauss 101 -77; #X text 227 315 note: the third parameter for gaussian windows describes the attenuation at the borders; -#N canvas 201 191 842 574 fft_analysis 0; +#X text 480 241 use this e.g. for:; +#X msg 80 216 kaiser 101 \$1; +#X obj 33 242 mtx_window; +#X msg 174 187 0; +#X msg 296 188 10; +#X msg 266 188 8; +#X msg 235 188 5; +#X msg 204 188 2; +#N canvas 625 163 842 574 fft_analysis 0; #X msg 477 0 sine 64; #X msg 477 42 hanning 64; #X msg 475 -41 rectangular 64; @@ -142,28 +149,45 @@ the attenuation at the borders; #X msg 477 63 blackman 64; #X obj 385 362 mtx_+; #X obj 474 210 tgl 15 1 empty empty broad/narrow 0 -6 0 8 -262144 -1 --1 0 1; +-1 1 1; #X obj 37 353 dbtorms; #X obj 41 317 hsl 128 15 0 127 0 1 empty empty ampl -2 -6 0 12 -262144 --1 -1 2700 1; +-1 -1 0 1; #X floatatom 38 336 5 0 0 0 - - -; #X obj 79 197 dbtorms; #X obj 83 161 hsl 128 15 0 127 0 1 empty empty ampl -2 -6 0 10 -262144 --1 -1 8500 1; +-1 -1 9900 1; #X floatatom 80 180 5 0 0 0 - - -; #N canvas 0 0 450 300 (subpatch) 0; -#X array spectrum 33 float 1; -#A 0 38.8997 40.9673 44.5099 103.061 42.2724 36.1278 32.8119 30.9618 -29.4879 27.9126 28.5928 27.8325 29.063 27.9504 26.035 24.9683 26.7623 -27.919 26.0393 25.3933 28.6392 28.0565 27.9295 28.0921 27.2243 26.9047 -26.9266 26.7948 25.7899 26.8739 26.8707 27.2482 27.7987; -#X array sineamp 33 float 1; -#A 0 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 -85 85 85 85 85 85 85 85 85 85 85 85; -#X array noiseamp 33 float 1; -#A 0 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 -27 27 27 27 27 27 27 27 27 27 27 27; -#X coords 0 100 32 0 200 140 1; +#X array spectrum 129 float 1; +#A 0 56.377 77.3304 80.1692 76.3056 66.8052 80.5651 82.465 74.9327 +82.4891 91.8709 96.2977 98.4686 99.0234 98.1252 95.6622 91.1155 82.4891 +66.9537 78.6591 77.4688 68.019 67.7708 73.5005 71.7182 60.2204 65.3425 +69.9818 67.9057 54.6513 63.1717 67.3292 65.0647 50.2597 61.3407 65.221 +62.8226 46.6091 59.7915 63.4904 60.9916 43.4733 58.4672 62.0381 59.4612 +40.7174 57.3238 60.7997 58.1604 38.2504 56.3288 59.7315 57.0415 36.0149 +55.4562 58.8013 56.0695 33.9678 54.6867 57.9852 55.2182 32.0684 54.0057 +57.2658 54.4691 30.298 53.4006 56.6287 53.8066 28.6325 52.8621 56.063 +53.2186 27.0424 52.3832 55.5605 52.6966 25.5223 51.9567 55.1137 52.2326 +24.0564 51.5776 54.7167 51.8203 22.6263 51.2422 54.3654 51.4551 21.2226 +50.9464 54.0553 51.1324 19.8274 50.6876 53.7836 50.849 18.4236 50.4638 +53.5478 50.6023 16.9878 50.2726 53.3455 50.3899 15.5157 50.1124 53.175 +50.2099 14.0048 49.9819 53.0348 50.0604 12.4079 49.8806 52.9241 49.9408 +10.7623 49.8072 52.8418 49.8498 9.20872 49.7614 52.7872 49.7866 7.94681 +49.7429 52.7602 49.7513 7.39902; +#X array sineamp 129 float 1; +#A 0 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 +99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 +99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 +99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 +99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 +99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99; +#X array noiseamp 129 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; +#X coords 0 100 128 0 200 140 1; #X restore 51 -51 graph; #X obj 133 198 s sineamp; #X msg 133 178 const \$1; @@ -267,7 +291,7 @@ the attenuation at the borders; #X connect 8 0 0 0; #X restore -7 286 pd mtx_noise~; #X obj 339 63 dsp; -#X obj 339 45 tgl 15 0 empty dsp_tgl empty 0 -6 0 8 -262144 -1 -1 1 +#X obj 339 45 tgl 15 0 empty dsp_tgl empty 0 -6 0 8 -262144 -1 -1 0 1; #X text 343 -39 3 choose window; #X text 343 180 4 choose broadband/narrow band normalization; @@ -294,15 +318,15 @@ the attenuation at the borders; #X floatatom 29 163 6 0 0 0 freq - -; #N canvas 0 0 450 300 (subpatch) 0; #X array signal 64 float 1; -#A 0 0.350809 0.352529 0.323749 0.267889 0.188056 0.0924733 -0.0115446 --0.114268 -0.207012 -0.282098 -0.332474 -0.354627 -0.346684 -0.308276 --0.243687 -0.157757 -0.058738 0.0452786 0.146309 0.234006 0.301564 -0.343327 0.355167 0.337243 0.289477 0.217643 0.126626 0.0241541 -0.0796336 --0.176431 -0.25886 -0.318325 -0.350513 -0.352816 -0.324453 -0.267944 --0.188785 -0.0933459 0.0104961 0.112465 0.206113 0.281239 0.332285 -0.354519 0.346625 0.308685 0.244169 0.158802 0.0600548 -0.0446618 -0.144633 --0.233125 -0.300845 -0.343326 -0.355903 -0.337678 -0.290366 -0.218386 --0.127163 -0.0258419 0.0781731 0.176044 0.257996 0.31818; +#A 0 0.332393 -0.190103 -0.696238 -1.14245 -1.49035 -1.70998 -1.78244 +-1.70151 -1.47414 -1.1199 -0.669277 -0.161057 0.361022 0.852032 1.26971 +1.57812 1.75071 1.77263 1.642 1.37004 0.980184 0.505969 -0.0117945 +-0.528541 -0.999799 -1.38501 -1.65103 -1.77496 -1.74612 -1.56702 -1.25305 +-0.831239 -0.337892 0.184535 0.69108 1.13815 1.48727 1.70839 1.78248 +1.70317 1.47728 1.12425 0.674464 0.166635 -0.355539 -0.847111 -1.26578 +-1.57551 -1.74965 -1.77321 -1.64417 -1.37362 -0.984858 -0.511333 0.00619539 +0.52319 0.995158 1.38148 1.64891 1.77443 1.74724 1.56968 1.25702 0.836189 +; #X coords 0 2 63 -2 200 140 1; #X restore 589 -66 graph; #X obj 385 427 s spectrum; @@ -312,13 +336,20 @@ the attenuation at the borders; #X obj 116 237 loadbang; #X obj 404 47 loadbang; #X msg 117 218 2.999; -#X obj 461 113 mtx_window; +#X obj 211 353 mtx_resize 0 256; #X msg 472 87 gauss 64 -85; -#X connect 0 0 59 0; -#X connect 1 0 59 0; -#X connect 2 0 59 0; +#X obj 461 113 mtx_window; +#X msg 650 130 kaiser 64 \$1; +#X msg 649 96 0; +#X msg 743 96 8; +#X msg 713 96 5; +#X msg 777 95 10; +#X msg 682 96 2; +#X connect 0 0 61 0; +#X connect 1 0 61 0; +#X connect 2 0 61 0; #X connect 4 0 3 0; -#X connect 5 0 6 0; +#X connect 5 0 59 0; #X connect 6 0 7 0; #X connect 6 1 8 0; #X connect 7 0 9 0; @@ -327,9 +358,9 @@ the attenuation at the borders; #X connect 10 0 11 0; #X connect 11 0 52 0; #X connect 12 0 5 1; -#X connect 13 0 59 0; -#X connect 14 0 59 0; -#X connect 15 0 59 0; +#X connect 13 0 61 0; +#X connect 14 0 61 0; +#X connect 15 0 61 0; #X connect 16 0 10 0; #X connect 16 0 30 0; #X connect 17 0 12 1; @@ -368,17 +399,29 @@ the attenuation at the borders; #X connect 56 0 58 0; #X connect 57 0 2 0; #X connect 58 0 50 0; -#X connect 59 0 4 0; -#X connect 59 0 12 0; -#X connect 60 0 59 0; +#X connect 59 0 6 0; +#X connect 60 0 61 0; +#X connect 61 0 4 0; +#X connect 61 0 12 0; +#X connect 62 0 61 0; +#X connect 63 0 62 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; #X restore 616 242 pd fft_analysis; -#X text 480 241 use this e.g. for:; -#X connect 1 0 7 0; -#X connect 6 0 1 0; -#X connect 9 0 6 0; -#X connect 10 0 6 0; -#X connect 11 0 6 0; -#X connect 12 0 6 0; -#X connect 13 0 6 0; -#X connect 14 0 6 0; -#X connect 15 0 6 0; +#X connect 1 0 6 0; +#X connect 8 0 18 0; +#X connect 9 0 18 0; +#X connect 10 0 18 0; +#X connect 11 0 18 0; +#X connect 12 0 18 0; +#X connect 13 0 18 0; +#X connect 14 0 18 0; +#X connect 17 0 18 0; +#X connect 18 0 1 0; +#X connect 19 0 17 0; +#X connect 20 0 17 0; +#X connect 21 0 17 0; +#X connect 22 0 17 0; +#X connect 23 0 17 0; diff --git a/abs/mtx_window.pd b/abs/mtx_window.pd index 5bd23e6..6fa0a6a 100644 --- a/abs/mtx_window.pd +++ b/abs/mtx_window.pd @@ -1,4 +1,4 @@ -#N canvas 0 0 839 500 10; +#N canvas 400 0 1130 500 10; #X obj 41 9 inlet; #N canvas 404 130 450 300 scale_-1...1 0; #X obj 126 -4 inlet; @@ -108,7 +108,6 @@ #X obj 419 328 mtx_+ 0.08; #X obj 260 65 t f b; #X msg 264 109 5; -#X obj 48 131 demux 0 1 2 3 4 5; #X text 24 147 hanning; #X text 62 162 sine; #X text 131 160 rect; @@ -138,10 +137,43 @@ #X text 625 46 part of iemmatrix; #X text 549 412 Franz Zotter 2006; #X text 93 149 gauss; +#X obj 48 131 demux 0 1 2 3 4 5 6; #X obj 48 32 route hanning sine gauss rectangular bartlett hamming -blackman; +blackman kaiser; +#X obj 303 67 t f b a; +#X msg 301 109 6; +#N canvas 1059 432 430 404 kaiser 1; +#X obj 43 41 inlet; +#X obj 232 44 inlet; +#X obj 43 362 outlet; +#X obj 43 248 mtx_win_besseli0; +#X obj 43 327 mtx_./ 1; +#X obj 43 159 mtx_* 1; +#X obj 43 74 mtx_.^ 2; +#X obj 43 95 mtx_* -1; +#X obj 43 116 mtx_+ 1; +#X obj 43 137 mtx_.^ 0.5; +#X msg 232 227 \$3; +#X msg 232 65 \$2; +#X msg 232 180 matrix 1 1 \$1; +#X obj 232 204 mtx_win_besseli0; +#X connect 0 0 6 0; +#X connect 1 0 11 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 5 0; +#X connect 10 0 4 1; +#X connect 11 0 5 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 10 0; +#X restore 704 317 pd kaiser; #X connect 0 0 68 0; -#X connect 1 0 48 0; +#X connect 1 0 67 0; #X connect 2 0 6 0; #X connect 3 0 4 0; #X connect 4 0 2 1; @@ -150,7 +182,7 @@ blackman; #X connect 7 0 30 0; #X connect 8 0 1 0; #X connect 8 1 9 0; -#X connect 9 0 48 1; +#X connect 9 0 67 1; #X connect 10 0 14 0; #X connect 11 0 12 0; #X connect 12 0 10 1; @@ -158,8 +190,8 @@ blackman; #X connect 14 0 30 0; #X connect 15 0 1 0; #X connect 15 1 16 0; -#X connect 16 0 48 1; -#X connect 17 0 48 1; +#X connect 16 0 67 1; +#X connect 17 0 67 1; #X connect 18 0 1 0; #X connect 18 1 17 0; #X connect 18 2 25 0; @@ -176,7 +208,7 @@ blackman; #X connect 29 0 19 0; #X connect 31 0 1 0; #X connect 31 1 32 0; -#X connect 32 0 48 1; +#X connect 32 0 67 1; #X connect 33 0 34 0; #X connect 34 0 35 0; #X connect 35 0 30 0; @@ -188,30 +220,31 @@ blackman; #X connect 41 0 45 0; #X connect 42 0 1 0; #X connect 42 1 43 0; -#X connect 43 0 48 1; +#X connect 43 0 67 1; #X connect 44 0 30 0; #X connect 45 0 44 0; #X connect 46 0 1 0; #X connect 46 1 47 0; -#X connect 47 0 48 1; -#X connect 48 0 2 0; -#X connect 48 1 10 0; -#X connect 48 2 29 0; -#X connect 48 3 33 0; -#X connect 48 4 36 0; -#X connect 48 5 53 0; -#X connect 53 0 59 0; -#X connect 54 0 53 1; -#X connect 55 0 54 0; -#X connect 56 0 62 0; -#X connect 58 0 30 0; -#X connect 59 0 61 0; -#X connect 59 1 60 0; -#X connect 60 0 56 0; -#X connect 61 0 63 0; -#X connect 62 0 64 1; -#X connect 63 0 64 0; -#X connect 64 0 58 0; +#X connect 47 0 67 1; +#X connect 52 0 58 0; +#X connect 53 0 52 1; +#X connect 54 0 53 0; +#X connect 55 0 61 0; +#X connect 57 0 30 0; +#X connect 58 0 60 0; +#X connect 58 1 59 0; +#X connect 59 0 55 0; +#X connect 60 0 62 0; +#X connect 61 0 63 1; +#X connect 62 0 63 0; +#X connect 63 0 57 0; +#X connect 67 0 2 0; +#X connect 67 1 10 0; +#X connect 67 2 29 0; +#X connect 67 3 33 0; +#X connect 67 4 36 0; +#X connect 67 5 52 0; +#X connect 67 6 71 0; #X connect 68 0 8 0; #X connect 68 1 15 0; #X connect 68 2 18 0; @@ -219,3 +252,9 @@ blackman; #X connect 68 4 31 0; #X connect 68 5 42 0; #X connect 68 6 46 0; +#X connect 68 7 69 0; +#X connect 69 0 1 0; +#X connect 69 1 70 0; +#X connect 69 2 71 1; +#X connect 70 0 67 1; +#X connect 71 0 30 0; -- cgit v1.2.1