max v2; #N vpatcher 50 44 589 466; #P window setfont Times 10.; #P window linecount 1; #P comment 83 49 51 1310730 Wave Type; #P comment 62 280 53 1310730 Amplitude; #P window setfont "Fixedwidth Serif" 10.; #P newex 21 71 46 1441802 r freq; #N vpatcher 12 173 631 473; #P window setfont Times 10.; #P comment 466 22 79 1310730 Even when the fundamental frequency is removed \, the perceived pitch remains the same.; #P comment 269 29 122 1310730 fundamental frequency (float); #P window setfont "Fixedwidth Serif" 10.; #P newex 475 259 32 1441802 dac~; #P message 399 236 74 1441802 startwindow; #P message 365 236 32 1441802 stop; #N comlet (float) frequency; #P inlet 254 28 15 0; #P newex 548 71 43 1441802 cycle~; #P newex 475 124 83 1441802 selector~ 1 1; #B color 5; #P message 475 97 14 1441802 0; #P message 491 97 14 1441802 1; #P newex 423 71 43 1441802 cycle~; #P newex 423 97 50 1441802 *~ 0.25; #P newex 548 97 44 1441802 *~ 0.5; #P newex 366 97 55 1441802 *~ 0.125; #P newex 302 97 62 1441802 *~ 0.0625; #P newex 232 97 68 1441802 *~ 0.03125; #P newex 156 97 74 1441802 *~ 0.015625; #P newex 80 97 74 1441802 *~ 0.007813; #P newex 4 97 74 1441802 *~ 0.003906; #P newex 366 71 44 1441802 cycle~; #P newex 366 50 32 1441802 * 3.; #P newex 423 50 32 1441802 * 2.; #P newex 302 50 32 1441802 * 4.; #P newex 302 71 44 1441802 cycle~; #P newex 232 71 44 1441802 cycle~; #P newex 232 50 32 1441802 * 5.; #P newex 156 50 32 1441802 * 6.; #P newex 156 71 44 1441802 cycle~; #P newex 80 71 44 1441802 cycle~; #P newex 80 50 32 1441802 * 7.; #P newex 4 50 32 1441802 * 8.; #P newex 4 71 44 1441802 cycle~; #P newex 475 234 27 1441802 *~; #P newex 492 209 38 1441802 line~; #P newex 492 188 68 1441802 pack 0. 50; #P flonum 492 170 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 492 149 38 1441802 r amp; #P fasten 31 0 6 0 259 46 9 46; #P connect 6 0 5 0; #P connect 5 0 18 0; #P fasten 31 0 7 0 259 46 85 46; #P connect 7 0 8 0; #P connect 8 0 19 0; #P fasten 31 0 10 0 259 46 161 46; #P connect 10 0 9 0; #P connect 9 0 20 0; #P fasten 31 0 11 0 259 46 237 46; #P connect 11 0 12 0; #P connect 12 0 21 0; #P fasten 31 0 14 0 259 46 307 46; #P connect 14 0 13 0; #P connect 13 0 22 0; #P fasten 31 0 16 0 259 46 371 46; #P connect 16 0 17 0; #P connect 17 0 23 0; #P fasten 31 0 15 0 259 46 428 46; #P connect 15 0 26 0; #P connect 26 0 25 0; #P fasten 27 0 29 0 496 120 480 120; #P fasten 28 0 29 0 480 120 480 120; #P fasten 18 0 4 0 9 146 480 146; #P fasten 19 0 4 0 85 146 480 146; #P fasten 21 0 4 0 237 146 480 146; #P fasten 20 0 4 0 161 146 480 146; #P fasten 22 0 4 0 307 146 480 146; #P fasten 23 0 4 0 371 146 480 146; #P fasten 25 0 4 0 428 146 480 146; #P connect 29 0 4 0; #P connect 4 0 34 0; #P fasten 32 0 34 0 370 255 480 255; #P fasten 33 0 34 0 404 255 480 255; #P connect 0 0 1 0; #P connect 1 0 2 0; #P connect 2 0 3 0; #P connect 3 0 4 1; #P fasten 31 0 30 0 259 46 553 46; #P connect 30 0 24 0; #P connect 24 0 29 1; #P pop; #P newobj 409 136 110 1441802 patcher harmonics; #P toggle 409 74 15 0; #P window setfont Times 10.; #P comment 67 93 45 1310730 Frequency; #P window setfont "Fixedwidth Serif" 10.; #P flonum 21 93 46 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P window linecount 3; #P message 431 45 63 1441802 0 \; amp 0.2 \; freq 440.; #P window linecount 1; #P newex 431 24 53 1441802 loadbang; #P newex 24 259 38 1441802 r amp; #P message 83 24 32 1441802 stop; #P message 7 24 73 1441802 startwindow; #P newex 7 372 32 1441802 dac~; #P flonum 24 280 38 10 0. 1. 3 22 0 0 0 221 221 221 222 222 222 0 0 0; #P message 24 298 38 1441802 \$1 50; #P newex 7 341 27 1441802 *~; #P newex 24 317 38 1441802 line~; #P user umenu 7 48 77 1441833 1 64 64 0; #X add Off; #X add Sinusoid; #X add Sawtooth; #X add Triangle; #X add Square; #P newex 7 235 366 1441802 selector~ 4; #B color 5; #P message 409 92 62 1441802 enable \$1; #P newex 409 111 62 1441802 pcontrol; #P newex 135 178 56 1441802 *~; #P message 181 129 122 1441802 1. \, 2. 5000 1. 5000; #P newex 181 153 55 1441802 line~ 1.; #N vpatcher 141 300 378 466; #P window setfont "Fixedwidth Serif" 10.; #P newex 111 61 53 1441802 loadbang; #P message 111 82 104 1441802 read tri512.aiff; #P newex 111 101 104 1441802 buffer~ triangle; #N comlet (signal) triangle wave; #P outlet 8 107 15 0; #N comlet (float) frequency; #P inlet 59 25 15 0; #P newex 8 25 44 1441802 begin~; #B color 5; #P newex 8 54 32 1441802 sig~; #P newex 8 81 98 1441802 cycle~ triangle; #P window setfont Times 10.; #P comment 73 26 137 1310730 frequency (float); #P connect 3 0 2 0; #P fasten 4 0 2 0 64 48 13 48; #P connect 2 0 1 0; #P connect 1 0 5 0; #P connect 8 0 7 0; #P connect 7 0 6 0; #P pop; #P newobj 249 210 110 1441802 patcher triangle; #P newex 135 128 43 1441802 begin~; #B color 5; #P newex 135 153 32 1441802 sig~; #P toggle 363 167 15 0; #P newex 363 185 38 1441802 mute~; #B color 5; #P window setfont Times 10.; #P comment 408 196 45 1310730 square; #P comment 168 196 45 1310730 sawtooth; #P comment 286 196 45 1310730 triangle; #P window setfont "Fixedwidth Serif" 10.; #P newex 21 210 110 1441802 cycle~; #P newex 135 210 110 1441802 phasor~; #N vpatcher 393 300 633 481; #P window setfont "Fixedwidth Serif" 10.; #P newex 9 115 39 1441802 pass~; #B color 5; #P window setfont Times 10.; #P comment 59 48 96 1310730 sawtooth from 0 to 1; #P comment 53 74 100 1310730 convert to only 1 or 0; #P comment 21 93 52 1310730 pulse train; #P window setfont "Fixedwidth Serif" 10.; #P newex 9 72 44 1441802 <~ 0.5; #B color 5; #P newex 9 46 50 1441802 phasor~; #N comlet (float or signal) frequency; #P inlet 9 28 15 0; #P window setfont Times 10.; #P comment 24 29 50 1310730 frequency; #N comlet (signal) pulse train; #P outlet 9 144 15 0; #P connect 2 0 3 0; #P connect 3 0 4 0; #P connect 4 0 8 0; #P connect 8 0 0 0; #P pop; #P newobj 363 210 123 1441802 patcher pulsewave; #P window setfont Times 10.; #P comment 53 196 45 1310730 sinusoid; #P connect 18 0 17 0; #P connect 17 0 20 0; #P connect 20 0 23 0; #P fasten 24 0 23 0 12 43 3 43 3 368 12 368; #P fasten 25 0 23 0 88 43 3 43 3 368 12 368; #P connect 33 0 29 0; #P connect 29 0 3 0; #P connect 26 0 22 0; #P connect 22 0 21 0; #P connect 21 0 19 0; #P connect 19 0 20 1; #P fasten 20 0 23 1 12 363 34 363; #P fasten 3 0 17 1 26 231 101 231; #P fasten 29 0 9 0 26 149 140 149; #P connect 10 0 9 0; #P connect 9 0 14 0; #P connect 14 0 2 0; #P connect 13 0 12 0; #P connect 12 0 14 1; #P fasten 2 0 17 2 140 231 190 231; #P fasten 29 0 11 0 26 111 319 111 319 148 254 148; #P fasten 11 0 17 3 254 231 279 231; #P connect 8 0 7 0; #P fasten 29 0 1 0 26 111 347 111 347 206 368 206; #P connect 7 0 1 0; #P connect 1 0 17 4; #P fasten 28 0 31 0 436 88 427 88 427 71 414 71; #P connect 31 0 16 0; #P connect 16 0 15 0; #P fasten 29 0 32 0 26 111 347 111 347 132 414 132; #P connect 15 0 32 0; #P connect 27 0 28 0; #P pop;