summaryrefslogtreecommitdiff
path: root/opcodes/transeg.xml
blob: e698c048bfdf079d1b3455bb956e28b47c7353ad (plain)
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
<refentry id="transeg">
<indexterm id="IndexTranseg"><primary>transeg</primary></indexterm>
  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
  <refmeta>
    <refentrytitle>transeg</refentrytitle>
  </refmeta>


 
  <refnamediv>
    <refname>transeg</refname>
    <refpurpose>
      Constructs a user-definable envelope.
          </refpurpose>
  </refnamediv>
 
  <refsect1>
    <title>Description</title>
    <para>
      Constructs a user-definable envelope.
    </para>
  </refsect1>
 
  <refsect1>
    <title>Syntax</title>
    <synopsis>ares <command>transeg</command> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis>
    <synopsis>kres <command>transeg</command> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis>
  </refsect1>
 
  <refsect1>
    <title>Initialization</title>
    <para>
      <emphasis>ia</emphasis> -- starting value.
    </para>

    <para>
      <emphasis>ib, ic,</emphasis> etc. -- value after <emphasis>idur</emphasis> seconds.
    </para>

    <para>
      <emphasis>idur, idur2,</emphasis> etc. -- duration in seconds of segment
    </para>

    <para>
      <emphasis>itype, itype2,</emphasis> etc. -- if 0, a straight line is produced. If non-zero, then <emphasis>transeg</emphasis> creates the following curve, for <emphasis>n</emphasis> steps:

      <literallayout>
ibeg + (ivalue - ibeg) * (1 - exp( i*itype/(n-1) )) / (1 - exp(itype))
      </literallayout>
    </para>
  </refsect1>
 
  <refsect1>
    <title>Performance</title>
    <para>
      If <emphasis>itype</emphasis> &gt; 0, there is a slowly rising, fast decaying (convex) curve, while if <emphasis>itype</emphasis> &lt; 0, the curve is fast rising, slowly decaying (concave). See also <link linkend="GEN16"><citetitle>GEN16</citetitle></link>.
    </para>
  </refsect1>
 
  <refsect1>
    <title>See Also</title>
    <para>
      <link linkend="expsega"><citetitle>expsega</citetitle></link>,
      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
      <link linkend="linseg"><citetitle>linseg</citetitle></link>,
      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>
    </para>
  </refsect1>

  <refsect1>
    <title>Credits</title>
    <para>
      <simplelist>
        <member>Author: &namejohn;</member>
        <member>University of Bath, Codemist. Ltd.</member>
        <member>Bath, UK</member>
        <member>October 2000</member>
      </simplelist>
    </para>

    <para>New in Csound version 4.09</para>
    <para>Thanks goes to Matt Gerassimoff for pointing out the correct command syntax.</para>
  </refsect1>
</refentry>