summaryrefslogtreecommitdiff
path: root/opcodes/vbap4.xml
blob: 2a59102cb9aed7b9c28eb3db1e0782d95f18f6cd (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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<refentry id="vbap4">
<indexterm id="IndexVbap4"><primary>vbap4</primary></indexterm>
  <refentryinfo><title>Signal Modifiers:Panning and Spatialization</title></refentryinfo>
  <refmeta>
    <refentrytitle>vbap4</refentrytitle>
  </refmeta>

  <refnamediv>
    <refname>vbap4</refname>
    <refpurpose>
      Distributes an audio signal among 4 channels.
    </refpurpose>
  </refnamediv>

  <refsect1>
    <title>Description</title>
    <para>
      Distributes an audio signal among 4 channels.
    </para>
  </refsect1>

  <refsect1>
    <title>Syntax</title>
    <synopsis>ar1, ar2, ar3, ar4 <command>vbap4</command> asig, kazim [, kelev] [, kspread]</synopsis>
  </refsect1>

<!--  <refsect1>
    <title>Initialization</title>
  </refsect1>-->

  <refsect1>
    <title>Performance</title>
    <para>
      <emphasis>asig</emphasis> -- audio signal to be panned
    </para>
    <para>
      <emphasis>kazim</emphasis> -- azimuth angle of the virtual source
    </para>

    <para>
      <emphasis>kelev</emphasis> (optional) -- elevation angle of the virtual source
    </para>

    <para>
      <emphasis>kspread</emphasis> (optional) -- spreading of the virtual source (range 0 - 100).  If value is zero, conventional amplitude panning is used. When <emphasis>kspread</emphasis> is increased, the number of loudspeakers used in panning increases. If value is 100, the sound is applied to all loudspeakers.
    </para>

    <para>
      <emphasis>vbap4</emphasis> takes an input signal, <emphasis>asig</emphasis> and distributes it among 4 outputs, according to the controls <emphasis>kazim</emphasis> and <emphasis>kelev</emphasis>, and the configured loudspeaker placement.  If <emphasis>idim</emphasis> = 2, <emphasis>kelev</emphasis> is set to zero. The distribution is performed using Vector Base Amplitude Panning (VBAP - See reference).  VBAP distributes the signal using loudspeaker data configured with <emphasis>vbaplsinit</emphasis>. The signal is applied to, at most, two loudspeakers in 2-D loudspeaker configurations, and three loudspeakers in 3-D loudspeaker configurations. If the virtual source is panned outside the region spanned by loudspeakers, the nearest loudspeakers are used in panning.
    </para>
    <warning>
      <para>Please note that all <emphasis>vbap</emphasis> panning opcodes require the <emphasis>vbap</emphasis> system to be initialized using <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>.</para>
    </warning>
  </refsect1>

  <refsect1>
    <title>Examples</title>
    <para>
      See the entry for <link linkend="vbap8"><citetitle>vbap8</citetitle></link> for an example of usage of the <emphasis>vbap</emphasis> opcodes.
    </para>
  </refsect1>
 
  <refsect1>
    <title>Reference</title>
    <para>
      Ville Pulkki: <quote>Virtual Sound Source Positioning Using Vector Base Amplitude Panning</quote> <emphasis>Journal of the Audio Engineering Society</emphasis>, 1997 June, Vol. 45/6, p. 456.
    </para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <link linkend="vbap16"><citetitle>vbap16</citetitle></link>,
      <link linkend="vbap16move"><citetitle>vbap16move</citetitle></link>,
      <link linkend="vbap4move"><citetitle>vbap4move</citetitle></link>,
      <link linkend="vbap8"><citetitle>vbap8</citetitle></link>,
      <link linkend="vbap8move"><citetitle>vbap8move</citetitle></link>,
      <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>,
      <link linkend="vbapz"><citetitle>vbapz</citetitle></link>,
      <link linkend="vbapzmove"><citetitle>vbapzmove</citetitle></link>
    </para>
  </refsect1>
 
  <refsect1>
    <title>Credits</title>
    <para>
      <simplelist>
        <member>Author: Ville Pulkki</member>
        <member>Sibelius Academy Computer Music Studio</member>
        <member>Laboratory of Acoustics and Audio Signal Processing</member>
        <member>Helsinki University of Technology</member>
        <member>Helsinki, Finland</member>
        <member>May 2000</member>
      </simplelist>
    </para>

    <para>New in Csound Version 4.06. Input parameters accept k-rate since Csund 5.09.</para>
  </refsect1>
</refentry>