f # time size 25 x1 y1 x2 y2 x3 . . . f # time size 27 x1 y1 x2 y2 x3 . . .
These subroutines are used to construct functions from segments of exponential curves (GEN25) or straight lines (GEN27) in breakpoint fashion.
size – number of points in the table. Must be a power of 2 or power-of-2 plus 1 (see f statement).
x1, x2, x3, etc. – locations in table at which to attain the following y value. Must be in increasing order. If the last value is less than size, then the rest will be set to zero. Should not be negative but can be zero.
y1, y2, y3,, etc. – Breakpoint values attained at the location specified by the preceding x value. For GEN25 these must be non-zero and must be alike in sign. No such restrictions exist for GEN27.
If p4 is positive, functions are post-normalized (rescaled to a maximum absolute value of 1 after generation). A negative p4 will cause rescaling to be skipped.
f 1 0 257 27 0 0 100 1 200 -1 256 0
This describes a function which begins at 0, rises to 1 at the 100th table location, falls to -1, by the 200th location, and returns to 0 by the end of the table. The interpolation is linear.
University of Bath/Codemist Ltd.
New in Csound version 3.49