max v2; #N vpatcher 55 72 964 765; #P window setfont "Sans Serif" 9.; #P window linecount 1; #N vpatcher 143 44 1179 745; #N vpreset 1; #X append 1 2 35 248 126 flonum float 413. \; 36 247 216 flonum float 0.94 \; 37 247 171 flonum float 1. \; 38 247 261 flonum float 1.01 \; 39 247 306 flonum float 3.75 \; 40 247 351 flonum float; #X append 1 2 12. \; 41 247 396 flonum float 27. \; 42 247 441 flonum float 8. \; 59 355 507 flonum float 0. \; 61 414 490 flonum float 413. \; 68 143 454 flonum float 1817.913818 \; 72 552 726; #X append 1 2 number int 0 \; 80 144 580 flonum float 977.959167 \; 87 490 594 slider int 0 \; 88 490 632 slider int 0 \; 92 248 81 flonum float 262. \; 95 654 205 flonum float 214.761917 \; 96 653 271; #X append 1 2 flonum float 1679.841309 \; 102 324 7 flonum float 0.5 \;; #P preset 21 485 47 27; #P window setfont "Sans Serif" 9.; #P window linecount 1; #P message 579 22 30 196617 read; #P message 453 23 30 196617 read; #P window linecount 0; #P message 14 365 29 196617 stop; #P message 5 345 67 196617 startwindow; #P window linecount 2; #P comment 19 81 100 196617 Michael Clarke with Xavier Rodet 2002; #P window linecount 3; #P comment 19 107 100 196617 incorporating ideas from eckel/iovino and dudas.; #P window setfont "Sans Serif" 14.; #P window linecount 1; #P comment 567 368 21 196622 6.; #P comment 58 231 21 196622 6.; #P comment 573 191 21 196622 5.; #P comment 23 389 21 196622 4.; #P comment 375 584 21 196622 3.; #P comment 666 34 21 196622 2.; #P window setfont "Sans Serif" 9.; #P comment 631 475 15 196617 R; #P newex 556 665 39 196617 s tofog; #P newex 7 257 45 196617 loadbang; #P message 7 305 34 196617 0.5; #P window linecount 10; #P message 875 225 61 196617 \; dens 10 \; spd 0.5 \; trans 0.15 \; amp 1. \; oct 0 \; band 1 \; tex 50 \; debatt 950 \; atten 50 \;; #P message 811 225 55 196617 \; dens 100 \; spd 5. \; trans 1.8 \; amp 0.7 \; oct 0 \; band 2 \; tex 50 \; debatt 50 \; atten 50 \;; #P message 747 225 61 196617 \; dens 100 \; spd 2.3 \; trans 0.2 \; amp 1. \; oct 0 \; band 2 \; tex 50 \; debatt 150 \; atten 50 \;; #P message 683 225 60 196617 \; dens 100 \; spd 1. \; trans 0.66 \; amp 1. \; oct 0 \; band 4 \; tex 50 \; debatt 50 \; atten 50 \;; #P window linecount 1; #N vpatcher 40 55 490 356; #P window setfont "Sans Serif" 9.; #P comment 16 35 268 196617 'bang' triggers a new fogwith exisiting parameter data; #P comment 16 133 227 196617 'reset' cancels all existing fogs immediately; #P comment 16 51 271 196617 'start N' as 'bang' but with N ms delay before starting; #P comment 16 68 374 196617 'trigger delay position speed tranposition octaviation bandwidth tex dedatt atten'; #P pop; #P newobj 712 377 33 196617 p info; #P comment 706 87 25 196617 B; #P newex 735 128 39 196617 s tofog; #P hidden newex 507 315 27 196617 + 0.; #P newex 136 542 71 196617 r towaveform; #P newex 41 285 39 196617 r tofog; #P newex 735 106 71 196617 s towaveform; #P newex 655 504 39 196617 s tofog; #P flonum 7 324 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 81 265 31 196617 s spd; #P newex 812 66 45 196617 loadbang; #P message 812 87 75 196617 mouseoutput up; #P newex 270 671 35 196617 s endb; #P newex 205 671 39 196617 s strtb; #P flonum 271 653 42 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 205 654 44 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P user waveform~ 136 570 237 74 3 9; #W mode select; #W mouseoutput up; #W unit ms; #W grid 1000.; #W ticks 8; #W labels 1; #W vlabels 0; #W vticks 1; #W bpm 120. 4.; #W frgb 33 0 0; #W brgb 60 178 173; #W rgb2 0 95 255; #W rgb3 0 0 0; #W rgb4 0 0 0; #W rgb5 190 137 255; #W rgb6 100 100 100; #W rgb7 100 100 100; #N vpatcher 267 136 854 678; #P window setfont "Sans Serif" 9.; #P newex 216 379 32 196617 +~ 0.; #P flonum 377 69 44 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 427 69 49 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 377 151 66 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P button 350 105 15 0; #P newex 377 121 27 196617 - 0.; #P newex 377 46 35 196617 r endb; #P newex 427 46 39 196617 r strtb; #P outlet 216 406 15 0; #P flonum 215 219 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 287 220 50 9 10. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 248 280 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P button 188 279 15 0; #P newex 246 261 45 196617 * 0.001; #P newex 287 198 43 196617 r length; #P newex 215 297 27 196617 / 1.; #P newex 214 197 31 196617 r spd; #P flonum 215 316 32 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 216 355 33 196617 *~ 1.; #P newex 216 334 44 196617 phasor~; #P comment 448 154 122 196617 length of selection in ms; #P comment 217 47 158 196617 start and end of selection (from waveform object or elsewhere); #P comment 285 381 100 196617 offset by position of start of selection; #P comment 130 179 138 196617 phasor runs at given speed; #P comment 55 300 152 196617 speed scaled by length of selection \, so that a speed of 1 gives original speed; #P comment 341 198 100 196617 length may be set 'by hand' as well as from waveform; #P comment 296 261 83 196617 length in seconds; #P comment 285 354 115 196617 phasor output scaled to length of selection and; #P connect 14 0 15 0; #P connect 11 0 18 0; #P connect 15 0 12 0; #P connect 18 0 12 0; #P connect 12 0 10 0; #P connect 10 0 8 0; #P connect 8 0 9 0; #P connect 9 0 27 0; #P connect 27 0 19 0; #P connect 16 0 12 1; #P fasten 25 0 27 1 432 378 243 378; #P fasten 17 0 9 1 292 352 244 352; #P fasten 17 0 14 0 292 251 251 251; #P connect 14 0 16 0; #P fasten 24 0 17 0 292 166; #P connect 13 0 17 0; #P fasten 25 0 23 0 432 102 355 102; #P connect 21 0 26 0; #P connect 23 0 22 0; #P connect 26 0 22 0; #P connect 22 0 24 0; #P fasten 25 0 22 1 432 102 399 102; #P connect 20 0 25 0; #P pop; #P newobj 81 286 63 196617 p phasecntrl; #P flonum 81 248 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 632 626 38 196617 / 127.; #P newex 594 627 38 196617 / 127.; #P button 556 626 15 0; #P slider 632 490 15 128 0 1; #P slider 594 490 15 128 0 1; #P newex 556 646 86 196617 pack spat 1. 0.; #P newex 126 340 33 196617 *~ 0.; #P message 735 67 59 196617 set buffer1; #P message 735 86 59 196617 set buffer2; #P newex 580 165 43 196617 s length; #P button 580 98 15 0; #P flonum 580 144 89 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 579 117 105 196617 info~ buffer2; #P message 579 57 84 196617 read tongue_aiff; #P newex 579 75 79 196617 buffer~ buffer2; #P message 617 432 32 196617 reset; #P window linecount 3; #P message 726 619 62 196617 \; dens 0 \; tofog reset \;; #P button 726 598 15 0; #P window linecount 1; #P newex 726 574 50 196617 select 13; #P number 726 552 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 726 529 40 196617 key; #P newex 454 165 43 196617 s length; #P button 454 97 15 0; #P flonum 454 143 89 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 453 116 105 196617 info~ buffer1; #P button 733 407 15 0; #P window linecount 2; #P message 734 474 195 196617 trigger 500. 1000. 1. 0.7 0. 50. 1000. 50.; #P window linecount 1; #P message 734 455 195 196617 trigger 300. 1000. 1. 1.5 0. 50. 500. 50.; #P message 733 434 184 196617 trigger 0. 1000. 1. 1. 0. 50. 1000. 50.; #P hidden button 490 371 15 0; #P flonum 490 414 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden newex 490 393 27 196617 * 1.; #P hidden flonum 507 355 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden newex 507 333 52 196617 * 0.001; #P button 655 432 15 0; #P message 675 432 55 196617 start 100.; #P window linecount 10; #P message 593 224 55 196617 \; dens 100 \; spd 1. \; trans 1. \; amp 0.2 \; oct 0 \; band 0 \; tex 50 \; debatt 50 \; atten 50 \;; #P window linecount 1; #N vpatcher 485 223 910 699; #P window setfont "Sans Serif" 9.; #P comment 26 341 304 196617 'spat' sets the linear amplitude of the output channels; #P comment 44 354 248 196617 takes up to 8 arguments but only as many as their are output channels will be used; #P comment 26 267 268 196617 'bang' triggers a new fog with exisiting parameter data; #P comment 26 316 227 196617 'reset' cancels all existing fogs immediately; #P comment 26 279 271 196617 'start N' as 'bang' but with N ms delay before starting; #P comment 26 292 374 196617 'trigger' triggers new fog with new data \, takes the arguments \;; #P comment 26 241 297 196617 (Signals) 1 \, 2 \, 4 or 8 channels; #P comment 15 228 297 196617 Output(s):; #P comment 25 140 297 196617 3) (float) amplitude; #P comment 26 215 297 196617 9) (float) atten in ms; #P comment 26 203 297 196617 8) (float) debatt in ms; #P comment 26 191 297 196617 7) (float) tex in ms; #P comment 26 178 297 196617 6) (float) band (Hz); #P comment 29 75 298 196617 2) (int) # of output channels: 1 \, 2 \, 4 or 8 \, optional- default 1; #P comment 29 62 298 196617 1) name of buffer for fog waveform; #P comment 26 166 297 196617 5) (float) octaviation coefficient \, default 0 = no change; #P comment 26 153 297 196617 4) (float) transposition factor (1 = original); #P comment 26 127 297 196617 2) (float) Density \, grains per sec. ( = fundamental freq); #P comment 26 101 297 196617 1) (Signal/float) position in buffer in ms; #P comment 17 29 100 196617 fog~; #P comment 17 49 298 196617 Arguments:; #P comment 16 88 297 196617 Inputs:; #P comment 43 114 225 196617 a phasor can be used to control speed through file; #P comment 15 254 100 196617 Messages:; #P comment 50 304 350 196617 delay position speed tranposition octaviation bandwidth tex dedatt atten; #P comment 26 329 171 196617 'set S' change the sample buffer to S; #P window setfont "Sans Serif" 14.; #P comment 13 404 400 196622 For new Psola options in fog~ see demonstration patchers 10 and 11.; #P pop; #P newobj 21 174 49 196617 p readme; #P message 115 398 20 196617 20; #P newex 441 223 39 196617 r atten; #P newex 396 224 44 196617 r debatt; #P newex 351 224 31 196617 r tex; #P newex 306 224 35 196617 r band; #P newex 261 224 30 196617 r oct; #P newex 171 224 34 196617 r amp; #P newex 216 224 40 196617 r trans; #P newex 126 224 35 196617 r dens; #P message 453 56 78 196617 read chiko_aiff; #P newex 453 74 79 196617 buffer~ buffer1; #P flonum 441 247 42 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 396 247 42 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 351 247 43 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 306 247 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 261 247 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 171 247 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 216 247 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 126 248 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 81 312 371 196617 fog~ soundf 2; #P user scope~ 138 413 413 533 20 3 128 -1. 1. 0 0. 0 0. 102 255 51 135 135 135 0; #P newex 81 340 33 196617 *~ 0.; #P newex 81 387 29 196617 dac~; #P comment 594 208 80 196617 a basic setting:; #P comment 439 415 44 196617 # Fogs:; #P comment 154 395 105 196617 left channel displayed; #P window linecount 3; #P comment 75 571 50 196617 sample waveform; #P window linecount 1; #P comment 451 40 214 196617 Read in soundfile to two alternative buffers:; #P comment 687 39 133 196617 Select which buffer to use; #P comment 705 67 25 196617 A; #P window linecount 3; #P comment 833 105 100 196617 (sets correct mode for waveform on loading); #P window linecount 4; #P comment 439 432 100 196617 displayed for information (larger values indicate high demand on CPU); #P window linecount 3; #P comment 375 607 100 196617 click and drag to select portion of sample to use; #P comment 769 529 100 196617 'Return' will stop all existing fogs and prevent new ones; #P window linecount 2; #P comment 593 366 118 196617 Various messages to fog. Click here for info->; #P comment 749 407 133 196617 trigger one fog at a time or all three with this bang; #P comment 80 197 442 196617 Try adjusting the parameters below \, take care not to overaload the CPU with high densities and long grains (high values for debatt+atten); #P window linecount 1; #P comment 683 208 100 196617 others to try:; #P comment 687 52 218 196617 (drag on waveform again after changing):; #P window setfont "Sans Serif" 14.; #P comment 179 41 100 196622 What to do!; #P window setfont "Sans Serif" 9.; #P comment 178 66 210 196617 1. Read in soundfiles to one or both buffers; #P comment 178 83 265 196617 2. Select one of the buffers to use initially (A or B); #P window linecount 2; #P comment 179 101 191 196617 3. Drag on the waveform disply to select some or all of the sample to use; #P window linecount 1; #P comment 180 131 142 196617 4. Switch on the patch; #P comment 181 147 151 196617 5. Try the different 'presets'; #P window linecount 2; #P comment 181 162 199 196617 6. Change the various parameters manually; #P window linecount 1; #P comment 593 475 15 196617 L; #P window setfont "Sans Serif" 14.; #P comment 431 37 21 196622 1.; #P window setfont "Sans Serif" 9.; #P comment 595 190 100 196617 'Presets':; #P window setfont "Arial Black" 14.; #P comment 18 34 57 791478286 fog~; #P window setfont "Sans Serif" 9.; #P comment 8 674 100 196617 Michael Clarke 2002; #P comment 81 226 38 196617 speed; #P window linecount 2; #P comment 18 55 136 196617 granularisation of samples based on the fof algorithm; #P comment 491 536 100 196617 You'll need to set the levels here...; #P connect 116 0 115 0; #P connect 115 0 102 0; #P connect 92 0 101 0; #P connect 105 0 34 0; #P connect 93 0 34 0; #P connect 102 0 32 0; #P connect 34 0 32 0; #P connect 32 0 31 0; #P fasten 128 0 31 0 19 384 86 384; #P fasten 127 0 31 0 10 384 86 384; #P connect 85 0 31 1; #P connect 45 0 35 0; #P connect 35 0 34 1; #P connect 34 1 85 0; #P connect 102 0 85 0; #P connect 106 0 94 0; #P fasten 32 0 33 0 86 363 143 363; #P connect 53 0 33 0; #P connect 47 0 37 0; #P connect 37 0 34 2; #P fasten 94 2 95 0 231 648 210 648; #P connect 95 0 97 0; #P connect 46 0 36 0; #P connect 36 0 34 3; #P connect 48 0 38 0; #P connect 38 0 34 4; #P connect 96 0 98 0; #P connect 94 3 96 0; #P connect 49 0 39 0; #P connect 39 0 34 5; #P connect 50 0 40 0; #P connect 40 0 34 6; #P connect 51 0 41 0; #P connect 41 0 34 7; #P connect 52 0 42 0; #P connect 42 0 34 8; #P connect 129 0 43 0; #P connect 44 0 43 0; #P connect 69 0 67 0; #P connect 43 1 69 0; #P connect 67 6 68 0; #P connect 68 0 70 0; #P hidden connect 59 0 62 0; #P hidden connect 62 0 60 0; #P hidden fasten 35 0 60 0 495 262; #P hidden connect 60 0 61 0; #P hidden fasten 41 0 107 0 512 261; #P hidden connect 58 0 59 0; #P hidden connect 59 0 60 1; #P hidden fasten 42 0 107 1 529 261; #P connect 88 0 89 0; #P connect 87 0 89 0; #P connect 89 0 86 0; #P connect 86 0 117 0; #P connect 130 0 77 0; #P connect 78 0 77 0; #P connect 81 0 79 0; #P connect 77 1 81 0; #P connect 79 6 80 0; #P connect 80 0 82 0; #P connect 87 0 90 0; #P connect 90 0 86 1; #P connect 88 0 91 0; #P connect 91 0 86 2; #P fasten 56 0 103 0 680 462 660 462; #P fasten 63 0 103 0 660 449; #P fasten 64 0 103 0 660 470; #P fasten 65 0 103 0 660 501; #P fasten 76 0 103 0 622 455 660 455; #P connect 57 0 103 0; #P connect 71 0 72 0; #P connect 72 0 73 0; #P connect 73 0 74 0; #P connect 74 0 75 0; #P connect 66 0 63 0; #P connect 66 0 64 0; #P connect 66 0 65 0; #P connect 83 0 104 0; #P fasten 99 0 104 0 740 102; #P connect 84 0 104 0; #P connect 83 0 108 0; #P connect 84 0 108 0; #P connect 100 0 99 0; #P pop; #P newobj 89 175 32 196617 p fog; #P window linecount 3; #P comment 263 172 108 196617 double-click on either locked object \, or command-click to open; #P window linecount 1; #N vpatcher 168 113 1176 769; #P window setfont "Sans Serif" 9.; #P flonum 651 482 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 604 482 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 557 482 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 510 482 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 463 482 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 416 482 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 362 482 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P button 330 506 15 0; #P window linecount 1; #P newex 330 530 180 196617 pack formant 3 1. 609. 78. 0.7 20. 1.; #P comment 706 512 100 196617 <<<<< formant 3; #P flonum 643 399 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 596 399 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 549 399 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 502 399 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 455 399 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 408 399 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 354 399 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P button 322 423 15 0; #P newex 322 447 333 196617 pack formant 2 1. 609. 78. 0.7 20. 1.; #P window linecount 0; #P message 137 300 29 196617 stop; #P message 68 300 67 196617 startwindow; #P window linecount 1; #N vpatcher 60 69 925 698; #P origin 0 23; #P window setfont "Sans Serif" 9.; #P message 121 73 65 196617 startwindow; #P message 122 98 27 196617 stop; #P newex 31 574 44 196617 s to_fof; #P user meter~ 293 394 373 407 100 0 168 0 104 104 104 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3; #P user meter~ 293 375 373 388 100 0 168 0 104 104 104 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3; #P user meter~ 294 356 374 369 100 0 168 0 104 104 104 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3; #P button 42 532 15 0; #P flonum 116 517 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 153 516 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 190 516 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 79 516 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P message 43 461 51 196617 spat 0. 1.; #P newex 42 550 158 196617 pack spat 0. 0. 0. 0.; #P message 43 443 51 196617 spat 1. 0.; #P button 309 434 15 0; #P newex 51 268 44 196617 r to_fof; #P newex 330 513 44 196617 s to_fof; #P message 330 492 181 196617 trigger 1 800. 0.3 220. 7. 5. 700. 20.; #P message 331 474 181 196617 trigger 1 200. 0.3 660. 7. 5. 100. 20.; #P message 331 454 169 196617 trigger 1 0. 0.3 440. 7. 5. 500. 20.; #P message 50 248 32 196617 reset; #P message 50 229 55 196617 start 500.; #P button 50 211 15 0; #P user meter~ 294 338 374 351 100 0 168 0 104 104 104 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3; #P message 724 173 58 196617 \; fund 220. \; oct 0. \; amp 0.1 \; form 700. \; bw 50. \; tex 0.7 \; deb 20. \; atten 1. \;; #P message 660 173 60 196617 \; fund 1. \; oct 0. \; amp 0.5 \; form 220. \; bw 2. \; tex 1. \; deb 200. \; atten 100 \, \;; #P newex 204 186 35 196617 r fund; #P newex 299 186 30 196617 r oct; #P newex 597 185 39 196617 r atten; #P newex 550 186 31 196617 r deb; #P newex 503 186 31 196617 r tex; #P newex 456 186 29 196617 r bw; #P newex 409 186 38 196617 r form; #P newex 361 186 34 196617 r amp; #P user scope~ 441 22 632 148 256 3 128 -1. 1. 0 0. 0 0. 102 255 51 135 135 135 0; #P comment 204 172 33 196617 fund; #P flonum 203 205 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P comment 597 172 33 196617 att; #P comment 548 172 33 196617 deb; #P comment 502 172 33 196617 tex; #P comment 456 172 33 196617 bnd; #P comment 409 172 33 196617 form; #P comment 361 172 33 196617 amp; #P flonum 596 204 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 549 204 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 502 204 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 455 204 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 408 204 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 361 204 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 299 204 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 203 350 65 196617 dac~ 1 2 3 4; #P button 267 228 15 0; #P newex 267 252 340 196617 pack formant 1 1. 609. 78. 0.7 20. 1.; #P newex 203 312 64 196617 fofb~ 1 4; #P comment 13 39 100 196617 Michael Clarke 2002; #P comment 308 269 283 196617 formant formant# amp formantfrq bndwdth tex debatt atten; #P comment 50 173 100 196617 fundamental freq:; #P comment 50 188 123 196617 (either as float or signal); #P comment 300 24 100 196617 fundamental frequency and octaviation coefficient are common to all formants and go direct to the object \, other parameters go via the formant method and are specific to a particular formant; #P comment 299 172 33 196617 oct; #P comment 268 311 100 196617 fof with one formant and quad output; #P comment 660 135 100 196617 Basic settings:; #P comment 659 155 49 196617 impulses; #P comment 725 155 34 196617 pitch; #P comment 13 71 100 196617 Click basic settings and try the different messages (bang \, start \, trigger \, reset \, spat).; #P comment 634 22 100 196617 (Visual display works best with impulses.); #P window setfont "Arial Black" 14.; #P comment 12 16 165 791478286 Messages to fofb~; #P window setfont "Sans Serif" 9.; #P comment 481 351 108 196617 1 \, 2 \, 4 \, or 8 outputs can be used (default 1); #P comment 481 312 108 196617 a single fof band can comprise up to 10 formants (default 1); #P comment 375 312 103 196617 fofb~ takes two (optional) arguments:; #P comment 520 454 209 196617 trigger plays a single impulse and takes the following arguments: formant# delay(ms) amp formfreq bandw tex debatt atten; #P comment 520 494 194 196617 only the first 2 arguments are mandatory; #P comment 520 536 180 196617 in this example three impulses can be triggered independently or together using the bang; #P comment 520 577 196 196617 (fund is automatically set to zero since trigger will reset other parameters to values unsuitable for high fundamentals); #P comment 520 510 195 196617 the first argument (formant#) must be int all the others float; #P comment 20 295 135 196617 'bang' triggers a single fof immediately (at next control period); #P comment 20 335 100 196617 'start N' triggers a single fof after N ms; #P comment 43 392 137 196617 'spat' takes up to 8 arguments but only as many as their are output channels will be used; #P comment 115 442 100 196617 click these two messages to change stereo position; #P comment 43 489 151 196617 amplitude of all four channels may be controlled below:; #P comment 20 363 209 196617 'reset' kills all current fofs (but doesn't prevent new ones being created); #P connect 68 0 78 0; #P fasten 69 0 78 0 36 476; #P fasten 67 0 78 0 36 458; #P connect 72 0 74 0; #P connect 70 0 74 0; #P connect 73 0 74 0; #P connect 71 0 74 0; #P connect 74 0 68 0; #P connect 70 0 68 1; #P connect 73 0 68 2; #P connect 72 0 68 3; #P connect 71 0 68 4; #P connect 54 0 44 0; #P fasten 65 0 27 0 208 285; #P fasten 60 0 27 0 208 263; #P fasten 59 0 27 0 208 244; #P fasten 58 0 27 0 208 226; #P connect 28 0 27 0; #P connect 44 0 27 0; #P connect 27 0 30 0; #P fasten 80 0 30 0 185 88 185 345 208 345; #P fasten 79 0 30 0 186 113 186 344 208 344; #P connect 27 1 30 1; #P connect 27 2 30 2; #P fasten 31 0 27 1 304 285 262 285; #P connect 27 3 30 3; #P fasten 37 0 29 0 272 218; #P fasten 36 0 29 0 272 219; #P fasten 35 0 29 0 272 219; #P fasten 34 0 29 0 272 219; #P fasten 33 0 29 0 272 219; #P fasten 32 0 29 0 272 219; #P connect 29 0 28 0; #P fasten 27 2 76 0 244 339 280 339 280 375; #P fasten 27 3 77 0 262 338 281 338 281 394; #P fasten 27 0 57 0 208 336 299 336; #P fasten 27 1 75 0 226 337 280 337 280 356; #P connect 53 0 31 0; #P fasten 66 0 63 0 314 492; #P connect 63 0 64 0; #P connect 62 0 64 0; #P connect 61 0 64 0; #P fasten 66 0 61 0 336 449; #P fasten 66 0 62 0 314 473 336 473; #P connect 47 0 32 0; #P connect 32 0 28 2; #P connect 48 0 33 0; #P connect 33 0 28 3; #P fasten 27 0 46 0 191 329 191 10 446 10; #P connect 49 0 34 0; #P connect 34 0 28 4; #P connect 50 0 35 0; #P connect 35 0 28 5; #P connect 51 0 36 0; #P connect 36 0 28 6; #P connect 52 0 37 0; #P connect 37 0 28 7; #P pop; #P newobj 79 165 73 196617 p more on fofb; #N vpatcher 558 310 1206 728; #P origin 0 8; #P window setfont "Sans Serif" 9.; #P comment 41 217 303 196617 the first argument (formant#) must be int all the others float; #P comment 25 256 320 196617 'trigger' plays a single impulse and takes the following arguments:; #P comment 43 282 194 196617 only the first 2 arguments are mandatory; #P comment 43 295 303 196617 the first argument (formant#) must be int all the others float; #P comment 25 229 302 196617 'bang': triggers a single fof immediately (at next control period); #P comment 25 243 267 196617 start N: triggers a single fof after N ms; #P comment 25 321 304 196617 'spat' sets the linear amplitude of the output channels; #P comment 25 308 376 196617 'reset' kills all current fofs (but doesn't prevent new ones being created); #P comment 26 150 297 196617 (signals) 1 \, 2 \, 4 or 8; #P comment 15 137 297 196617 Output(s):; #P comment 29 81 298 196617 2) # of outputs - 1 \, 2 \, 4 or 8 (optional - default 1); #P comment 29 69 298 196617 1) # of formants - 10 max currently (optional - default 1); #P comment 26 120 297 196617 2) (float) ocatviation coefficient (optional - default 0); #P comment 26 107 297 196617 1) (signal/float) Fundamental freq (Hz); #P comment 17 21 100 196617 fofb~; #P comment 17 55 298 196617 Arguments:; #P comment 16 94 297 196617 Inputs:; #P comment 17 34 276 196617 Bank of formants with multiple octaviation and sptialisation; #P comment 16 165 100 196617 Messages:; #P comment 26 179 292 196617 'formant' sets parameters for all succeeding fofs; #P comment 41 204 256 196617 formant# amp formantfrq bndwdth tex debatt atten; #P comment 41 192 191 196617 takes the following arguments:; #P comment 43 269 291 196617 formant# delay(ms) amp formfreq bandw tex debatt atten; #P comment 43 334 248 196617 takes up to 8 arguments but only as many as their are output channels will be used; #P pop; #P newobj 79 148 49 196617 p readme; #P user meter~ 239 338 319 351 100 0 168 0 104 104 104 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3; #P window linecount 9; #P message 703 196 58 196617 \; fund 220. \; oct 0. \; amp 0.1 \; form 700. \; bw 50. \; tex 0.7 \; deb 20. \; atten 1 \, \;; #P message 639 196 60 196617 \; fund 1. \; oct 0. \; amp 0.5 \; form 220. \; bw 2. \; tex 1. \; deb 200. \; atten 100 \, \;; #P window linecount 1; #P newex 183 209 35 196617 r fund; #P newex 278 209 30 196617 r oct; #P newex 576 208 39 196617 r atten; #P newex 529 209 31 196617 r deb; #P newex 482 209 31 196617 r tex; #P newex 435 209 29 196617 r bw; #P newex 388 209 38 196617 r form; #P newex 340 209 34 196617 r amp; #P user scope~ 420 45 611 171 256 3 128 -1. 1. 0 0. 0 0. 102 255 51 135 135 135 0; #P comment 183 195 33 196617 fund; #P flonum 182 228 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P comment 576 195 33 196617 att; #P comment 527 195 33 196617 deb; #P comment 481 195 33 196617 tex; #P comment 435 195 33 196617 bnd; #P comment 388 195 33 196617 form; #P comment 340 195 33 196617 amp; #P flonum 575 227 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 528 227 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 481 227 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 434 227 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 387 227 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 340 227 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 278 227 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 182 337 49 196617 dac~; #P button 246 251 15 0; #P newex 246 275 340 196617 pack formant 1 1. 609. 78. 0.7 20. 1.; #P newex 182 309 52 196617 fofb~ 3 1; #P window setfont "Arial Black" 12.; #P comment 16 36 163 791478284 fofb~; #P window setfont "Sans Serif" 9.; #P window linecount 2; #P comment 16 73 100 196617 Michael Clarke with Xavier Rodet 2002; #P window linecount 1; #P comment 303 293 283 196617 formant formant# amp formantfrq bndwdth tex debatt atten; #P comment 55 196 100 196617 fundamental freq:; #P comment 55 211 123 196617 (either as float or signal); #P window linecount 12; #P comment 279 47 100 196617 fundamental frequency and octaviation coefficient are common to all formants and go direct to the object \, other parameters go via the formant method and are specific to a particular formant; #P window linecount 1; #P comment 278 195 33 196617 oct; #P window linecount 2; #P comment 235 311 100 196617 fof with one formant and mono output; #P window linecount 1; #P comment 639 158 100 196617 Basic settings:; #P comment 638 178 49 196617 impulses; #P comment 704 178 34 196617 pitch; #P window linecount 3; #P comment 613 45 100 196617 (Visual display works best with impulses.); #P window linecount 4; #P comment 345 331 241 196617 N.B. since tex (impulse attack time) and bandwidth (exponential decay) overlap \, a combination of long tex and high band (fast decay) can result in low (even zero) amplitude.; #P window linecount 3; #P comment 16 99 100 196617 incorporating ideas from eckel/iovino and dudas.; #P window linecount 0; #P comment 698 429 100 196617 <<<<< formant 2; #P connect 42 0 32 0; #P connect 32 0 15 0; #P connect 16 0 15 0; #P connect 50 0 15 0; #P connect 60 0 15 0; #P connect 15 0 18 0; #P fasten 48 0 18 0 73 331 187 331; #P fasten 49 0 18 0 142 333 187 333; #P connect 15 0 18 1; #P fasten 19 0 15 1 283 308 229 308; #P fasten 15 0 45 0 187 335 244 335; #P fasten 25 0 17 0 251 241; #P fasten 24 0 17 0 251 242; #P fasten 23 0 17 0 251 242; #P fasten 22 0 17 0 251 242; #P fasten 21 0 17 0 251 242; #P fasten 20 0 17 0 251 242; #P connect 17 0 16 0; #P connect 41 0 19 0; #P fasten 57 0 51 0 327 414; #P fasten 56 0 51 0 327 414; #P fasten 55 0 51 0 327 414; #P fasten 54 0 51 0 327 414; #P fasten 53 0 51 0 327 414; #P fasten 58 0 51 0 327 413; #P connect 51 0 50 0; #P fasten 68 0 61 0 335 496; #P fasten 67 0 61 0 335 497; #P fasten 66 0 61 0 335 497; #P fasten 65 0 61 0 335 497; #P fasten 64 0 61 0 335 497; #P fasten 63 0 61 0 335 497; #P connect 61 0 60 0; #P connect 35 0 20 0; #P connect 20 0 16 2; #P connect 63 0 60 2; #P connect 36 0 21 0; #P connect 21 0 16 3; #P connect 64 0 60 3; #P connect 53 0 50 2; #P fasten 15 0 34 0 175 328 175 35 425 35; #P connect 65 0 60 4; #P connect 37 0 22 0; #P connect 22 0 16 4; #P connect 66 0 60 5; #P connect 54 0 50 3; #P connect 67 0 60 6; #P connect 38 0 23 0; #P connect 23 0 16 5; #P connect 68 0 60 7; #P connect 55 0 50 4; #P connect 39 0 24 0; #P connect 24 0 16 6; #P connect 56 0 50 5; #P connect 40 0 25 0; #P connect 25 0 16 7; #P connect 57 0 50 6; #P connect 58 0 50 7; #P pop; #P newobj 89 194 36 196617 p fofb; #P window linecount 2; #P comment 262 250 180 196617 double-click on the locked object \, or command-click to open; #P comment 262 142 109 196617 select the object and choose 'Help/fog~'; #P window linecount 1; #N vpatcher 249 85 943 629; #P origin 0 -80; #P window setfont "Sans Serif" 9.; #P window linecount 2; #P comment 300 515 207 196617 getinfo -> prints info about the last time object was updated to the Max window; #P window linecount 3; #P comment 300 475 207 196617 setWin -> changes the buffer sampled for window shape \, deferred in the same manner as setSound; #P button 147 357 15 0; #P window linecount 4; #P comment 300 423 207 196617 setSound -> changes the buffer sampled for the sound material \, changes are defered to the next grain produced and will not interrupt the current grain; #P window linecount 1; #P message 233 240 39 196617 getinfo; #P toggle 170 220 15 0; #P window linecount 7; #P comment 300 219 194 196617 The first of these inlets determines where in the sampled buffer to begin the grain. The second specifies the length of the grain. Both of these are expressed in milliseconds. The last inlet effects the pitch of the sound playback with 1. being normal playback.; #P window linecount 1; #P hidden message 24 73 14 196617 1; #P message 170 240 58 196617 reverse \$1; #P toggle 97 220 15 0; #P message 97 240 68 196617 winInterp \$1; #P toggle 24 220 15 0; #P message 24 240 68 196617 sndInterp \$1; #P window linecount 3; #P comment 300 383 207 196617 reverse -> reverses the direction of a defined grain swapping the begin and end sample positions \, default is 0 (off); #P window linecount 2; #P comment 300 355 207 196617 winInterp -> applies allpass interpolation to window buffer samples \, default is 0 (off); #P comment 300 327 207 196617 sndInterp -> applies allpass interpolation to sound buffer samples \, default is 1 (on); #P window linecount 1; #P comment 300 314 58 196617 Messages:; #P hidden newex 106 22 48 196617 loadbang; #P hidden message 180 73 103 196617 replace behold.aiff; #P message 191 307 42 196617 replace; #P message 191 264 43 196617 replace; #P hidden message 106 73 23 196617 40.; #P hidden message 147 73 23 196617 1.; #P comment 24 490 192 196617 2 -> buffer holding grain window; #P button 24 284 15 0; #P flonum 147 284 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 106 284 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 65 284 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 191 327 105 196617 buffer~ window gauss; #P newex 191 284 78 196617 buffer~ sample; #P message 72 336 63 196617 startwindow; #P newex 24 376 29 196617 dac~; #P window linecount 5; #P comment 300 155 194 196617 The rightmost three inlets can handle information as a signal or float. However \, with both methods \, parameters updates are deferred to the beginning of each grain.; #P window linecount 1; #P comment 24 477 192 196617 1 -> buffer from which to sample sound; #P message 85 356 27 196617 stop; #P newex 24 313 133 196617 grain.bang~ sample window; #P window setfont "Fixedwidth Serif" 36.; #P comment 24 103 250 1441828 grain.bang~; #P window setfont "Sans Serif" 9.; #P window linecount 2; #P comment 42 142 111 196617 by Nathan Wolek www.nathanwolek.com; #P window linecount 4; #P comment 300 103 194 196617 Outputs a single grain when a bang is received by the leftmost inlet. Bangs only trigger a grain output if no grain is currently being output.; #P window linecount 1; #P comment 24 464 58 196617 Arguments:; #P window linecount 2; #P comment 104 260 38 196617 grain length; #P comment 145 260 32 196617 pitch mult; #P comment 63 260 32 196617 sound begin; #P comment 16 260 43 196617 trigger grain; #P window linecount 4; #P comment 164 357 119 196617 overflow: if object is busy when it receives a trigger \, the bang is sent to this outlet; #P hidden fasten 27 0 37 0 111 47 29 47; #P hidden connect 37 0 33 0; #P connect 33 0 32 0; #P hidden connect 40 0 9 0; #P connect 20 0 9 0; #P hidden connect 36 0 9 0; #P hidden connect 34 0 9 0; #P hidden connect 32 0 9 0; #P connect 9 0 13 0; #P fasten 10 0 13 0 90 373 29 373; #P fasten 14 0 13 0 77 373 29 373; #P connect 9 0 13 1; #P connect 17 0 9 1; #P connect 35 0 34 0; #P hidden fasten 27 0 23 0 111 47 111 47; #P hidden connect 23 0 18 0; #P connect 18 0 9 2; #P hidden fasten 27 0 22 0 111 47 152 47; #P hidden connect 22 0 19 0; #P connect 19 0 9 3; #P connect 9 1 42 0; #P connect 39 0 36 0; #P hidden fasten 27 0 26 0 111 47 185 47; #P hidden connect 26 0 15 0; #P connect 24 0 15 0; #P connect 25 0 16 0; #P pop; #P newobj 88 321 61 196617 p grainbang; #P comment 560 493 65 196617 - les & zoax; #P window linecount 2; #P comment 468 488 88 196617 Granular Synthesis; #P window linecount 1; #N vpatcher 361 120 961 520; #P window setfont "Sans Serif" 9.; #P window linecount 0; #P message 61 262 29 196617 stop; #P newex 110 282 31 196617 dac~; #P message 42 245 67 196617 startwindow; #P window linecount 2; #P comment 257 335 206 196617 granola~ a granular pitch shifter by Eric Lyon; #P user meter~ 29 96 109 109 100 0 168 0 103 103 103 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3; #P user meter~ 217 238 297 251 100 0 168 0 103 103 103 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3; #P user ezadc~ 110 39 154 72 0; #P flonum 180 118 69 9 0. 4. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P window linecount 1; #P newex 110 145 80 196617 granola~ 16384; #P comment 157 39 100 196617 croon here; #P window linecount 3; #P comment 181 78 117 196617 adjust increment here - increments > 1. will incur substantial delay; #P comment 194 146 245 196617 optional argument for size of delay buffer. Higher values give better pitch resolution but worse delay for increments > 1.; #P window linecount 1; #P comment 257 372 251 196617 http://arcana.dartmouth.edu/~eric; #P fasten 6 0 8 0 115 90 34 90; #P connect 6 0 4 0; #P connect 4 0 11 0; #P fasten 10 0 11 0 47 273 115 273; #P fasten 12 0 11 0 66 280 115 280; #P fasten 4 0 11 1 115 249 136 249; #P connect 5 0 4 1; #P fasten 4 0 7 0 115 211 222 211; #P pop; #P newobj 88 252 51 196617 p granola; #N vpatcher 349 82 1057 682; #P window setfont "Sans Serif" 9.; #P window linecount 1; #P message 56 448 58 196617 stop; #P newex 99 468 64 196617 dac~; #P message 37 431 96 196617 startwindow; #P comment 170 36 75 196617 linear playback; #P number 144 81 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P message 189 68 36 196617 stop; #P message 189 52 36 196617 bang; #P message 189 84 46 196617 resume; #P toggle 247 53 15 0; #N vpatcher 10 59 362 311; #P toggle 174 69 15 0; #P window setfont "Sans Serif" 9.; #P newex 77 91 50 196617 notein; #B color 5; #P newex 77 116 50 196617 stripnote; #B color 5; #P newex 174 149 50 196617 gate; #P toggle 37 53 15 0; #P newex 37 142 50 196617 gate; #P newex 214 123 50 196617 / 127.; #B color 5; #P newex 214 102 50 196617 ctlin 1; #B color 5; #P outlet 174 194 15 0; #P outlet 37 194 15 0; #P inlet 37 28 15 0; #P connect 0 0 6 0; #P connect 6 0 5 0; #P connect 5 0 1 0; #P connect 9 0 8 0; #P connect 8 0 5 1; #P connect 9 1 8 1; #P connect 6 0 10 0; #P connect 10 0 7 0; #P connect 7 0 2 0; #P connect 3 0 4 0; #P connect 4 0 7 1; #P pop; #P newobj 247 71 42 196617 p midi?; #P bpatcher 99 102 557 288 -302 -160 rgrano.pat 1; #P window linecount 5; #P comment 320 472 321 196617 Granular synthesis is a form of sampling in which the sample is played often but with very short durations (ca. 100ms). This provides one way of doing time stretching and transposition without pitch change. It's also useful for exploring a sound's tonal content without its rhythmic content.; #P window linecount 1; #P comment 576 449 65 196617 - les & zoax; #P window linecount 2; #P comment 427 420 88 196617 Granular Synthesis; #P window linecount 1; #P comment 264 55 62 196617 midi enable; #P window linecount 2; #P comment 105 68 54 196617 number of voices; #P fasten 13 0 14 0 42 459 104 459; #P fasten 15 0 14 0 61 466 104 466; #P connect 5 0 14 0; #P connect 11 0 5 1; #P connect 5 1 14 1; #P hidden connect 8 0 5 2; #P hidden connect 9 0 5 2; #P hidden connect 10 0 5 2; #P connect 7 0 6 0; #P connect 6 1 5 4; #P fasten 6 0 5 11 252 95 599 95; #P fasten 6 0 5 12 252 95 644 95; #P pop; #P newobj 88 491 66 196617 p Granulator; #P window linecount 3; #P comment 523 416 108 196617 by dan trueman \, music dept. princeton university; #P window linecount 4; #P comment 375 416 146 196617 The munger takes a signal input and granulates it \, allowing for different transposition and granular sampling effects.; #P window linecount 1; #P newex 88 424 105 196617 munger~; #P window linecount 2; #P comment 262 89 109 196617 msp Granular Synthesis; #P window linecount 1; #P comment 374 90 204 196617 nobuyasu sakodna / July 2000; #P comment 374 104 124 196617 sako@marin.or.jp; #P window linecount 2; #P comment 261 366 111 196617 by Nathan Wolek www.nathanwolek.com; #P window linecount 1; #P newex 88 380 145 196617 grain.stream~ sample window; #P newex 88 361 138 196617 grain.phase~ sample window; #P newex 88 340 136 196617 grain.pulse~ sample window; #P window linecount 2; #P comment 511 170 100 196617 Michael Clarke with Xavier Rodet 2002; #P window linecount 3; #P comment 611 170 100 196617 incorporating ideas from eckel/iovino and dudas.; #P window linecount 2; #P comment 374 170 136 196617 granularisation of samples based on the fof algorithm; #P window linecount 1; #P comment 448 249 218 196617 granola~ a granular pitch shifter by Eric Lyon; #P comment 448 264 176 196617 http://arcana.dartmouth.edu/~eric; #P newex 89 144 118 196617 fog~ sfile 1; #N vpatcher 138 44 1155 765; #P window setfont "Sans Serif" 9.; #P window linecount 1; #P message 705 381 43 196617 replace; #P window linecount 0; #P message 34 657 29 196617 stop; #P window linecount 1; #P newex 82 677 31 196617 dac~; #P message 132 466 29 196617 0.25; #P message 187 466 35 196617 0.375; #P message 132 518 29 196617 0.75; #P message 187 518 35 196617 0.875; #P newex 132 492 52 196617 grain2.5~; #P newex 187 492 52 196617 grain2.5~; #P newex 132 544 52 196617 grain2.5~; #P newex 187 544 52 196617 grain2.5~; #P newex 239 142 64 196617 r buffer_out; #P newex 610 450 64 196617 s buffer_out; #P comment 282 414 114 196617 random panning; #P newex 118 637 71 196617 receive~ Rout; #P newex 84 615 70 196617 receive~ Lout; #P window setfont "Lucida Grande" 9.; #P newex 747 492 79 67108873 prepend replace; #P user umenu 722 469 35 67108903 1 64 484 0; #X add tri; #X add sine; #P window setfont "Sans Serif" 9.; #P newex 303 464 38 196617 / 256.; #P user hslider 303 443 19 38 129 1 0 0; #P flonum 303 485 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 303 567 52 196617 send~ pan; #P newex 303 547 38 196617 +~ 0.5; #P newex 303 525 33 196617 *~ 0.; #P newex 303 504 43 196617 noise~; #P hidden newex 65 143 30 196617 sel 2; #P hidden newex 404 49 45 196617 pcontrol; #P hidden message 404 30 28 196617 open; #N vpatcher 408 183 914 632; #P window setfont "Sans Serif" 9.; #P hidden newex 312 24 51 196617 closebang; #P hidden newex 568 327 35 196617 del 10; #P hidden newex 568 298 30 196617 sel 0; #P toggle 450 58 15 0; #P hidden newex 565 272 27 196617 gate; #P hidden message 562 166 14 196617 0; #P hidden button 562 146 15 0; #P hidden outlet 250 619 15 0; #P comment 384 185 71 196617 grain duration; #P flonum 384 200 53 9 1. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden inlet 0 23 15 0; #N vpreset 4; #P preset 384 359 47 27; #P hidden outlet 400 620 15 0; #P flonum 384 325 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden newex 271 28 30 196617 del 5; #P hidden newex 215 502 32 196617 t b f; #P hidden button 379 127 15 0; #P message 65 44 82 196617 clear \, color 160; #P hidden outlet 351 620 15 0; #P hidden outlet 279 620 15 0; #P hidden outlet 187 618 15 0; #P flonum 211 385 50 9 0 0 160 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden button 478 88 15 0; #P hidden newex 529 196 40 196617 mtr 2; #P hidden message 518 234 65 196617 LineTo \$1 \$2; #P hidden newex 81 483 45 196617 pack 0 0; #P hidden newex 165 475 75 196617 expr 300 - $i1; #P hidden outlet 136 620 15 0; #P flonum 21 219 35 9 0 0 160 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden newex 165 580 32 196617 + 0.; #P hidden newex 165 555 33 196617 * 1.; #P hidden newex 165 527 38 196617 / 300.; #P hidden newex 214 526 31 196617 - 0.; #P hidden outlet 0 620 15 0; #P hidden newex 0 509 38 196617 / 300.; #P hidden newex 51 507 65 196617 r raw_length; #P hidden newex 0 552 33 196617 * 1.; #P comment 384 267 81 196617 pitch quantize; #P flonum 384 283 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 384 241 35 9 0. 3. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 384 162 53 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden message 492 119 41 196617 delay 0; #P window setfont "Sans Serif" 12.; #P message 384 81 50 196620 stop; #P message 384 56 50 196620 play; #P message 384 108 49 196620 record; #P window setfont "Sans Serif" 9.; #P flonum 26 68 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 26 357 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden number 134 443 35 9 0 300 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden number 66 442 35 9 0 300 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P hidden newex 66 417 78 196617 unpack; #P user lcd 65 67 307 307 1 1 0 0 0; #P comment 384 145 100 196617 position randomness; #P comment 384 225 94 196617 pitch randomness; #P comment 12 203 52 196617 pitch rate; #P comment 123 386 88 196617 position in sample; #P comment 0 70 27 196617 max; #P comment 0 357 24 196617 min; #P comment 267 386 21 196617 ms; #P window setfont "Sans Serif" 12.; #P comment 356 21 88 196620 record/play performance; #P window setfont "Sans Serif" 9.; #P comment 384 307 55 196617 output gain; #P comment 446 43 26 196617 loop; #P hidden fasten 12 0 26 0 71 469 5 469; #P hidden connect 26 0 24 0; #P hidden connect 24 0 27 0; #P hidden connect 49 2 32 0; #P hidden connect 31 0 32 0; #P hidden connect 25 0 24 1; #P hidden connect 46 0 43 0; #P connect 43 0 10 0; #P hidden connect 36 0 10 0; #P hidden connect 37 1 11 0; #P hidden connect 10 0 11 0; #P hidden connect 49 2 12 0; #P hidden connect 11 0 12 0; #P hidden connect 12 0 35 0; #P hidden connect 13 0 35 1; #P hidden connect 49 2 13 0; #P hidden connect 11 1 13 0; #P hidden connect 31 0 33 0; #P hidden fasten 13 0 34 0 139 467 170 467; #P hidden connect 34 0 29 0; #P hidden connect 29 0 30 0; #P hidden connect 30 0 31 0; #P hidden connect 14 0 31 1; #P hidden connect 20 0 40 0; #P hidden fasten 28 0 30 1 219 549 193 549; #P hidden connect 24 0 39 0; #P hidden connect 49 2 39 0; #P hidden connect 45 0 28 0; #P hidden connect 15 0 28 0; #P hidden connect 14 0 45 0; #P hidden connect 45 1 28 1; #P hidden connect 51 0 53 0; #P hidden connect 44 0 46 0; #P hidden connect 21 0 41 0; #P hidden connect 22 0 42 0; #P hidden connect 17 0 44 0; #P hidden connect 16 0 44 0; #P hidden connect 59 0 17 0; #P hidden connect 60 0 18 0; #P hidden connect 47 0 48 0; #P hidden connect 17 0 38 0; #P hidden connect 38 0 19 0; #P hidden connect 37 1 36 0; #P hidden connect 18 0 37 0; #P hidden connect 17 0 37 0; #P hidden connect 16 0 37 0; #P hidden connect 19 0 37 1; #P hidden connect 35 0 37 1; #P hidden connect 55 0 37 2; #P hidden connect 18 0 54 0; #P hidden connect 17 0 54 0; #P hidden connect 54 0 55 0; #P hidden connect 57 0 56 0; #P hidden connect 56 0 58 0; #P hidden connect 58 0 59 0; #P hidden connect 37 2 56 1; #P pop; #P newobj 547 26 92 196617 p Prism; #P newex 692 572 67 196617 s raw_length; #P window linecount 2; #P comment 884 99 48 196617 pitch quantize; #P window linecount 1; #P newex 159 193 39 196617 r rndm; #P newex 407 260 39 196617 s rndm; #P newex 675 286 27 196617 / 2.; #P newex 304 177 31 196617 - 0.; #P newex 442 178 27 196617 + 5.; #N vpatcher 484 364 884 664; #P outlet 122 210 15 0; #P outlet 61 208 15 0; #P window setfont "Sans Serif" 9.; #P newex 130 130 38 196617 / 127.; #P newex 130 173 33 196617 * 1.; #P newex 130 107 23 196617 abs; #P inlet 151 47 15 0; #P newex 130 82 27 196617 -; #P inlet 75 53 15 0; #P newex 75 135 33 196617 * 1.; #P newex 197 74 65 196617 r raw_length; #P newex 75 92 38 196617 / 127.; #P connect 2 0 9 0; #P connect 3 0 0 0; #P connect 0 0 2 0; #P connect 1 0 2 1; #P connect 7 0 10 0; #P connect 3 0 4 0; #P connect 4 0 6 0; #P connect 6 0 8 0; #P connect 8 0 7 0; #P connect 5 0 4 1; #P connect 1 0 7 1; #P pop; #P newobj 304 142 148 196617 p slider_adjuster; #P user rslider 304 110 148 21 128 1 0 14 0; #N vpatcher 50 40 450 340; #P window setfont "Sans Serif" 9.; #P newex 80 148 33 196617 sel 0.; #P outlet 80 251 15 0; #P inlet 57 27 15 0; #P newex 175 68 80 196617 r sample_length; #P newex 80 222 105 196617 *~ 1000; #P newex 80 126 39 196617 * 1.; #P newex 80 200 44 196617 phasor~; #P newex 80 178 85 196617 expr 1000. / $f1; #P newex 146 93 27 196617 t b f; #P newex 80 82 53 196617 expr 1. / $f1; #P newex 57 58 33 196617 sel 0.; #P connect 8 0 0 0; #P connect 0 1 1 0; #P fasten 2 0 5 0 151 118 85 118; #P connect 1 0 5 0; #P connect 5 0 10 0; #P connect 10 1 3 0; #P connect 3 0 4 0; #P connect 4 0 6 0; #P connect 6 0 9 0; #P fasten 2 1 5 1 168 122 114 122; #P fasten 7 0 2 0 180 91 151 91; #P fasten 7 0 6 1 180 138 180 138; #P pop; #P newobj 156 141 65 196617 p seq_engine; #N vpatcher 50 40 287 222; #P window setfont "Sans Serif" 9.; #P newex 60 83 38 196617 +~ 1.; #P outlet 60 142 15 0; #P inlet 108 31 15 0; #P newex 60 108 52 196617 *~ 0.; #P newex 60 60 38 196617 noise~; #P newex 102 82 27 196617 / 2.; #P connect 1 0 5 0; #P connect 5 0 2 0; #P connect 2 0 4 0; #P connect 3 0 0 0; #P fasten 0 0 2 1 107 103 107 103; #P pop; #P newobj 159 218 60 196617 p pos_rndm; #P flonum 829 130 34 9 0. 3. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 877 130 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #N vpatcher 360 257 869 655; #P window setfont "Sans Serif" 9.; #P newex 54 84 45 196617 loadbang; #P inlet 272 27 15 0; #P inlet 142 31 15 0; #P flonum 272 162 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P outlet 272 361 15 0; #P newex 272 275 93 196617 gate 2; #P message 317 248 14 196617 2; #P button 317 227 15 0; #P message 272 236 14 196617 1; #P newex 272 198 205 196617 sel 0.; #P newex 54 137 189 196617 expr (random (0\\\,1000) / 1000.)* $f2; #P newex 355 300 122 196617 expr int ($f1/$f2) * $f2; #P flonum 142 85 65 9 0. 3. 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 272 337 50 196617 * 1.; #P newex 54 166 93 196617 expr pow(2.\\\,$f1); #P inlet 20 49 15 0; #P newex 54 111 35 196617 metro; #P comment 40 51 45 196617 duration; #P comment 159 66 100 196617 random width; #P comment 142 112 100 196617 0 ~ 3.; #P comment 311 164 41 196617 0 ~1.0; #P comment 207 180 100 196617 pitch quantize; #P connect 21 0 5 0; #P connect 5 0 11 0; #P connect 11 0 7 0; #P connect 19 0 9 0; #P connect 9 0 11 1; #P connect 20 0 18 0; #P connect 18 0 12 0; #P connect 12 0 13 0; #P connect 13 0 16 0; #P fasten 15 0 16 0 322 269 277 269; #P connect 16 0 8 0; #P fasten 10 0 8 0 360 327 277 327; #P connect 8 0 17 0; #P fasten 6 0 8 1 25 315 317 315; #P fasten 12 1 14 0 472 221 322 221; #P connect 14 0 15 0; #P connect 7 0 16 1; #P connect 16 1 10 0; #P connect 12 1 10 1; #P pop; #P newobj 781 186 106 196617 p random_pitch; #P newex 781 210 27 196617 sig~; #P comment 51 48 329 196617 |----------- playback control -----------|; #P message 752 381 95 196617 replace tongue_aiff; #P comment 432 567 92 196617 output gain; #P comment 225 342 35 196617 v2.5; #P button 437 419 15 0; #P window linecount 2; #P comment 415 208 61 196617 position randomness; #P window linecount 1; #P comment 720 66 161 196617 |------grain------|; #P comment 303 80 105 196617 manual control; #P flonum 156 117 39 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 35 141 27 196617 + 1; #P user umenu 35 113 109 196645 1 64 129 0; #X add auto sequence; #X add manual; #X add prism; #P newex 781 236 55 196617 send~ gdur; #P newex 457 617 34 196617 s gain; #P newex 708 296 40 196617 s gfreq; #P newex 66 277 52 196617 send~ pos; #P newex 77 544 52 196617 grain2.5~; #P newex 22 544 52 196617 grain2.5~; #P newex 77 492 52 196617 grain2.5~; #P newex 22 492 52 196617 grain2.5~; #P message 15 640 67 196617 startwindow; #P message 77 518 35 196617 0.625; #P message 257 253 29 196617 \$1 5; #P newex 66 225 60 196617 selector~ 2; #P flonum 457 590 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P message 22 518 23 196617 0.5; #P newex 618 545 39 196617 r rndm; #P button 596 545 15 0; #P newex 596 571 75 196617 expr $f2 - $f1; #P flonum 407 236 40 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 66 250 103 196617 +~; #P newex 596 597 80 196617 s sample_length; #P message 417 344 16 196617 1; #N vpreset 9; #X append 1 2 27 221 257 flonum float 1.19 \; 29 131 708 flonum float 1.52 \; 35 130 765 flonum float 0.68 \; 41 236 407 flonum float 5.37 \; 46 590 457 flonum float 0.23 \; 59 113 35 umenu int; #X append 1 2 0 \; 61 117 156 flonum float 1. \; 72 130 877 flonum float 0. \; 73 130 829 flonum float 0.73 \; 93 485 303 flonum float 0.230469 \; 94 443 303 hslider int 59 \; 96 469 722; #X append 1 2 umenu int 0 \;; #P preset 417 366 50 38; #P newex 735 232 27 196617 t b f; #P flonum 765 130 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P button 596 498 15 0; #P newex 596 518 122 196617 info~ playobject; #P newex 417 319 45 196617 loadbang; #P message 77 466 35 196617 0.125; #P newex 708 263 116 196617 expr 1000. / $f1 * $f2; #P flonum 708 131 39 9 1. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0; #P message 22 466 23 196617 0.; #P flonum 257 221 102 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0; #P message 609 382 91 196617 replace chiko_aiff; #P newex 627 493 92 196617 buffer~ wndw sine; #P newex 257 273 30 196617 line~; #P window linecount 2; #P newex 609 417 97 196617 buffer~ playobject chiko_aiff -1; #B color 14; #P window linecount 1; #P comment 675 113 69 196617 duration (ms); #P comment 261 207 134 196617 play position in sample (ms); #P comment 156 101 85 196617 playback speed; #P window setfont "American Typewriter" 18.; #P comment 17 317 221 199491602 msp Granular Synthesis; #P window setfont "Sans Serif" 9.; #P comment 17 342 204 196617 nobuyasu sakodna / July 2000; #P comment 18 359 124 196617 sako@marin.or.jp; #P window linecount 2; #P comment 752 99 63 196617 base pitch control; #P window linecount 1; #P comment 156 80 129 196617 auto sequencing; #P comment 605 365 118 196617 load new sample; #P window linecount 2; #P comment 710 418 100 196617 double-click to open buffer~ window; #P window linecount 1; #P comment 629 477 80 196617 window shape; #P window linecount 2; #P comment 410 79 100 196617 move slider or drag on buffer window; #P window linecount 1; #P comment 34 98 100 196617 Control mode; #P window linecount 2; #P comment 817 98 65 196617 pitch randomness; #P window linecount 1; #P comment 296 428 41 196617 narrow; #P comment 343 428 29 196617 wide; #P comment 448 237 31 196617 ms; #P user panel 580 350 279 285; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 667 61 274 262; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 4 409 257 189; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 268 409 133 189; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 13 40 512 271; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P window linecount 2; #P comment 645 25 100 196617 <<<< click here for graphical control...; #P hidden connect 65 0 28 0; #P connect 28 0 51 0; #P hidden connect 65 0 45 0; #P connect 45 0 53 0; #P connect 59 0 60 0; #P hidden connect 59 0 88 0; #P fasten 60 0 47 0 40 210 71 210; #P connect 47 0 40 0; #P connect 40 0 55 0; #P hidden connect 65 0 31 0; #P connect 31 0 52 0; #P hidden connect 65 0 49 0; #P connect 49 0 54 0; #P fasten 112 0 111 0 39 675 87 675; #P fasten 50 0 111 0 20 668 87 668; #P connect 98 0 111 0; #P fasten 75 0 47 1 161 167 96 167; #P fasten 99 0 111 1 123 665 108 665; #P fasten 24 0 47 2 262 302 235 302 235 183 121 183; #P hidden connect 65 0 110 0; #P connect 110 0 106 0; #P hidden connect 65 0 108 0; #P connect 108 0 104 0; #P connect 61 0 75 0; #P connect 82 0 74 0; #P connect 74 0 40 1; #P hidden connect 65 0 109 0; #P connect 109 0 105 0; #P hidden connect 65 0 107 0; #P connect 107 0 103 0; #P fasten 79 0 27 0 309 201 262 201; #P connect 27 0 48 0; #P connect 48 0 24 0; #P connect 94 0 95 0; #P connect 95 0 93 0; #P connect 89 0 90 0; #P connect 90 0 91 0; #P connect 91 0 92 0; #P hidden connect 37 2 76 0; #P connect 76 0 77 0; #P hidden connect 85 0 79 0; #P connect 77 0 79 0; #P fasten 102 0 79 0 244 167 309 167; #P fasten 80 0 79 1 680 293 426 293 426 174 330 174; #P fasten 93 0 90 1 308 501 331 501; #P hidden connect 88 0 86 0; #P hidden connect 86 0 87 0; #P fasten 78 0 41 0 447 200 412 200; #P hidden connect 85 2 41 0; #P connect 41 0 81 0; #P connect 32 0 38 0; #P connect 38 0 37 0; #P connect 37 1 65 0; #P connect 76 1 77 1; #P connect 77 1 78 0; #P hidden connect 85 6 46 0; #P connect 46 0 57 0; #P hidden connect 87 0 85 0; #P fasten 68 0 34 0 757 410 601 410; #P hidden connect 32 0 34 0; #P fasten 26 0 34 0 614 409 601 409; #P connect 34 0 33 0; #P fasten 33 6 43 0 697 540 601 540; #P connect 44 0 42 0; #P connect 43 0 42 0; #P connect 42 0 39 0; #P fasten 113 0 23 0 710 411 614 411; #P connect 26 0 23 0; #P fasten 68 0 23 0 757 409 614 409; #P connect 23 0 101 0; #P fasten 97 0 25 0 752 520 726 520 726 491 632 491; #P fasten 33 6 42 1 697 547 697 547; #P fasten 30 0 80 0 713 282 680 282; #P connect 33 6 84 0; #P hidden connect 85 3 29 0; #P fasten 29 0 30 0 713 222 713 222; #P connect 36 0 30 0; #P connect 30 0 56 0; #P fasten 35 0 36 0 770 213 740 213; #P connect 96 1 97 0; #P hidden connect 85 1 35 0; #P connect 29 0 71 0; #P connect 71 0 70 0; #P connect 70 0 58 0; #P fasten 36 1 30 1 757 256 819 256; #P hidden connect 85 4 73 0; #P connect 73 0 71 1; #P hidden connect 85 5 72 0; #P connect 72 0 71 2; #P pop; #P newobj 88 92 54 196617 p Sakonda; #P comment 88 578 100 196617 rhoadley.net; #P window setfont "American Typewriter" 18.; #P comment 88 537 206 199491602 Granularisation Task; #P window setfont "Sans Serif" 9.; #P comment 88 562 100 196617 v0.05 61003; #P window linecount 2; #P comment 374 141 317 196617 you need arguments for a soundfile (it doesn't have to exist) and a number of channels in order to avoid an error message.; #P comment 261 332 100 196617 and many others - granular toolkit; #P window linecount 1; #P comment 634 436 222 196617 http://www.music.columbia.edu/PeRColate/; #P comment 634 420 174 196617 part of the Percolate set of objects:; #P window linecount 3; #P comment 69 34 272 196617 NB at present all the objects together seem to make the patch very unstable - to use \, open each one separately in a new patch...; #P window linecount 2; #P comment 261 416 109 196617 select the object and choose 'Help/Munger~'; #P user panel 85 407 791 64; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P comment 261 490 180 196617 double-click on the locked object \, or command-click to open; #P user panel 85 480 569 45; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 86 123 673 95; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 85 236 672 53; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P pop;