Use Non-Frames Version Previous Page Next Page
Signal Generators: Linear and Exponential Generators

line, expon, linseg, linsegr, expseg, expsegr

  kr      line       ia, idur1, ib
  ar      line       ia, idur1, ib
  kr      expon      ia, idur1, ib
  ar      expon      ia, idur1, ib
  kr      linseg     ia, idur1, ib[, idur2, ic[...]]
  ar      linseg     ia, idur1, ib[, idur2, ic[...]]
  kr      linsegr    ia, idur1, ib[, idur2, ic[...]], irel, iz
  ar      linsegr    ia, idur1, ib[, idur2, ic[...]], irel, iz
  kr      expseg     ia, idur1, ib[, idur2, ic[...]]
  ar      expseg     ia, idur1, ib[, idur2, ic[...]]
  kr      expsegr    ia, idur1, ib[, idur2, ic[...]], irel, iz
  ar      expsegr    ia, idur1, ib[, idur2, ic[...]], irel, iz


Description

Output values kr or ar trace a straight line (or exponential curve) or a series of line segments (or exponential segments) between specified points.

Initialization

ia- starting value. Zero is illegal for exponentials.

ib, ic, etc. - value after dur1 seconds, etc. For exponentials, must be non-zero and must agree in sign with ia.

idur1 - duration in seconds of first segment. A zero or negative value will cause all initialization to be skipped.

idur2, idur3, etc. - duration in seconds of subsequent segments. A zero or negative value will terminate the initialization process with the preceding point, permitting the last-defined line or curve to be continued indefinitely in performance. The default is zero.

irel, iz - duration in seconds and final value of a note releasing segment.

Performance

These units generate control or audio signals whose values can pass through 2 or more specified points. The sum of dur values may or may not equal the instrument's performance time: a shorter performance will truncate the specified pattern, while a longer one will cause the last-defined segment to continue on in the same direction.

linsegr, expsegr are amongst the Csound "r" units that contain a note-off sensor and release time extender. When each senses an event termination or MIDI noteoff, it immediately extends the performance time of the current instrument by irel seconds, and sets out to reach the value iz by the end of that period (no matter which segment the unit is in). "r" units can also be modified by MIDI noteoff velocities. For two or more extenders in an instrument, extension is by the greatest period.

Example

  k2      expseg     440, p3/2, 880, p3/2, 440

This statement creates a control signal which moves exponentially from 440 to 880 and back, over the duration p3.


Use Non-Frames Version Previous Page Next Page
Signal Generators: Linear and Exponential Generators