1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
<HTML>
<TITLE>LINEN</TITLE>
<CENTER><A NAME="linen"></A>
<HR><B><A HREF="../REFER.html">QUICK-REF</A></B> - <B><A HREF="../TITLE.html"><FONT SIZE=+1>C</FONT>soundManual</A></B>
- <B><A HREF="./SIG_MOD.html">Top of this section</A></B> - <A HREF="./SIG_MOD.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="./port.html">Next</A>
<HR></CENTER>
<H2>
linen, linenr, envlpx, envlpxr</H2>
<PRE> kr <B>linen</B> kamp, irise, idur, idec
ar <B>linen</B> xamp, irise, idur, idec
kr <B>linenr</B> kamp, irise, idec, iatdec
ar <B>linenr</B> xamp, irise, idec, iatdec
kr <B>envlpx</B> kamp, irise, idur, idec, ifn, iatss, iatdec[,ixmod]
ar <B>envlpx</B> xamp, irise, idur, idec, ifn, iatss, iatdec[,ixmod]
kr <B>envlpxr</B> kamp, irise, idec, ifn, iatss, iatdec[,ixmod][, irind]
ar <B>envlpxr</B> xamp, irise, idec, ifn, iatss, iatdec[, ixmod][, irind]</PRE>
<HR>
<H4>
<U>DESCRIPTION</U></H4>
<B>linen</B> - apply a straight line rise and decay pattern to an input
amp signal.
<P><B>envlpx</B> - apply an envelope consisting of 3 segments: 1) stored
function rise shape, 2) modified exponential pseudo steady state, 3) exponential
decay.
<P><B>linenr, envlpxr </B>- as above, except that the final segment is
entered only on sensing a note release, and the note is then extended by
the decay time
<H4>
<U>INITIALIZATION</U></H4>
<I>irise</I> - rise time in seconds. A zero or negative value signifies
no rise modification.
<P><I>idur</I> - overall duration in seconds. A zero or negative value
will cause initialization to be skipped.
<P><I>idec</I> - decay time in seconds. Zero means no decay. An idec >
<I>idur</I> will cause a truncated decay.
<P><I>irind </I>(optional) - independence flag. If left zero, the release
time (idec) will influence the extended life of the current note following
a note-off. If non-zero, the idec time is quite independent of the note
extension (see below). The default value is 0.
<P><I>ifn</I> - function table number of stored rise shape with extended
guard point.
<P><I>iatss</I> - attenuation factor, by which the last value of the <B>envlpx</B>
rise is modified during the note's pseudo steady state. A factor > l causes
an exponential growth, and < l an exponential decay. A 1 will maintain
a true steady state at the last rise value. Note that this attenuation
is not by fixed rate (as in a piano), but is sensitive to a note's duration.
However, if <I>iatss</I> is negative (or if steady state < 4 k-periods)
a fixed attenuation rate of <I>abs</I>(<I>iatss</I>) per second will be
used. 0 is illegal.
<P><I>iatdec</I> - attenuation factor by which the closing steady state
value is reduced exponentially over the decay period. This value must be
positive and is normally of the order of .01. A large or excessively small
value is apt to produce a cutoff which is audible. A zero or neg value
is illegal.
<P><I>ixmod</I> (optional, between +- .9 or so) - exponential curve modifier,
influencing the steepness of the exponential trajectory during the steady
state. Values less than zero will cause an accelerated growth or decay
towards the target (e.g. <I>subito piano</I>). Values greater than zero
will cause a retarded growth or decay. The default value is zero (unmodified
exponential).
<H4>
<U>PERFORMANCE</U></H4>
Rise modifications are applied for the first <I>irise</I> seconds, and
decay from time <I>idur - idec</I>. If these periods are separated in time
there will be a steady state during which <I>amp</I> will be unmodified
(<B>linen)</B> or modified by the first exponential pattern (<B>envlpx</B>).
If <B>linen</B> rise and decay periods overlap then both modifications
will be in effect for that time; in <B>envlpx</B> that will cause a truncated
decay. If the overall duration <I>idur</I> is exceeded in performance,
the final decay will continue on in the same direction, going negative
for <B>linen</B> but tending asymptotically to zero in <B>envlpx</B>.
<P><B>linenr</B> is unique within Csound in containing a <B>note-off sensor</B>
and <B>release time extender</B>. When it senses either a score event termination
or a MIDI noteoff, it will immediately extend the performance time of the
current instrument by <I>idec</I> seconds, then execute an exponential
decay towards the factor <I>iatdec</I>. For two or more units in an instrument,
extension is by the greatest <I>idec</I>.
<P><B>linenr, envlpxr</B> are examples of the special Csound "r" units
that contain a note-off sensor and release time extender. Unless made independent
by irind, when each senses a score event termination or a MIDI noteoff,
it will immediately extend the performance time of the current instrument
by idec seconds, then begin a decay (as described above) from wherever
it was at the time. These "r" units can also be modified by MIDI noteoff
velocities (see veloffs). If the <I>irind</I> flag is on (non-zero), the
overall performance time is unaffected by note-off and veloff data.
<P>Mulitple "r" units. When two or more "r" units occur in the same instrument
it is usual to have only one of them influence the overall note duration.
This is normally the master amplitude unit. Other units controlling, say,
filter motion can still be sensitive to note-off commands while not affecting
the duration by making them independent (irind non-zero). Depending on
their own idec (release time) values, independent "r" units may or may
not reach their final destinations before the instrument terminates. If
they do, they will simply hold their target values until termination. If
two or more "r" units are simultaneously master, note extension is by the
greatest idec.
<CENTER><P>
<HR><B><A HREF="../REFER.html">QUICK-REF</A></B> - <B><A HREF="../TITLE.html"><FONT SIZE=+1>C</FONT>soundManual</A></B>
- <B><A HREF="./SIG_MOD.html">Top of this section</A></B> - <A HREF="./SIG_MOD.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="./port.html">Next</A>
<HR></CENTER>
<P><CENTER>
<B><I><FONT COLOR="#006600">HTML Csound Manual - <FONT SIZE=-1>©
Jean Piché & Peter J. Nix, 1994-97</FONT></FONT></I></B>
</CENTER>
</HTML>
|