The [noise~] object generates psuedo-random numbers in the range
-1.0 < x < 1.0.
The [line~] object can take a message with a target / duration pair or a message with start, target and duration, but it cannot take longer messages with a sequence of target / duration pairs.
The [vline~] object can take a message with a sequence of values specifying several breakpoints in an envelope, separated by commas. Aside from the first breakpoint, subsequent breakpoints are specified as target / duration / initial delay, where initial delay is cumulative over the sequence of breakpoints. In the example, above, the envelope will ramp up to 1 over 2000 ms, then hold at a value of 1 for another 2000 ms, and then ramp down to 0 over 2000 ms. The value of 4000 at the end effectively specifies that that breakpoint is delayed by 4000 ms before being implemented.
The [function] object allows one to graphically create piece-wise linear envelopes with an arbitrary number of breakpoints. The easiest way to use the output of the [function] object is send it to an [envgen~] object to control the right inlet of a multiplier at the audio rate.
The right outlet of the [envgen~] object sends a “bang” when the final destination point has been reached ... this can be used to re-trigger a new envelope.
Breakpoints created graphically in the [function] object are not automatically saved with a patch. To have a patch open with a desired envelope displayed, use an [initmess] with an initial value, followed by a sequence of duration / target pairs.
New breakpoints are created in the [function] object by clicking in an open space. Existing breakpoints can be moved by click / dragging on them. Existing breakpoints can be removed by double-clicking on them.