max v2; #N vpatcher 355 188 626 421; #P window setfont Times 10.; #P window linecount 4; #P comment 11 42 76 1310730 double-click a subpatch to go through the pfft~ examples.; #P window setfont "Fixedwidth Serif" 10.; #P window linecount 1; #N vpatcher 30 70 574 408; #P window setfont Times 10.; #P comment 88 70 84 1310730 start recording into the pfft~'s buffer.; #P comment 162 179 58 1310730 original output.; #P comment 257 190 72 1310730 pvoc'ed output.; #P comment 61 202 58 1310730 start audio.; #P window setfont "Fixedwidth Serif" 10.; #P message 76 237 37 1441802 stop; #P message 62 219 77 1441802 startwindow; #P window setfont Times 10.; #P comment 451 85 67 1310730 ¥ loop offset.; #P comment 451 63 67 1310730 ¥ loop size.; #P window setfont "Fixedwidth Serif" 10.; #P number 414 85 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P number 414 63 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 359 39 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 359 110 27 1441802 +~; #P newex 359 85 27 1441802 *~; #P newex 359 62 50 1441802 phasor~; #P flonum 257 207 35 10 0. 0 1 22 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 162 207 35 10 0. 0 1 22 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 145 230 27 1441802 *~; #P newex 131 105 72 1441802 s recstart; #P toggle 175 81 15 0; #P message 221 81 33 1441802 open; #N sfplay~ 1 40320 0 ; #P newobj 221 104 57 1441802 sfplay~; #P newex 221 230 46 1441802 *~ 0.2; #P newex 221 273 29 1441802 dac~; #P newex 221 167 134 1441802 pfft~ mypvoc~ 1024 2; #P window setfont Times 10.; #P comment 47 31 112 1310730 phase vocoder using pfft~; #P comment 223 64 100 1310730 open a soundfile.; #P comment 398 39 80 1310730 ¥ playback rate.; #P fasten 8 0 9 0 180 100 136 100; #P fasten 6 0 10 0 226 137 150 137; #P connect 11 0 10 1; #P fasten 8 0 6 0 180 100 226 100; #P connect 7 0 6 0; #P connect 6 0 3 0; #P connect 3 0 5 0; #P connect 5 0 4 0; #P fasten 21 0 4 0 67 269 226 269; #P fasten 22 0 4 0 81 269 226 269; #P fasten 10 0 4 0 150 260 226 260; #P fasten 5 0 4 1 226 260 245 260; #P fasten 10 0 4 1 150 260 245 260; #P connect 12 0 5 1; #P fasten 15 0 3 1 364 147 350 147; #P connect 16 0 13 0; #P connect 13 0 14 0; #P connect 14 0 15 0; #P fasten 17 0 14 1 419 81 381 81; #P fasten 18 0 15 1 419 104 381 104; #P pop; #P newobj 91 151 104 1441802 p phase_vocoder; #N vpatcher 134 181 457 414; #P window setfont Times 10.; #P comment 5 20 112 1310730 convolution using pfft~; #P comment 27 106 58 1310730 start audio.; #P comment 145 19 87 1310730 ¥ open a soundfile.; #P toggle 182 35 15 0; #P window setfont "Fixedwidth Serif" 10.; #P message 145 35 33 1441802 open; #N sfplay~ 1 40320 0 ; #P newobj 145 60 50 1441802 sfplay~; #P message 41 141 36 1441802 stop; #P message 27 123 76 1441802 startwindow; #P newex 101 173 29 1441802 dac~; #P newex 101 98 143 1441802 pfft~ convolve4~ 1024 2; #B color 5; #P newex 101 60 29 1441802 adc~; #P window setfont Times 10.; #P comment 137 120 100 1310730 ¥ a pfft~ subpatcher which takes two input signals and multiplies them.; #P connect 1 0 2 0; #P lcolor 7; #P fasten 5 0 3 0 46 164 106 164; #P fasten 4 0 3 0 32 164 106 164; #P connect 2 0 3 0; #P fasten 2 0 3 1 106 159 125 159; #P fasten 8 0 6 0 187 54 150 54; #P connect 7 0 6 0; #P connect 6 0 2 1; #P lcolor 13; #P fasten 1 0 2 2 106 88 194 88; #P lcolor 7; #P fasten 6 0 2 3 150 88 238 88; #P lcolor 13; #P pop; #P newobj 91 129 88 1441802 p convolution; #N vpatcher 30 70 442 327; #P origin 0 -10; #P window setfont Times 10.; #P comment 23 27 112 1310730 noise gate using pfft~; #P comment 106 53 58 1310730 open a soundfile.; #P comment 29 106 58 1310730 start audio.; #P toggle 106 81 15 0; #P window setfont "Fixedwidth Serif" 10.; #P message 127 81 33 1441802 open; #N sfplay~ 1 16384 0 ; #P newobj 106 100 53 1441802 sfplay~; #P flonum 218 83 35 10 0. 1. 3 22 0 0 0 221 221 221 222 222 222 0 0 0; #P message 44 141 34 1441802 stop; #P message 30 123 74 1441802 startwindow; #P newex 87 174 29 1441802 dac~; #P newex 106 133 122 1441802 pfft~ ngate~ 1024 2; #B color 5; #P window setfont Times 10.; #P comment 256 83 58 1310730 noise gate threshhold.; #P comment 125 153 103 1310730 noise reduction pfft~.; #P fasten 2 0 3 0 111 160 92 160; #P fasten 4 0 3 0 35 168 92 168; #P fasten 5 0 3 0 49 168 92 168; #P fasten 8 0 7 0 132 98 111 98; #P connect 9 0 7 0; #P connect 7 0 2 0; #P connect 2 0 3 1; #P connect 6 0 2 1; #P pop; #P newobj 91 107 86 1441802 p noise_gate; #N vpatcher 82 92 416 350; #P window setfont Times 10.; #P comment 14 17 112 1310730 crossover using pfft~; #P toggle 90 63 15 0; #P window setfont "Fixedwidth Serif" 10.; #P message 38 194 34 1441802 stop; #P message 14 176 74 1441802 startwindow; #P newex 90 220 29 1441802 dac~; #P user gain~ 202 136 28 25 158 0 1.071519 7.94321 10.; #P user gain~ 90 136 28 25 158 0 1.071519 7.94321 10.; #P flonum 202 63 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P message 117 63 33 1441802 open; #N sfplay~ 1 40320 0 ; #P newobj 90 85 61 1441802 sfplay~; #P newex 90 111 122 1441802 pfft~ xover~ 1024 2; #B color 5; #P window setfont Times 10.; #P comment 240 63 66 1310730 ¥ crossover frequency.; #P comment 90 45 67 1310730 ¥ soundfile in.; #P comment 235 135 68 1310730 ¥ set the volumes below/above the crossover frequency.; #P comment 14 160 63 1310730 ¥ start audio.; #P connect 13 0 5 0; #P fasten 6 0 5 0 122 81 95 81; #P connect 5 0 4 0; #P connect 4 0 8 0; #P fasten 9 0 10 0 207 201 95 201; #P fasten 11 0 10 0 19 215 95 215; #P fasten 12 0 10 0 43 215 95 215; #P connect 8 0 10 0; #P fasten 9 0 10 1 207 201 114 201; #P fasten 8 0 10 1 95 201 114 201; #P connect 7 0 4 1; #P connect 4 1 9 0; #P pop; #P newobj 91 85 78 1441802 p crossover; #N vpatcher 30 70 430 370; #P window setfont Times 10.; #P comment 25 18 112 1310730 multiplication using pfft~; #P comment 20 99 58 1310730 start audio.; #P comment 242 23 87 1310730 ¥ open a soundfile.; #P toggle 276 39 15 0; #P window setfont "Fixedwidth Serif" 10.; #P message 242 39 32 1441802 open; #N sfplay~ 1 40320 0 ; #P newobj 242 63 50 1441802 sfplay~; #P message 34 134 36 1441802 stop; #P message 20 116 76 1441802 startwindow; #P newex 94 166 29 1441802 dac~; #P newex 94 91 158 1441802 pfft~ convolvefft~ 1024 2; #B color 5; #P newex 94 63 29 1441802 adc~; #P window setfont Times 10.; #P comment 130 113 100 1310730 ¥ a pfft~ subpatcher which takes two input signals and multiplies them.; #P connect 1 0 2 0; #P connect 2 0 3 0; #P fasten 4 0 3 0 25 157 99 157; #P fasten 5 0 3 0 39 157 99 157; #P fasten 2 0 3 1 99 152 118 152; #P connect 7 0 6 0; #P fasten 8 0 6 0 281 58 247 58; #P connect 6 0 2 1; #P pop; #P newobj 91 63 158 1441802 p 2_input_multiplication; #N vpatcher 30 70 299 273; #P window setfont Times 10.; #P comment 128 18 112 1310730 a simple use of pfft~; #P comment 5 72 58 1310730 start audio.; #P window setfont "Fixedwidth Serif" 10.; #P message 19 107 35 1441802 stop; #P message 5 89 75 1441802 startwindow; #P newex 78 139 29 1441802 dac~; #P newex 78 64 140 1441802 pfft~ fftbasic~ 1024 2; #B color 5; #P newex 78 16 29 1441802 adc~; #P window setfont Times 10.; #P comment 114 86 100 1310730 ¥ a simple pfft~ circuit: loads the fft-subpatch fftbasic~ with a 1024 window size and a 2x overlap.; #P connect 1 0 2 0; #P connect 2 0 3 0; #P fasten 5 0 3 0 24 130 83 130; #P fasten 4 0 3 0 10 130 83 130; #P fasten 2 0 3 1 83 113 102 113; #P pop; #P newobj 91 41 98 1441802 p simple_pfft~; #P pop;