<!-- Converted to DocBook/SGML by Kevin Conder -->
<refentry id="vdelay3">
  <refmeta>
    <refentrytitle>vdelay3</refentrytitle>
  </refmeta>
 
  <refnamediv>
    <refname>vdelay3</refname>
    <refpurpose>
      An variable time delay with cubic interpolation.
      <indexterm id="IndexVdelay3"><primary>vdelay3</primary></indexterm>
    </refpurpose>
  </refnamediv>
 
  <refsect1>
    <title>Description</title>
    <para>
      <emphasis>vdelay3</emphasis> is experimental. It is the same as <link linkend="vdelay"><citetitle>vdelay</citetitle></link> except that it uses cubic interpolation. (New in Version 3.50.)
    </para>
  </refsect1>
 
  <refsect1>
    <title>Syntax</title>
    <synopsis>ar <command>vdelay3</command> asig, adel, imaxdel [, iskip]</synopsis>
  </refsect1>
 
  <refsect1>
    <title>Initialization</title>
    <para>
      <emphasis>imaxdel</emphasis> -- Maximum value of delay in milliseconds. If <emphasis>adel</emphasis> gains a value greater than <emphasis>imaxdel</emphasis> it is folded around <emphasis>imaxdel</emphasis>. This should not happen.
    </para>

    <para>
      <emphasis>iskip</emphasis> (optional) -- Skip initialization if present and non-zero.
    </para>
  </refsect1>
 
  <refsect1>
    <title>Performance</title>
    <para>
      With this unit generator it is possible to do Doppler effects or chorusing and flanging.
    </para>

    <para>
      <emphasis>asig</emphasis> -- Input signal.
    </para>

    <para>
      <emphasis>adel</emphasis> -- Current value of delay in milliseconds. Note that linear functions have no pitch change effects. Fast changing values of <emphasis>adel</emphasis> will cause discontinuities in the waveform resulting noise.
    </para>
  </refsect1>
 
  <refsect1>
    <title>Examples</title>
    <para>
      <informalexample>
        <programlisting>
  f1 0 8192 10 1
  ims     =          100             ; Maximum delay time in msec
  a1      <emphasis>oscil</emphasis>      10000, 1737, 1  ; Make a signal
  a2      <emphasis>oscil</emphasis>      ims/2, 1/p3, 1  ; Make an LFO
  a2      =          a2 + ims/2      ; Offset the LFO so that it is positive
  a3      <emphasis>vdelay</emphasis>     a1, a2, ims     ; Use the LFO to control delay time
          <emphasis>out</emphasis>        a3
        </programlisting>
      </informalexample>
    </para>

    <para>
      Two important points here. First, the delay time must be always positive. And second, even though the delay time can be controlled in k-rate, it is not advised to do so, since sudden time changes will create clicks.
    </para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <link linkend="vdelay"><citetitle>vdelay</citetitle></link>
    </para>
  </refsect1>
 
  <refsect1>
    <title>Credits</title>
    <para>
      <simplelist>
        <member>Author: &nameparis;</member>
        <member>MIT, Cambridge</member>
        <member>1995</member>
      </simplelist>
    </para>
  </refsect1>
</refentry>
