#N canvas 94 41 833 763 10; #X obj 423 499 dac~; #X obj 455 297 hsl 128 15 0 1 0 0 empty empty Dry/Wet -2 -8 0 10 -262144 -1 -1 1500 1; #X obj 477 422 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X text 496 422 On/off; #X obj 462 333 hsl 128 15 0 1 0 0 empty empty Volume -2 -8 0 10 -262144 -1 -1 4200 1; #N canvas 103 307 490 474 Mixer 0; #N canvas 3 429 450 300 drywet-inverter 0; #X floatatom 43 123 5 0 0 0 - - -; #X floatatom 43 79 5 0 0 0 - - -; #X obj 43 101 - 1; #X obj 43 145 * -1; #X floatatom 43 167 5 0 0 0 - - -; #X obj 46 190 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 11200 1; #X obj 43 51 inlet; #X obj 43 218 outlet; #X text 79 77 Value from Dry/wet slider; #X text 80 121 Offset value of Dry/wet slider; #X text 77 166 Inverse Value of dry/wet slider; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 7 0; #X connect 6 0 1 0; #X restore 196 88 pd drywet-inverter; #X obj 108 126 *~; #X text 51 22 Convolved signal; #X text 127 49 Dry signal; #X text 230 50 Dry/wet slider input; #X text 380 213 On/off input; #X floatatom 225 124 5 0 0 0 - - -; #X text 260 122 Inverted values; #X obj 84 185 hip~ 10; #X text 274 162 Volume control; #X obj 82 260 *~; #X obj 83 211 *~; #X obj 8 23 inlet~; #X obj 84 50 inlet~; #X obj 196 51 inlet; #X obj 238 164 inlet; #X obj 344 214 inlet; #X obj 83 363 delread~ predelay; #X obj 281 320 inlet; #X text 317 319 Pre-delay input; #X obj 82 411 outlet~; #X obj 82 298 delwrite~ predelay 5000; #X obj 84 158 +~; #X obj 67 126 *~; #X connect 0 0 1 1; #X connect 0 0 6 0; #X connect 1 0 22 1; #X connect 8 0 11 0; #X connect 10 0 21 0; #X connect 11 0 10 0; #X connect 12 0 23 0; #X connect 13 0 1 0; #X connect 14 0 0 0; #X connect 14 0 23 1; #X connect 15 0 11 1; #X connect 16 0 10 1; #X connect 17 0 20 0; #X connect 18 0 17 0; #X connect 22 0 8 0; #X connect 23 0 22 0; #X restore 432 447 pd Mixer; #X obj 33 328 *~; #X obj 442 253 *~; #X text 469 253 Dry signal; #X obj 471 364 hsl 128 15 0 1000 0 0 empty empty Pre-delay -2 -8 0 10 -262144 -1 -1 0 1; #X floatatom 468 392 5 0 0 0 - - -; #X text 504 391 Delay in ms; #X text 57 327 Convolved signal; #X obj 294 94 adc~; #X obj 32 36 bng 25 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1 ; #X obj 32 71 openpanel; #X obj 32 126 soundfiler; #X floatatom 80 152 5 0 0 0 - - -; #X obj 32 159 s IR; #X msg 32 97 read -resize \$1 IR; #X obj 116 70 table IR; #X obj 48 294 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #N canvas 908 125 836 689 FDL_convolver 1; #X obj 44 10 inlet~; #X text 87 9 Audio in; #X obj 43 101 rfft~; #X obj 171 99 rfft~; #X obj 26 633 outlet~; #X obj 374 65 block~; #X obj 374 11 loadbang; #N canvas 43 536 828 364 partition_2 0; #X obj 278 157 *~; #X obj 419 157 *~; #X obj 22 155 *~; #X obj 165 155 *~; #X obj 88 185 -~; #X obj 345 191 +~; #X obj 204 279 outlet~; #X obj 21 7 inlet~; #X obj 165 5 inlet~; #X obj 277 6 inlet~; #X obj 421 5 inlet~; #X text 63 4 Audio_r; #X text 327 3 IR_r; #X text 208 4 Audio_im; #X obj 528 56 inlet~; #X obj 599 56 inlet~; #X obj 667 56 inlet~; #X obj 730 56 inlet~; #X text 528 37 Audio_r; #X text 599 37 Audio_im; #X text 667 37 IR_r; #X text 730 37 IR_im; #X obj 203 227 rifft~; #X text 255 277 Convolved signal; #X obj 528 154 outlet~; #X obj 599 154 outlet~; #X obj 667 154 outlet~; #X obj 730 154 outlet~; #X text 526 13 Bypassed reals and imaginaries:; #X text 464 3 IR_im; #X obj 21 78 z~ 4096; #X obj 165 78 z~ 4096; #X obj 278 78 z~ 4096; #X obj 418 78 z~ 4096; #X obj 37 122 z~ 4096; #X obj 180 124 z~ 4096; #X obj 292 125 z~ 4096; #X obj 435 125 z~ 4096; #X connect 0 0 5 0; #X connect 1 0 5 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 22 0; #X connect 5 0 22 1; #X connect 7 0 30 0; #X connect 7 0 32 0; #X connect 8 0 31 0; #X connect 8 0 33 0; #X connect 9 0 34 0; #X connect 9 0 37 0; #X connect 10 0 35 0; #X connect 10 0 36 0; #X connect 14 0 24 0; #X connect 15 0 25 0; #X connect 16 0 26 0; #X connect 17 0 27 0; #X connect 22 0 6 0; #X connect 30 0 2 0; #X connect 31 0 3 0; #X connect 32 0 0 0; #X connect 33 0 1 0; #X connect 34 0 2 1; #X connect 35 0 3 1; #X connect 36 0 0 1; #X connect 37 0 1 1; #X restore 71 257 pd partition_2; #N canvas 390 323 926 417 partition_4 0; #X obj 245 228 *~; #X obj 386 228 *~; #X obj -1 226 *~; #X obj 142 226 *~; #X obj 65 256 -~; #X obj 312 262 +~; #X obj 181 353 outlet~; #X obj -1 60 inlet~; #X obj 142 58 inlet~; #X obj 269 59 inlet~; #X obj 383 58 inlet~; #X text 41 57 Audio_r; #X text 312 58 IR_r; #X text 185 57 Audio_im; #X obj 599 66 inlet~; #X obj 670 66 inlet~; #X obj 738 66 inlet~; #X obj 801 66 inlet~; #X text 599 47 Audio_r; #X text 670 47 Audio_im; #X text 738 47 IR_r; #X text 801 47 IR_im; #X obj 599 164 outlet~; #X obj 670 164 outlet~; #X obj 738 164 outlet~; #X obj 801 164 outlet~; #X text 597 23 Bypassed reals and imaginaries:; #X text 428 57 IR_im; #X text -2 13 Complex multiplication is done through formula seen in parent patch; #X obj 182 304 rifft~; #X obj -2 149 z~ 4096; #X obj 141 149 z~ 4096; #X obj 245 149 z~ 4096; #X obj 385 149 z~ 4096; #X obj 402 196 z~ 4096; #X obj 259 196 z~ 4096; #X obj 158 196 z~ 4096; #X obj 14 193 z~ 4096; #X connect 0 0 5 0; #X connect 1 0 5 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 29 0; #X connect 5 0 29 1; #X connect 7 0 30 0; #X connect 7 0 32 0; #X connect 8 0 31 0; #X connect 8 0 33 0; #X connect 9 0 34 0; #X connect 9 0 37 0; #X connect 10 0 35 0; #X connect 10 0 36 0; #X connect 14 0 22 0; #X connect 15 0 23 0; #X connect 16 0 24 0; #X connect 17 0 25 0; #X connect 29 0 6 0; #X connect 30 0 2 0; #X connect 31 0 3 0; #X connect 32 0 0 0; #X connect 33 0 1 0; #X connect 34 0 1 1; #X connect 35 0 0 1; #X connect 36 0 3 1; #X connect 37 0 2 1; #X restore 158 348 pd partition_4; #N canvas 425 316 893 375 partition_3 0; #X obj 245 209 *~; #X obj 386 209 *~; #X obj -1 207 *~; #X obj 142 207 *~; #X obj 65 237 -~; #X obj 312 243 +~; #X obj -1 50 inlet~; #X obj 142 48 inlet~; #X obj 259 49 inlet~; #X obj 403 48 inlet~; #X text 41 47 Audio_r; #X text 302 48 IR_r; #X text 185 47 Audio_im; #X obj 599 56 inlet~; #X obj 670 56 inlet~; #X obj 738 56 inlet~; #X obj 801 56 inlet~; #X text 599 37 Audio_r; #X text 670 37 Audio_im; #X text 738 37 IR_r; #X text 801 37 IR_im; #X obj 599 154 outlet~; #X obj 670 154 outlet~; #X obj 738 154 outlet~; #X obj 801 154 outlet~; #X text 597 13 Bypassed reals and imaginaries:; #X obj 183 311 outlet~; #X obj 183 284 rifft~; #X text 227 281 Convoled signal; #X text 448 47 IR_im; #X text -2 3 Complex multiplication is done through formula seen in parent patch; #X obj -2 130 z~ 4096; #X obj 141 130 z~ 4096; #X obj 245 130 z~ 4096; #X obj 385 130 z~ 4096; #X obj 401 177 z~ 4096; #X obj 260 177 z~ 4096; #X obj 157 176 z~ 4096; #X obj 14 174 z~ 4096; #X connect 0 0 5 0; #X connect 1 0 5 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 27 0; #X connect 5 0 27 1; #X connect 6 0 31 0; #X connect 6 0 33 0; #X connect 7 0 32 0; #X connect 7 0 34 0; #X connect 8 0 35 0; #X connect 8 0 38 0; #X connect 9 0 36 0; #X connect 9 0 37 0; #X connect 13 0 21 0; #X connect 14 0 22 0; #X connect 15 0 23 0; #X connect 16 0 24 0; #X connect 27 0 26 0; #X connect 31 0 2 0; #X connect 32 0 3 0; #X connect 33 0 0 0; #X connect 34 0 1 0; #X connect 35 0 1 1; #X connect 36 0 0 1; #X connect 37 0 3 1; #X connect 38 0 2 1; #X restore 113 308 pd partition_3; #N canvas 836 308 877 577 partition_5 0; #X obj 255 228 *~; #X obj 396 228 *~; #X obj -1 226 *~; #X obj 142 226 *~; #X obj 65 256 -~; #X obj 322 262 +~; #X obj 181 350 outlet~; #X obj -1 70 inlet~; #X obj 143 68 inlet~; #X obj 270 69 inlet~; #X obj 399 68 inlet~; #X text 45 68 Audio_r; #X text 313 68 IR_r; #X text 186 67 Audio_im; #X text 444 67 IR_im; #X text 2 13 Complex multiplication is done through formula seen in parent patch; #X obj 609 76 inlet~; #X obj 680 76 inlet~; #X obj 748 76 inlet~; #X obj 811 76 inlet~; #X text 609 57 Audio_r; #X text 680 57 Audio_im; #X text 748 57 IR_r; #X text 811 57 IR_im; #X obj 609 174 outlet~; #X obj 680 174 outlet~; #X obj 748 174 outlet~; #X obj 811 174 outlet~; #X text 607 33 Bypassed reals and imaginaries:; #X obj 180 311 rifft~; #X obj -2 149 z~ 4096; #X obj 141 148 z~ 4096; #X obj 255 149 z~ 4096; #X obj 395 149 z~ 4096; #X obj 269 196 z~ 4096; #X obj 158 195 z~ 4096; #X obj 14 193 z~ 4096; #X obj 412 196 z~ 4096; #X connect 0 0 5 0; #X connect 1 0 5 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 29 0; #X connect 5 0 29 1; #X connect 7 0 30 0; #X connect 7 0 32 0; #X connect 8 0 31 0; #X connect 8 0 33 0; #X connect 9 0 36 0; #X connect 9 0 37 0; #X connect 10 0 34 0; #X connect 10 0 35 0; #X connect 16 0 24 0; #X connect 17 0 25 0; #X connect 18 0 26 0; #X connect 19 0 27 0; #X connect 29 0 6 0; #X connect 30 0 2 0; #X connect 31 0 3 0; #X connect 32 0 0 0; #X connect 33 0 1 0; #X connect 34 0 0 1; #X connect 35 0 3 1; #X connect 36 0 2 1; #X connect 37 0 1 1; #X restore 202 387 pd partition_5; #N canvas 324 255 946 527 partition_6 0; #X obj 265 228 *~; #X obj 406 228 *~; #X obj -1 226 *~; #X obj 142 226 *~; #X obj 65 256 -~; #X obj 332 256 +~; #X obj 176 359 outlet~; #X obj -1 80 inlet~; #X obj 142 78 inlet~; #X obj 269 79 inlet~; #X obj 383 78 inlet~; #X text 41 77 Audio_r; #X text 312 78 IR_r; #X text 185 77 Audio_im; #X text 428 77 IR_im; #X text -2 33 Complex multiplication is done through formula seen in parent patch; #X obj 619 86 inlet~; #X obj 690 86 inlet~; #X obj 758 86 inlet~; #X obj 821 86 inlet~; #X text 619 67 Audio_r; #X text 690 67 Audio_im; #X text 758 67 IR_r; #X text 821 67 IR_im; #X obj 619 184 outlet~; #X obj 690 184 outlet~; #X obj 758 184 outlet~; #X obj 821 184 outlet~; #X text 617 43 Bypassed reals and imaginaries:; #X obj 176 311 rifft~; #X obj -2 149 z~ 4096; #X obj 141 149 z~ 4096; #X obj 265 149 z~ 4096; #X obj 405 149 z~ 4096; #X obj 422 196 z~ 4096; #X obj 279 196 z~ 4096; #X obj 157 195 z~ 4096; #X obj 14 193 z~ 4096; #X obj 404 317 block~; #X obj 404 263 loadbang; #X msg 404 290 set 4096 4 1; #X connect 0 0 5 0; #X connect 1 0 5 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 29 0; #X connect 5 0 29 1; #X connect 7 0 30 0; #X connect 7 0 32 0; #X connect 8 0 31 0; #X connect 8 0 33 0; #X connect 9 0 34 0; #X connect 9 0 37 0; #X connect 10 0 35 0; #X connect 10 0 36 0; #X connect 16 0 24 0; #X connect 17 0 25 0; #X connect 18 0 26 0; #X connect 19 0 27 0; #X connect 29 0 6 0; #X connect 30 0 2 0; #X connect 31 0 3 0; #X connect 32 0 0 0; #X connect 33 0 1 0; #X connect 34 0 1 1; #X connect 35 0 0 1; #X connect 36 0 3 1; #X connect 37 0 2 1; #X connect 39 0 40 0; #X connect 40 0 38 0; #X restore 245 423 pd partition_6; #N canvas 689 397 956 495 partition_7 0; #X obj 275 238 *~; #X obj 416 238 *~; #X obj 9 236 *~; #X obj 152 236 *~; #X obj 75 266 -~; #X obj 342 266 +~; #X obj 186 369 outlet~; #X obj 9 90 inlet~; #X obj 152 88 inlet~; #X obj 279 89 inlet~; #X obj 393 88 inlet~; #X text 51 87 Audio_r; #X text 322 88 IR_r; #X text 195 87 Audio_im; #X text 438 87 IR_im; #X text 8 43 Complex multiplication is done through formula seen in parent patch; #X obj 629 96 inlet~; #X obj 700 96 inlet~; #X obj 768 96 inlet~; #X obj 831 96 inlet~; #X text 629 77 Audio_r; #X text 700 77 Audio_im; #X text 768 77 IR_r; #X text 831 77 IR_im; #X obj 629 194 outlet~; #X obj 700 194 outlet~; #X obj 768 194 outlet~; #X obj 831 194 outlet~; #X text 627 53 Bypassed reals and imaginaries:; #X obj 186 321 rifft~; #X obj 8 159 z~ 4096; #X obj 151 159 z~ 4096; #X obj 275 159 z~ 4096; #X obj 416 159 z~ 4096; #X obj 432 206 z~ 4096; #X obj 289 206 z~ 4096; #X obj 167 205 z~ 4096; #X obj 24 203 z~ 4096; #X connect 0 0 5 0; #X connect 1 0 5 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 29 0; #X connect 5 0 29 1; #X connect 7 0 30 0; #X connect 7 0 32 0; #X connect 8 0 31 0; #X connect 8 0 33 0; #X connect 9 0 34 0; #X connect 9 0 37 0; #X connect 10 0 35 0; #X connect 10 0 36 0; #X connect 16 0 24 0; #X connect 17 0 25 0; #X connect 18 0 26 0; #X connect 19 0 27 0; #X connect 29 0 6 0; #X connect 30 0 2 0; #X connect 31 0 3 0; #X connect 32 0 0 0; #X connect 33 0 1 0; #X connect 34 0 1 1; #X connect 35 0 0 1; #X connect 36 0 3 1; #X connect 37 0 2 1; #X restore 288 455 pd partition_7; #N canvas 648 398 1010 496 partition_8 0; #X obj 285 217 *~; #X obj 426 217 *~; #X obj 19 215 *~; #X obj 162 215 *~; #X obj 85 245 -~; #X obj 352 245 +~; #X obj 196 348 outlet~; #X obj 19 69 inlet~; #X obj 162 67 inlet~; #X obj 289 68 inlet~; #X obj 403 67 inlet~; #X text 61 66 Audio_r; #X text 332 67 IR_r; #X text 205 66 Audio_im; #X text 448 66 IR_im; #X text 18 22 Complex multiplication is done through formula seen in parent patch; #X obj 196 300 rifft~; #X obj 18 138 z~ 4096; #X obj 161 138 z~ 4096; #X obj 285 138 z~ 4096; #X obj 426 138 z~ 4096; #X obj 442 185 z~ 4096; #X obj 299 185 z~ 4096; #X obj 177 184 z~ 4096; #X obj 34 182 z~ 4096; #X connect 0 0 5 0; #X connect 1 0 5 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 16 0; #X connect 5 0 16 1; #X connect 7 0 17 0; #X connect 7 0 19 0; #X connect 8 0 18 0; #X connect 8 0 20 0; #X connect 9 0 21 0; #X connect 9 0 24 0; #X connect 10 0 22 0; #X connect 10 0 23 0; #X connect 16 0 6 0; #X connect 17 0 2 0; #X connect 18 0 3 0; #X connect 19 0 0 0; #X connect 20 0 1 0; #X connect 21 0 1 1; #X connect 22 0 0 1; #X connect 23 0 3 1; #X connect 24 0 2 1; #X restore 332 488 pd partition_8; #X text 79 562 Normalization \, same as fft blocksize; #X text 470 33 x * y = (a + i b) * (c + i d); #X text 506 50 = a * c + i b * c + i a * d - b * d; #X text 506 65 = (a * c - b * d) + i(a * d + b * c); #X text 507 88 a = audio_r \, b = audio_im \, c = IR_r \, d = IR_im ; #X text 462 111 Formula taken from: mathworld.wolfram.com/complexmultiplication.html ; #X text 466 3 The complex multiplication in the partition units is done according to the following formula:; #X text 263 201 Each partition preforms complex multiplication of Audio in and IR inlet. Each partition is delayed by the amount of samples determined by block~ and a factor of their position in the delay line. partition_1 = 0 samples delay \, partition_2 = 64 samples delay etc.. ; #X obj 28 529 expr~ $v1 + $v2 + $v3 + $v4 + $v5 + $v6 + $v7 + $v8; #N canvas 1071 216 770 326 partition_1 0; #X obj 242 161 *~; #X obj 384 161 *~; #X obj -33 162 *~; #X obj 106 162 *~; #X obj 29 197 -~; #X obj 309 195 +~; #X obj 158 261 outlet~; #X obj -32 26 inlet~; #X obj 106 24 inlet~; #X obj 242 27 inlet~; #X obj 391 26 inlet~; #X text 10 23 Audio_r; #X text 286 24 IR_r; #X text 148 23 Audio_im; #X text 434 24 IR_im; #X obj 497 67 inlet~; #X obj 554 67 inlet~; #X obj 608 67 inlet~; #X obj 661 67 inlet~; #X text 496 18 Bypassed reals and imagniaries; #X text 496 48 Audio_r; #X text 552 49 Audio_im; #X text 610 47 IR_r; #X text 659 47 IR_im; #X obj 158 237 rifft~; #X obj 496 146 outlet~; #X obj 553 146 outlet~; #X obj 608 145 outlet~; #X obj 662 145 outlet~; #X obj -32 85 z~ 4096; #X obj 107 87 z~ 4096; #X obj 240 85 z~ 4096; #X obj 385 81 z~ 4096; #X obj -19 120 z~ 4096; #X obj 121 122 z~ 4096; #X obj 256 123 z~ 4096; #X obj 400 123 z~ 4096; #X connect 0 0 5 0; #X connect 1 0 5 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 24 0; #X connect 5 0 24 1; #X connect 7 0 29 0; #X connect 7 0 31 0; #X connect 8 0 30 0; #X connect 8 0 32 0; #X connect 9 0 33 0; #X connect 9 0 36 0; #X connect 10 0 34 0; #X connect 10 0 35 0; #X connect 15 0 25 0; #X connect 16 0 26 0; #X connect 17 0 27 0; #X connect 18 0 28 0; #X connect 24 0 6 0; #X connect 29 0 2 0; #X connect 30 0 3 0; #X connect 31 0 0 0; #X connect 32 0 1 0; #X connect 33 0 2 1; #X connect 34 0 3 1; #X connect 35 0 0 1; #X connect 36 0 1 1; #X restore 29 217 pd partition_1; #X msg 374 38 set 4096 4 1; #X obj 27 563 /~ 4096; #X text 340 529 <==Convolved output from each of the partitions summed together; #X text 261 266 The 4 leftmost inputs on each partition are imaginaries and reals that are to be convolved in the partition.; #X text 85 600 Multiplied by 1/8 to keep the gain down; #X obj 170 11 tabreceive~ IR; #X text 263 10 Impulse response; #X text 261 299 The 4 rightmost inputs are imagiaries and reals that are to bypass the partition; #X obj 27 601 *~ 0.125; #X connect 0 0 2 0; #X connect 2 0 23 0; #X connect 2 0 23 4; #X connect 2 1 23 1; #X connect 2 1 23 5; #X connect 3 0 23 2; #X connect 3 0 23 6; #X connect 3 1 23 3; #X connect 3 1 23 7; #X connect 6 0 24 0; #X connect 7 0 22 1; #X connect 7 1 9 0; #X connect 7 1 9 4; #X connect 7 2 9 1; #X connect 7 2 9 5; #X connect 7 3 9 2; #X connect 7 3 9 6; #X connect 7 4 9 3; #X connect 7 4 9 7; #X connect 8 0 22 3; #X connect 8 1 10 0; #X connect 8 1 10 4; #X connect 8 2 10 1; #X connect 8 2 10 5; #X connect 8 3 10 2; #X connect 8 3 10 6; #X connect 8 4 10 3; #X connect 8 4 10 7; #X connect 9 0 22 2; #X connect 9 1 8 0; #X connect 9 1 8 4; #X connect 9 2 8 1; #X connect 9 2 8 5; #X connect 9 3 8 2; #X connect 9 3 8 6; #X connect 9 4 8 3; #X connect 9 4 8 7; #X connect 10 0 22 4; #X connect 10 1 11 0; #X connect 10 1 11 4; #X connect 10 2 11 1; #X connect 10 2 11 5; #X connect 10 3 11 2; #X connect 10 3 11 6; #X connect 10 4 11 3; #X connect 10 4 11 7; #X connect 11 0 22 5; #X connect 11 1 12 0; #X connect 11 1 12 4; #X connect 11 2 12 1; #X connect 11 2 12 5; #X connect 11 3 12 2; #X connect 11 3 12 6; #X connect 11 4 12 3; #X connect 11 4 12 7; #X connect 12 0 22 6; #X connect 12 1 13 0; #X connect 12 2 13 1; #X connect 12 3 13 2; #X connect 12 4 13 3; #X connect 13 0 22 7; #X connect 22 0 25 0; #X connect 23 0 22 0; #X connect 23 1 7 0; #X connect 23 1 7 4; #X connect 23 2 7 1; #X connect 23 2 7 5; #X connect 23 3 7 2; #X connect 23 3 7 6; #X connect 23 4 7 3; #X connect 23 4 7 7; #X connect 24 0 5 0; #X connect 25 0 32 0; #X connect 29 0 3 0; #X connect 32 0 4 0; #X restore 33 242 pd FDL_convolver; #X obj 457 222 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X text 594 331 Multiplies amplitude of signal by factor between 0 and 1; #X text 488 445 <== Open to see how the sliders work; #X text 136 240 <== convolution unit; #X connect 1 0 5 2; #X connect 2 0 5 5; #X connect 4 0 5 3; #X connect 5 0 0 0; #X connect 5 0 0 1; #X connect 6 0 5 0; #X connect 7 0 5 1; #X connect 9 0 10 0; #X connect 10 0 5 4; #X connect 13 0 7 0; #X connect 13 0 22 0; #X connect 13 1 7 0; #X connect 13 1 22 0; #X connect 14 0 15 0; #X connect 15 0 19 0; #X connect 16 0 17 0; #X connect 16 0 18 0; #X connect 19 0 16 0; #X connect 21 0 6 1; #X connect 22 0 6 0; #X connect 23 0 7 1;