max v2; #N vpatcher 10 59 858 743; #P window setfont "Fixedwidth Serif" 18.; #P comment 356 157 218 1441810 or click here to change the timbre by a function; #P message 356 213 284 1441810 0 \, 1 2000 0.1 250 0.4 250 0.1 250 0.7 500 0 2000; #P toggle 15 592 15 0; #P newex 58 641 53 1441810 dac~; #P newex 100 265 64 1441810 line~; #P message 100 222 75 1441810 \$1 100; #P flonum 100 195 68 18 0. 1. 3 22 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 100 559 64 1441810 line~; #P message 100 531 75 1441810 \$1 100; #P flonum 100 504 68 18 0. 1. 3 22 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 79 588 31 1441810 *~; #P newex 79 459 306 1441810 lookup~ thetransferfunction; #P newex 79 294 31 1441810 *~; #P newex 79 82 119 1441810 cycle~ 55.; #P newex 400 25 97 1441810 loadbang; #P message 400 54 394 1441810 replace "./Documentation/Tutorials/MSP Tutorials/gtr512.aiff"; #P newex 400 99 306 1441810 buffer~ thetransferfunction; #P comment 86 385 328 1441810 the lookup~ object expects a signal between -1 and 1 \, and uses that to scan through the designated transfer function; #P comment 79 25 307 1441810 this oscillator scans the lookup table back and forth at the specified frequency; #P comment 114 294 330 1441810 this controls how much of the transfer function is used \, centered on the midpoint of the transfer function; #P comment 1 554 75 1441810 DSP on/off; #P comment 169 505 75 1441810 volume; #P comment 100 157 218 1441810 drag here to change the timbre by hand; #P connect 12 0 19 0; #P connect 20 0 19 0; #P connect 9 0 10 0; #P connect 10 0 11 0; #P connect 11 0 12 0; #P connect 16 0 17 0; #P connect 21 0 18 0; #P connect 17 0 18 0; #P connect 18 0 10 1; #P connect 13 0 14 0; #P connect 14 0 15 0; #P connect 15 0 12 1; #P connect 12 0 19 1; #P connect 8 0 7 0; #P connect 7 0 6 0; #P pop;