Update of /cvsroot/pure-data/externals/maxlib/help In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3876/help
Modified Files: automata.txt examplescore.txt help-maxlib.pd Log Message:
Checked in Olaf's 1.5.2 sources. Here are the changes:
v 1.5.2 (17. december 2003):
- modified netclient for not to drop received data: use of syspollfn instead of clock to poll for incoming data, circular recv buffer
v 1.5 (18. october 2003): - added some usefull features to arraycopy (i.e. copying just parts of an array and copying to specified position in destination array) - new object: nchange - IRIX 6.5 port (for GCC 3.3) - OS X binary (Jaguar 10.2.6)
v 1.4 (22. may 2003): - updated sources to compile with Pd0.37-test4 - new object: arraycopy
v 1.3 (12. april 2003): - new objects: sync listfifo - all setup routines renamed to maxlib_<object>_setup() to avoid name clashes, old names still work via class_addcreator() - some improvements for the help files
Index: automata.txt =================================================================== RCS file: /cvsroot/pure-data/externals/maxlib/help/automata.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** automata.txt 20 Nov 2002 17:45:59 -0000 1.1.1.1 --- automata.txt 9 Mar 2004 03:51:27 -0000 1.2 *************** *** 1,178 **** ! [The following note originally appeared on the emusic-l mailing list. It is ! reprinted here with the author's permission] ! ! From xrjdm@FARSIDE.GSFC.NASA.GOV Wed Nov 23 11:26:39 1994 ! Date: Tue, 4 Oct 1994 15:09:23 -0500 ! From: Joe McMahon xrjdm@FARSIDE.GSFC.NASA.GOV ! Reply to: Electronic Music Discussion List EMUSIC-L@AMERICAN.EDU ! To: Multiple recipients of list EMUSIC-L EMUSIC-L@AMERICAN.EDU ! Subject: Automata: the long-awaited summary ! ! Back in August, I think, I promised to post a quick intro to cellular ! automata and how they can be used as a sound-generation tool. Since I'm ! going to take a couple of different sources and sum them up with little or ! no direct attribution, combined with my own opinions, I'll give everybody ! my references *first* so they can delete the article and draw their own ! conclusions if they so prefer. ! ! The primary reference that got me started on all this is one in the CMJ: ! Vol 14, No. 4, Winter 1990: "Digital Synthesis of Self-modifying Waveforms ! by Means of Cellular Automata" (Jacques Chareyon). Those who are already ! familiar with automata may just skip to that article and forget about the ! rest of this one. ! Note: the article gives a mail address for M. Chareyon, but he did not ! answer an inquiry about any available recordings using this technique in ! 1990. ! ! So. Anyone still here? Good. ! ! Cellular automata are a mathematical concept first introduced in the late ! 1940's. Generally speaking, a cellular automaton consists of a grid of ! cells. Each cell may take on any of a number of values - binary automata ! (cell on or cell off) are the most commonly studied. Each cell has a ! neighborhood, defined more simply as other cells which influence its state. ! The exact nature of this influence is defined by what are called transition ! rules. The cellular automaton starts off with some cells in any of the ! allowable states. for each "step" in the automaton's history, the ! neighborhood of every cell is checked, and the state of the cell is ! updated. All updates occur simultaneously. ! ! The transition rule must describe the resulting state of a cell for every ! possible configuration of other cells in the neighborhood. For large ! numbers of states, the amount of memory required to hold the transition ! rule becomes increasingly large, Therefore, some automata use what is known ! as a "totalistic" rule. These rules simply sum the values of the cells in ! the neighborhood and then assign a result on this basis. The resulting ! tables are far smaller. ! ! Many readers may already be familiar with John Horton Conway's game of ! "Life". This is a two-dimensional binary automaton with a totalistic rule. ! This makes for a very small rule set: ! ! i) If fewer than two filled cells (cells with value 1) surround a cell, ! it becomes empty next generation. ! ii) If more than three filled cells surround a cell, it becomes empty ! next generation. ! iii) If exactly three cells filled cells surround a cell, it becomes ! filled on the next generation. ! ! This corresponds to a totalistic rule set with a total of 8(2-1)+1 or 9 ! rules (one each for the sum values of 0 (no cells with a value) through 9 ! (all cells with a value) ).If the transition rule were represented as a ! non-totalistic one, the rule set would need 2**8 or 256 entries. There are ! many interesting totalistic automata, so giving up detailed description of ! every nuance of the transitions to save memory space isn't a big sacrifice. ! ! Interesting as two dimensional automata are, they really aren't terribly ! useful for music making. There have been some experiments which have ! attempted to use a two-dimensional automaton to generate MIDI events - ! synthesis at the note level, using : ! ! Battista, T. and M. Giri, 1988. "Composizione Tramite Automi Cellulari." ! Atti del VII Cooloquio di Informatica Musicale. Rome, Italy: Edizione Arti ! Grafiche Ambrosini, pp. 181-182. ! ! Edgar, R. and J. Ryan, 1986. "LINA" Exhibition of the 1986 International ! Computer Music Conference, San Francisco: Computer Music Association. ! ! I have not heard any of the music from these efforts, so I certainly can't ! pass any judgement on them. For the purposes of this summary, we'll just ! look at one-dimensional automata. These use a linear array of cells, with ! the neighborhood generally being one or two cells on either side of each ! cell. ! (This is the type of automaton dealt with in M. Chareyon's article, which I ! will be paraphrasing broadly hereafter). ! ! M. Chareyon's automata are wavetables. A digitized signal is stored as a ! linear array of numbers in memory. A totalistic rule is used to determine a ! lookup value which indexes into an array containing the resulting value; ! this is saved into a second array. After the first array is completely ! processed, the roles of the two are swapped and the process is repeated. ! ! The limiting factor in this process is the number of bits of resolution ! being used to generate the sound. For a totalistic rule using a two-cell ! neighborhood and 12-bit individual samples, we have 3*(2*12) = 12288 ! entries in the rule table. At 2 bytes each, this is 24K of storage. If we ! go to 16-bit sample resolution, we have 196608 entries at 2 bytes each for ! a total of 393216 bytes, or 384K. ! ! The key point of M. Charyeon's method is the use of small neighborhoods ! with large numbers of cellular states. Since the computation of the new ! wavetable is all table lookup, very complex transition rules can be ! precomputed and loaded into the tables, allowing the synthesis to ! essentially be a fast sum-and-lookup loop to calculate each new wavesample. ! >From the article, it appears that M. Chareyon was able to produce 2 or 3 ! voices in realtime on a Mac II with a Digidesign Sound Accelerator board. ! It seems that it would probably be possible to use an AV Mac to do it ! without the board. ! ! This LASy (Linear Automaton Synthesis) method is closely related to the ! Karplus-Strong plucked-string algorithm, in that a wavesample is run ! through an algorithm which recirculates the samples to "self-modify" the ! wave. In fact, a judicious choice of table entries allows one to very ! simply simulate the K-S algoritm directly. ! ! So what are the sounds like? Some automata produce waveforms which quickly ! "ramp-up" to complex spectra and then drop off quickly. Others move to a ! steady state and then remain there. Yet others produce never-ending and ! unpredictable waveforms, whose harmonic content is constantly changing. ! ! Obviously enough, the original wavesample can be obtained mathematically, ! or by actual sampling and using LASy as a waveshaper. As M. Chareyon notes, ! a quick estimate of the number of possible automata for a 2-neighbor ! totalistic rule using a 256-entry wavetable with 12-bit entries is ! (2**12)**256 * (2**12)**(3*2**12) or about 10**4500 possible automata. Of ! course, many, many of these would not be suitable for music (e.g., the 4096 ! automata in which all values go to one vlaue in one step, etc.); however, ! the number of musically useful automata is still likely to be an immense ! number. ! ! M. Chareyon provides a number of examples of ways to fill out the rule ! tables and a number of hints on creating wave tables - generally speaking, ! one can create a function which is used to compute the values to be placed ! into the table and then fill it so it can simply be loaded and used by the ! basic algorithm. His experience in using LASy is that he manages ! approximately 50% of the time to produce sounds with the desired ! characteristics, and that about 10% of the remaining time he gets ! unexpected but useful results which can be used as starting points for ! further exploration. ! ! Again, the important point is that the basic automaton uses wavesamples at ! full resolution, calculating a new wavesample for each step of the ! automaton; the next wavesample can be played while the new one is being ! calculated. Because of the large number of states, mathematical tools for ! the analysis of automata and the construction of automata with specifically ! desired qualities require too much storage and compute time to make them ! useful for LASy purposes. ! ! Again, much of this article is paraphrased from M. Chareyon's article; I ! take no credit for any of the work in this note. I'm just summarizing. ! ! The following other articles were referenced by M. Chareyon's article: ! ! Burks, A., ed. 1970. Essays on Cellular Automata. Champaign/Urbana, IL: ! University of Illinois Press. ! ! Chareyon, J. 1988a. "Sound Synthesis and Processing by Means of Linear ! Cellular Automata." Proceedings of the 1988 Internation Computer Music ! Conference. San Francisco: Computer Music Association. ! ! Chareyon, J. 1988b. "Wavetable come Automa Cellulare: una Nuova Tecnica di ! Sintesi." Atti del VII Colloquio di Informatica Musicale, Rome, Italy: ! Edizioni Arti Grafiche Ambrosini, pp. 174-177. ! ! Farmer, D., T. Toffoli, and S. Wolfram, eds. 1984. Cellular Automata. ! North-Holland Physics Publishing. [One of the definitive works on cellular ! automata - fairly heavy math, not a popular presentation - JM] ! ! Gardner, M. 1970. "The Fantastic Combinations of John Conway's New Solitare ! Game 'Life'". Scientific American 223(4) 120-123. [A good introduction to ! cellular automata, focusing on 'life' in specific. Useful intro if my ! 1-paragraph summary of automata was confusing :) - JM] ! ! --- Joe M. ! ! -- ! "At the end of the hour, we'll have information on the sedatives used by ! the artists,,," (MST3K) ! --- 1,178 ---- ! [The following note originally appeared on the emusic-l mailing list. It is ! reprinted here with the author's permission] ! ! From xrjdm@FARSIDE.GSFC.NASA.GOV Wed Nov 23 11:26:39 1994 ! Date: Tue, 4 Oct 1994 15:09:23 -0500 ! From: Joe McMahon xrjdm@FARSIDE.GSFC.NASA.GOV ! Reply to: Electronic Music Discussion List EMUSIC-L@AMERICAN.EDU ! To: Multiple recipients of list EMUSIC-L EMUSIC-L@AMERICAN.EDU ! Subject: Automata: the long-awaited summary ! ! Back in August, I think, I promised to post a quick intro to cellular ! automata and how they can be used as a sound-generation tool. Since I'm ! going to take a couple of different sources and sum them up with little or ! no direct attribution, combined with my own opinions, I'll give everybody ! my references *first* so they can delete the article and draw their own ! conclusions if they so prefer. ! ! The primary reference that got me started on all this is one in the CMJ: ! Vol 14, No. 4, Winter 1990: "Digital Synthesis of Self-modifying Waveforms ! by Means of Cellular Automata" (Jacques Chareyon). Those who are already ! familiar with automata may just skip to that article and forget about the ! rest of this one. ! Note: the article gives a mail address for M. Chareyon, but he did not ! answer an inquiry about any available recordings using this technique in ! 1990. ! ! So. Anyone still here? Good. ! ! Cellular automata are a mathematical concept first introduced in the late ! 1940's. Generally speaking, a cellular automaton consists of a grid of ! cells. Each cell may take on any of a number of values - binary automata ! (cell on or cell off) are the most commonly studied. Each cell has a ! neighborhood, defined more simply as other cells which influence its state. ! The exact nature of this influence is defined by what are called transition ! rules. The cellular automaton starts off with some cells in any of the ! allowable states. for each "step" in the automaton's history, the ! neighborhood of every cell is checked, and the state of the cell is ! updated. All updates occur simultaneously. ! ! The transition rule must describe the resulting state of a cell for every ! possible configuration of other cells in the neighborhood. For large ! numbers of states, the amount of memory required to hold the transition ! rule becomes increasingly large, Therefore, some automata use what is known ! as a "totalistic" rule. These rules simply sum the values of the cells in ! the neighborhood and then assign a result on this basis. The resulting ! tables are far smaller. ! ! Many readers may already be familiar with John Horton Conway's game of ! "Life". This is a two-dimensional binary automaton with a totalistic rule. ! This makes for a very small rule set: ! ! i) If fewer than two filled cells (cells with value 1) surround a cell, ! it becomes empty next generation. ! ii) If more than three filled cells surround a cell, it becomes empty ! next generation. ! iii) If exactly three cells filled cells surround a cell, it becomes ! filled on the next generation. ! ! This corresponds to a totalistic rule set with a total of 8(2-1)+1 or 9 ! rules (one each for the sum values of 0 (no cells with a value) through 9 ! (all cells with a value) ).If the transition rule were represented as a ! non-totalistic one, the rule set would need 2**8 or 256 entries. There are ! many interesting totalistic automata, so giving up detailed description of ! every nuance of the transitions to save memory space isn't a big sacrifice. ! ! Interesting as two dimensional automata are, they really aren't terribly ! useful for music making. There have been some experiments which have ! attempted to use a two-dimensional automaton to generate MIDI events - ! synthesis at the note level, using : ! ! Battista, T. and M. Giri, 1988. "Composizione Tramite Automi Cellulari." ! Atti del VII Cooloquio di Informatica Musicale. Rome, Italy: Edizione Arti ! Grafiche Ambrosini, pp. 181-182. ! ! Edgar, R. and J. Ryan, 1986. "LINA" Exhibition of the 1986 International ! Computer Music Conference, San Francisco: Computer Music Association. ! ! I have not heard any of the music from these efforts, so I certainly can't ! pass any judgement on them. For the purposes of this summary, we'll just ! look at one-dimensional automata. These use a linear array of cells, with ! the neighborhood generally being one or two cells on either side of each ! cell. ! (This is the type of automaton dealt with in M. Chareyon's article, which I ! will be paraphrasing broadly hereafter). ! ! M. Chareyon's automata are wavetables. A digitized signal is stored as a ! linear array of numbers in memory. A totalistic rule is used to determine a ! lookup value which indexes into an array containing the resulting value; ! this is saved into a second array. After the first array is completely ! processed, the roles of the two are swapped and the process is repeated. ! ! The limiting factor in this process is the number of bits of resolution ! being used to generate the sound. For a totalistic rule using a two-cell ! neighborhood and 12-bit individual samples, we have 3*(2*12) = 12288 ! entries in the rule table. At 2 bytes each, this is 24K of storage. If we ! go to 16-bit sample resolution, we have 196608 entries at 2 bytes each for ! a total of 393216 bytes, or 384K. ! ! The key point of M. Charyeon's method is the use of small neighborhoods ! with large numbers of cellular states. Since the computation of the new ! wavetable is all table lookup, very complex transition rules can be ! precomputed and loaded into the tables, allowing the synthesis to ! essentially be a fast sum-and-lookup loop to calculate each new wavesample. ! >From the article, it appears that M. Chareyon was able to produce 2 or 3 ! voices in realtime on a Mac II with a Digidesign Sound Accelerator board. ! It seems that it would probably be possible to use an AV Mac to do it ! without the board. ! ! This LASy (Linear Automaton Synthesis) method is closely related to the ! Karplus-Strong plucked-string algorithm, in that a wavesample is run ! through an algorithm which recirculates the samples to "self-modify" the ! wave. In fact, a judicious choice of table entries allows one to very ! simply simulate the K-S algoritm directly. ! ! So what are the sounds like? Some automata produce waveforms which quickly ! "ramp-up" to complex spectra and then drop off quickly. Others move to a ! steady state and then remain there. Yet others produce never-ending and ! unpredictable waveforms, whose harmonic content is constantly changing. ! ! Obviously enough, the original wavesample can be obtained mathematically, ! or by actual sampling and using LASy as a waveshaper. As M. Chareyon notes, ! a quick estimate of the number of possible automata for a 2-neighbor ! totalistic rule using a 256-entry wavetable with 12-bit entries is ! (2**12)**256 * (2**12)**(3*2**12) or about 10**4500 possible automata. Of ! course, many, many of these would not be suitable for music (e.g., the 4096 ! automata in which all values go to one vlaue in one step, etc.); however, ! the number of musically useful automata is still likely to be an immense ! number. ! ! M. Chareyon provides a number of examples of ways to fill out the rule ! tables and a number of hints on creating wave tables - generally speaking, ! one can create a function which is used to compute the values to be placed ! into the table and then fill it so it can simply be loaded and used by the ! basic algorithm. His experience in using LASy is that he manages ! approximately 50% of the time to produce sounds with the desired ! characteristics, and that about 10% of the remaining time he gets ! unexpected but useful results which can be used as starting points for ! further exploration. ! ! Again, the important point is that the basic automaton uses wavesamples at ! full resolution, calculating a new wavesample for each step of the ! automaton; the next wavesample can be played while the new one is being ! calculated. Because of the large number of states, mathematical tools for ! the analysis of automata and the construction of automata with specifically ! desired qualities require too much storage and compute time to make them ! useful for LASy purposes. ! ! Again, much of this article is paraphrased from M. Chareyon's article; I ! take no credit for any of the work in this note. I'm just summarizing. ! ! The following other articles were referenced by M. Chareyon's article: ! ! Burks, A., ed. 1970. Essays on Cellular Automata. Champaign/Urbana, IL: ! University of Illinois Press. ! ! Chareyon, J. 1988a. "Sound Synthesis and Processing by Means of Linear ! Cellular Automata." Proceedings of the 1988 Internation Computer Music ! Conference. San Francisco: Computer Music Association. ! ! Chareyon, J. 1988b. "Wavetable come Automa Cellulare: una Nuova Tecnica di ! Sintesi." Atti del VII Colloquio di Informatica Musicale, Rome, Italy: ! Edizioni Arti Grafiche Ambrosini, pp. 174-177. ! ! Farmer, D., T. Toffoli, and S. Wolfram, eds. 1984. Cellular Automata. ! North-Holland Physics Publishing. [One of the definitive works on cellular ! automata - fairly heavy math, not a popular presentation - JM] ! ! Gardner, M. 1970. "The Fantastic Combinations of John Conway's New Solitare ! Game 'Life'". Scientific American 223(4) 120-123. [A good introduction to ! cellular automata, focusing on 'life' in specific. Useful intro if my ! 1-paragraph summary of automata was confusing :) - JM] ! ! --- Joe M. ! ! -- ! "At the end of the hour, we'll have information on the sedatives used by ! the artists,,," (MST3K) !
Index: examplescore.txt =================================================================== RCS file: /cvsroot/pure-data/externals/maxlib/help/examplescore.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** examplescore.txt 20 Nov 2002 17:45:59 -0000 1.1.1.1 --- examplescore.txt 9 Mar 2004 03:51:27 -0000 1.2 *************** *** 1,25 **** ! 60 ! 61 ! 62 ! 63 ! 64 ! 65 ! 66 ! 67 ! 68 ! 69 ! 70 ! 71 ! 72 ! 71 ! 70 ! 69 ! 68 ! 67 ! 66 ! 65 ! 64 ! 63 ! 62 ! 61 60 \ No newline at end of file --- 1,25 ---- ! 60 ! 61 ! 62 ! 63 ! 64 ! 65 ! 66 ! 67 ! 68 ! 69 ! 70 ! 71 ! 72 ! 71 ! 70 ! 69 ! 68 ! 67 ! 66 ! 65 ! 64 ! 63 ! 62 ! 61 60 \ No newline at end of file
Index: help-maxlib.pd =================================================================== RCS file: /cvsroot/pure-data/externals/maxlib/help/help-maxlib.pd,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** help-maxlib.pd 29 Aug 2003 13:53:50 -0000 1.2 --- help-maxlib.pd 9 Mar 2004 03:51:27 -0000 1.3 *************** *** 1,119 **** ! #N canvas 11 6 1106 717 12; ! #X obj 274 260 average; ! #X obj 18 150 beat; ! #X obj 18 175 borax; ! #X obj 18 125 chord; ! #X obj 15 551 dist; ! #X obj 274 155 divide; ! #X obj 274 129 divmod; ! #X obj 599 149 fifo; ! #X obj 274 286 history; ! #X obj 601 503 ignore; ! #X obj 601 477 iso; ! #X obj 598 123 lifo; ! #X obj 274 312 match; ! #X obj 274 180 minus; ! #X obj 600 257 mlife; ! #X obj 274 207 multi; ! #X obj 15 576 netdist; ! #X obj 18 251 pitch; ! #X obj 274 234 plus; ! #X obj 601 425 pulse; ! #X obj 15 600 remote; ! #X obj 18 200 rhythm; ! #X obj 18 225 score array01; ! #X obj 601 451 speedlim; ! #X obj 601 529 step; ! #X obj 600 232 subst; ! #X text 140 44 written by Olaf Matthes olaf.matthes@gmx.de; ! #X text 71 125 chord detection; ! #X text 68 150 beat tracking; ! #X text 77 201 beat detection; ! #X text 72 176 music analysis; ! #X text 135 225 score following; ! #X text 72 251 pitch information; ! #X text 19 94 MUSIC / MIDI ANALYSIS; ! #X text 274 93 MATH; ! #X text 341 130 calculate / and %; ! #X text 339 155 / for several inputs; ! #X text 333 235 + for several inputs; ! #X text 333 207 * for several inputs; ! #X text 337 181 - for several inputs; ! #X text 345 259 average of last N values; ! #X text 346 285 average over last N seconds; ! #X text 329 312 match input to list of numbers; ! #X text 601 399 TIME; ! #X text 678 452 lets input through every N milliseconds; ! #X text 640 479 play sequence of MIDI notes; ! #X text 662 504 ignore too fast changing input; ! #X text 63 550 send to list of receive objects; ! #X text 84 574 same for netreceive; ! #X text 74 599 send to one receive object; ! #X text 597 96 BUFFER; ! #X text 648 531 a line object that steps; ! #X text 599 208 OTHER / EXPERIMENTAL; ! #X text 657 231 self-similar substitution; ! #X text 656 257 cellular automaton; ! #X obj 274 338 scale; ! #X text 656 425 a 'better' metro; ! #X obj 601 555 history; ! #X obj 601 581 velocity; ! #X text 670 555 average over last N milliseconds; ! #X text 677 581 velocity of input in digits per second; ! #X obj 15 624 netrec; ! #X text 74 625 netreceive with extra info about sender; ! #X obj 274 364 delta; ! #X text 139 61 download at http://www.akustische-kunst.org/puredata/maxlib ! ; ! #X obj 599 174 listfifo; ! #X text 677 173 first in first out for lists; ! #X text 646 148 first in first out for floats; ! #X text 643 123 last in first out for floats; ! #X obj 600 607 sync; ! #X text 645 609 extended trigger object; ! #X text 328 338 scale input to output range; ! #X text 13 528 (REMOTE)CONTROL; ! #X obj 16 649 netserver; ! #X obj 16 676 netclient; ! #X text 103 654 bidirectional communication; ! #X text 112 669 (client / server based); ! #X obj 274 392 wrap; ! #X obj 274 419 rewrap; ! #X text 320 392 warp a number in a range; ! #X text 337 420 warp it back and forth; ! #X text 30 26 maxlib 1.3 :: Music Analysis eXtensions LIBrary; ! #X text 328 364 calculate 1st or 2nd order diff.; ! #X text 600 288 RANDOM; ! #X obj 600 312 gauss; ! #X obj 600 337 poisson; ! #X obj 666 312 linear; ! #X obj 666 337 bilex; ! #X obj 736 311 expo; ! #X obj 785 311 beta; ! #X obj 834 312 cauchy; ! #X obj 737 338 arbran array01 array02; ! #X obj 18 278 gestalt; ! #X obj 18 303 edge; ! #X text 56 306 detect rising/falling edge; ! #X text 84 278 'gestalt' of music; ! #X obj 599 365 urn; ! #X text 632 366 urn selection model; ! #X obj 601 635 timebang; ! #X text 680 635 send a bang at given time of day; ! #X obj 15 390 split; ! #X obj 15 439 unroute; ! #X text 81 440 opposit to route; ! #X text 67 392 split according to range; ! #X obj 15 463 limit; ! #X text 63 464 limiter for floats; ! #X obj 15 415 nroute; ! #X text 69 416 r. according to Nth elem.; ! #X text 24 363 ROUTING / CHECKING; ! #X obj 600 661 pong; ! #X obj 18 330 tilt; ! #X obj 600 686 temperature; ! #X text 698 687 amount of input changes per time; ! #X text 646 662 a bouncing ball model; ! #X text 66 333 meassure tilt of input; ! #X obj 16 489 listfunnel; ! #X text 107 490 Max's funnel for lists; --- 1,123 ---- ! #N canvas 75 -12 1161 819 10; ! #X obj 307 260 average; ! #X obj 18 150 beat; ! #X obj 18 175 borax; ! #X obj 18 125 chord; ! #X obj 14 588 dist; ! #X obj 307 155 divide; ! #X obj 307 129 divmod; ! #X obj 656 148 fifo; ! #X obj 307 286 history; ! #X obj 403 577 ignore; ! #X obj 403 552 iso; ! #X obj 655 122 lifo; ! #X obj 307 312 match; ! #X obj 307 180 minus; ! #X obj 660 343 mlife; ! #X obj 307 207 multi; ! #X obj 14 613 netdist; ! #X obj 18 251 pitch; ! #X obj 307 234 plus; ! #X obj 403 499 pulse; ! #X obj 14 637 remote; ! #X obj 18 200 rhythm; ! #X obj 18 225 score array01; ! #X obj 403 525 speedlim; ! #X obj 403 603 step; ! #X obj 660 318 subst; ! #X text 140 44 written by Olaf Matthes olaf.matthes@gmx.de; ! #X text 71 125 chord detection; ! #X text 68 150 beat tracking; ! #X text 77 201 beat detection; ! #X text 72 176 music analysis; ! #X text 135 225 score following; ! #X text 72 251 pitch information; ! #X text 19 94 MUSIC / MIDI ANALYSIS; ! #X text 310 91 MATH; ! #X text 374 130 calculate / and %; ! #X text 372 155 / for several inputs; ! #X text 366 235 + for several inputs; ! #X text 366 207 * for several inputs; ! #X text 370 181 - for several inputs; ! #X text 378 259 average of last N values; ! #X text 379 285 average over last N seconds; ! #X text 362 312 match input to list of numbers; ! #X text 403 473 TIME; ! #X text 480 526 lets input through every N milliseconds; ! #X text 442 553 play sequence of MIDI notes; ! #X text 464 578 ignore too fast changing input; ! #X text 62 587 send to list of receive objects; ! #X text 83 611 same for netreceive; ! #X text 73 636 send to one receive object; ! #X text 654 95 BUFFER; ! #X text 450 605 a line object that steps; ! #X text 659 294 OTHER / EXPERIMENTAL; ! #X text 717 317 self-similar substitution; ! #X text 716 343 cellular automaton; ! #X obj 307 338 scale; ! #X text 458 499 a 'better' metro; ! #X obj 403 629 history; ! #X obj 403 655 velocity; ! #X text 472 629 average over last N milliseconds; ! #X text 479 655 velocity of input in digits per second; ! #X obj 14 661 netrec; ! #X text 73 662 netreceive with extra info about sender; ! #X obj 307 364 delta; ! #X text 139 61 download at http://www.akustische-kunst.org/puredata/maxlib ! ; ! #X obj 656 173 listfifo; ! #X text 734 172 first in first out for lists; ! #X text 703 147 first in first out for floats; ! #X text 700 122 last in first out for floats; ! #X obj 402 681 sync; ! #X text 447 683 extended trigger object; ! #X text 361 338 scale input to output range; ! #X text 12 565 (REMOTE)CONTROL; ! #X obj 15 686 netserver; ! #X obj 15 713 netclient; ! #X text 102 691 bidirectional communication; ! #X text 111 706 (client / server based); ! #X obj 307 392 wrap; ! #X obj 307 419 rewrap; ! #X text 353 392 warp a number in a range; ! #X text 370 420 warp it back and forth; ! #X text 361 364 calculate 1st or 2nd order diff.; ! #X text 660 374 RANDOM; ! #X obj 660 398 gauss; ! #X obj 660 423 poisson; ! #X obj 726 398 linear; ! #X obj 726 423 bilex; ! #X obj 796 397 expo; ! #X obj 845 397 beta; ! #X obj 894 398 cauchy; ! #X obj 797 424 arbran array01 array02; ! #X obj 18 278 gestalt; ! #X obj 18 303 edge; ! #X text 66 307 detect rising/falling edge; ! #X text 84 278 'gestalt' of music; ! #X obj 659 452 urn; ! #X text 692 452 urn selection model; ! #X obj 403 709 timebang; ! #X text 482 709 send a bang at given time of day; ! #X obj 15 390 split; ! #X obj 15 439 unroute; ! #X text 81 440 opposit to route; ! #X text 74 392 split according to range; ! #X obj 15 463 limit; ! #X text 63 464 limiter for floats; ! #X obj 15 415 nroute; ! #X text 80 414 r. according to Nth elem.; ! #X text 24 363 ROUTING / CHECKING; ! #X obj 402 735 pong; ! #X obj 18 330 tilt; ! #X obj 402 760 temperature; ! #X text 500 761 amount of input changes per time; ! #X text 448 736 a bouncing ball model; ! #X text 66 333 meassure tilt of input; ! #X obj 16 489 listfunnel; ! #X text 107 490 Max's funnel for lists; ! #X text 30 26 maxlib 1.5 :: Music Analysis eXtensions LIBrary; ! #X obj 656 201 arraycopy; ! #X text 741 202 copy from one array to another; ! #X obj 17 525 nchange s; ! #X text 89 526 change that exepts any kind of input;