summaryrefslogtreecommitdiff
path: root/opcodes/port.xml
blob: 8e2a76ca9a09f46d6370b7e2d3daaa18fb6ba35e (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
<refentry id="port">
<indexterm id="IndexPort"><primary>port</primary></indexterm>
  <refentryinfo><title>Signal Modifiers:Standard Filters:Control</title></refentryinfo>
  <refmeta>
    <refentrytitle>port</refentrytitle>
  </refmeta>



  <refnamediv>
    <refname>port</refname>
    <refpurpose>
      Applies portamento to a step-valued control signal.
          </refpurpose>
  </refnamediv>

  <refsect1>
    <title>Description</title>
    <para>
      Applies portamento to a step-valued control signal.
    </para>
  </refsect1>

  <refsect1>
    <title>Syntax</title>
    <synopsis>kres <command>port</command> ksig, ihtim [, isig]</synopsis>
  </refsect1>

  <refsect1>
    <title>Initialization</title>
    <para>
      <emphasis>ihtim</emphasis> -- half-time of the function, in seconds.
    </para>

    <para>
      <emphasis>isig</emphasis>
      (optional, default=0) -- initial (i.e. previous) value for
      internal feedback. The default value is 0. Negative value will
      cause initialization to be skipped and last value from previous instance to be used
      as initial value for note.
    </para>
  </refsect1>

  <refsect1>
    <title>Performance</title>
    <para>
      <emphasis>kres</emphasis> -- the output signal at control-rate.
    </para>

    <para>
      <emphasis>ksig</emphasis> -- the input signal at control-rate.
    </para>

    <para>
      <emphasis>port</emphasis> applies portamento to a step-valued control signal. At each new step value, <emphasis>ksig</emphasis> is low-pass filtered to move towards that value at a rate determined by <emphasis>ihtim</emphasis>. <emphasis>ihtim</emphasis> is the <quote>half-time</quote> of the function (in seconds), during which the curve will traverse half the distance towards the new value, then half as much again, etc., theoretically never reaching its asymptote. With <link linkend="portk"><citetitle>portk</citetitle></link>, the half-time can be varied at the control rate.
    </para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <link linkend="areson"><citetitle>areson</citetitle></link>,
      <link linkend="aresonk"><citetitle>aresonk</citetitle></link>,
      <link linkend="atone"><citetitle>atone</citetitle></link>,
      <link linkend="atonek"><citetitle>atonek</citetitle></link>,
      <link linkend="portk"><citetitle>portk</citetitle></link>,
      <link linkend="reson"><citetitle>reson</citetitle></link>,
      <link linkend="resonk"><citetitle>resonk</citetitle></link>,
      <link linkend="tone"><citetitle>tone</citetitle></link>,
      <link linkend="tonek"><citetitle>tonek</citetitle></link>
    </para>
  </refsect1>
</refentry>