cossegr
Trace a series of line segments between specified points with cosine interpolation, including a release segment.
Syntax
ares cossegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
kres cossegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
Initialization
ia -- starting value.
ib, ic, etc. -- value after dur1 seconds, etc.
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.
cossegr is 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.
You can use other pre-made envelopes which start a release segment upon receiving a note off message, like linenr and expsegr, or you can construct more complex envelopes using xtratim and release. Note that you do not need to use xtratim if you are using cossegr, since the time is extended automatically.
Examples
Here is an example of the cossegr opcode. It uses the file cossegr.csd.
See also
Linear and Exponential Generators
Credits
Author: John ffitch
August 2012.
New in Csound 5.18