aboutsummaryrefslogtreecommitdiff
path: root/help
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2004-03-09 03:51:28 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2004-03-09 03:51:28 +0000
commit50a389bea35a91ddae1394c5d35a6f1c703f5bdd (patch)
tree345af9da1a2432cdde199637af884d0cb744cf40 /help
parent6f58df1602bc981858c874a55c73dab0e76258cc (diff)
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 svn path=/trunk/externals/maxlib/; revision=1394
Diffstat (limited to 'help')
-rw-r--r--help/automata.txt356
-rw-r--r--help/examplescore.txt48
-rw-r--r--help/help-maxlib.pd242
3 files changed, 325 insertions, 321 deletions
diff --git a/help/automata.txt b/help/automata.txt
index afa5e9e..3f5ff21 100644
--- a/help/automata.txt
+++ b/help/automata.txt
@@ -1,178 +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)
-
+[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)
+
diff --git a/help/examplescore.txt b/help/examplescore.txt
index 78afd45..27002f1 100644
--- a/help/examplescore.txt
+++ b/help/examplescore.txt
@@ -1,25 +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
+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
diff --git a/help/help-maxlib.pd b/help/help-maxlib.pd
index dfe8564..4beb23d 100644
--- a/help/help-maxlib.pd
+++ b/help/help-maxlib.pd
@@ -1,119 +1,123 @@
-#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;
+#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;