max v2; #N vpatcher -66 60 1214 1038; #P origin 226 19; #P user spectroscope~ 17 581 389 128 20 0 0 0 1 1 0 1 0 0 0 0; #X frgb 224 224 224; #X brgb 255 255 255; #X rgb2 0 0 0; #X rgb3 243 204 204; #X rgb4 255 0 0; #X rgb5 184 184 184; #X rgb6 0 0 0; #X rgb7 0 0 0; #X rgb8 255 255 255; #X rgb9 255 0 0; #X rgb10 255 191 0; #X rgb11 0 191 127; #X rgb12 127 0 127; #X rgb13 0 0 0; #X range 0. 1.2; #X domain 0. 22050.; #X done; #P window setfont "Sans Serif" 9.; #P flonum 529 620 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P window linecount 1; #P newex 529 581 83 196617 expr $f1/1.28; #P button 593 726 15 14; #P button 534 726 15 7; #P message 35 334 73 196617 range 0.005 6; #P comment 339 275 27 196617 High; #P comment 183 275 33 196617 Mid; #P comment 30 275 35 196617 Low; #P comment 387 145 90 196617 Play Backwards; #P flonum 65 250 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 217 250 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 373 250 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 268 92 105 196617 info~ audiofile; #P newex 56 174 84 196617 expr 999 - $i1; #P newex 484 539 48 196617 cascade~; #P newex 324 217 190 196617 expr ($i2*.035)/750*$i1 - $i2*.035; #P newex 324 250 31 196617 dbtoa; #P newex 170 217 190 196617 expr ($i2*.035)/750*$i1 - $i2*.035; #P newex 170 250 31 196617 dbtoa; #P newex 17 217 190 196617 expr ($i2*.035)/750*$i1 - $i2*.035; #P newex 17 250 31 196617 dbtoa; #P message 324 297 107 196617 params 2 8000 \$1 0.4; #P message 170 297 118 196617 params 1 1000 \$1 0.5; #P message 17 297 107 196617 params 0 100 \$1 0.25; #P newex 417 539 48 196617 cascade~; #P user filtergraph~ 17 370 389 143 3 9 20. 20000. 0.005 6. 1 1 1 0 0 1 1; #X frgb 10 145 254; #X brgb 209 209 209; #X rgb2 58 242 255; #X rgb3 130 130 130; #X rgb4 0 0 0; #X rgb5 76 108 172; #X rgb6 210 74 54; #X rgb7 255 22 22; #X linmarkers 5512.5 11025. 16537.5; #X logmarkers 10. 100. 1000. 10000.; #X nfilters 3; #X setfilter 2 7 1 0 0 8000. 3.684962 0.4 0. 0. 0. 0. 0. 0.; #X setfilter 1 5 1 0 0 1000. 0.030868 0.5 0. 0. 0. 0. 0. 0.; #X setfilter 0 6 1 0 0 100. 0.130783 0.25 0. 0. 0. 0. 0. 0.; #X done; #P window setfont "Sans Serif" 18.; #P message 593 677 54 196626 stop; #B color 14; #P message 534 677 59 196626 start; #B color 7; #P window setfont "Sans Serif" 9.; #P message 376 124 56 196617 \$1 \, 0 \$1; #P newex 529 217 125 196617 expr (999 - $i1) *.128; #P message 66 35 26 196617 stop; #P message 17 35 41 196617 start; #P newex 17 136 119 196617 unpack 0 0 0 0 0 0 0 0; #P newex 17 108 53 196617 route ai; #P user gain~ 484 581 24 100 158 0 1.071519 7.94321 10.; #P user gain~ 417 581 24 100 158 0 1.071519 7.94321 10.; #P newex 417 726 77 196617 dac~; #P newex 417 333 91 196617 play~ audiofile 2; #P message 268 124 56 196617 0 \, \$1 \$1; #P newex 484 217 27 196617 line~; #P message 268 35 80 196617 import 0 -1 2; #P newex 268 58 115 196617 buffer~ audiofile -1 2; #P newex 17 79 102 196617 PhidgetInterfaceKit; #P comment 278 145 80 196617 Play Forwards; #P window linecount 6; #P comment 130 63 122 196617 This section controls the Phidget and is responsible for translating its analog output which is a list \, to individual channels containing floats.; #P comment 384 34 140 196617 Here \, a file is being imported and converted to an uncompressed format if applicable. Its length is read and data for a single speed playback is generated; #P window linecount 8; #P comment 537 244 109 196617 To the left \, data is converted from the slider position to filter amplitude. Slider data is interpreted as a linear decibel scale \, zeroed at 75% slide length.; #P window linecount 5; #P comment 537 371 100 196617 The graph to the right provides a visual rendition of how the signal will be processed.; #P window linecount 2; #P comment 136 536 256 196617 Below \, the spectroscope shows the processed signal. To the lower right \, a volume control is implemented.; #P hidden connect 45 0 17 0; #P fasten 18 0 6 0 71 65 22 65; #P fasten 17 0 6 0 22 65 22 65; #P connect 6 0 15 0; #P connect 15 0 16 0; #P connect 16 0 29 0; #P connect 29 0 28 0; #P connect 28 0 25 0; #P fasten 25 0 23 0 22 325 22 325; #P fasten 26 0 23 0 175 325 22 325; #P fasten 27 0 23 0 329 325 22 325; #P fasten 44 0 23 0 40 361 22 361; #P fasten 24 0 49 0 422 571 22 571; #P hidden connect 45 0 44 0; #P fasten 16 3 35 0 61 164 61 164; #P fasten 29 0 39 0 22 243 70 243; #P hidden connect 46 0 18 0; #P fasten 35 0 29 1 61 200 158 200; #P fasten 16 1 31 0 35 210 175 210; #P connect 31 0 30 0; #P connect 30 0 26 0; #P fasten 31 0 38 0 175 243 222 243; #P connect 8 0 7 0; #P fasten 7 1 36 0 359 84 273 84; #P fasten 36 6 10 0 351 117 273 117; #P hidden connect 45 0 10 0; #P fasten 35 0 31 1 61 200 311 200; #P fasten 16 2 33 0 48 205 329 205; #P connect 33 0 32 0; #P connect 32 0 27 0; #P fasten 33 0 37 0 329 243 378 243; #P fasten 36 6 20 0 351 117 381 117; #P fasten 9 0 11 0 489 324 422 324; #P connect 11 0 24 0; #P fasten 19 0 13 0 534 572 422 572; #P connect 24 0 13 0; #P fasten 22 0 12 0 598 715 422 715; #P fasten 21 0 12 0 539 715 422 715; #P connect 13 0 12 0; #P fasten 23 0 24 1 22 526 460 526; #P fasten 35 0 33 1 61 200 465 200; #P fasten 10 0 9 0 273 179 489 179; #P fasten 20 0 9 0 381 179 489 179; #P fasten 11 1 34 0 489 464 489 464; #P fasten 19 0 14 0 534 572 489 572; #P connect 34 0 14 0; #P fasten 14 0 12 1 489 713 489 713; #P fasten 23 0 34 1 22 526 527 526; #P fasten 16 4 19 0 74 165 534 165; #P connect 19 0 47 0; #P connect 47 0 48 0; #P connect 21 0 45 0; #P fasten 9 1 22 0 506 515 598 515; #P connect 22 0 46 0; #P pop;