diff options
Diffstat (limited to 'opcodes/pan.xml')
-rw-r--r-- | opcodes/pan.xml | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/opcodes/pan.xml b/opcodes/pan.xml index f181639..771e468 100644 --- a/opcodes/pan.xml +++ b/opcodes/pan.xml @@ -6,13 +6,11 @@ <refentrytitle>pan</refentrytitle> </refmeta> - - <refnamediv> <refname>pan</refname> <refpurpose> Distribute an audio signal amongst four channels. - </refpurpose> + </refpurpose> </refnamediv> <refsect1> @@ -49,7 +47,7 @@ </para> <para> - Movement between speakers is by amplitude variation, controlled by the stored function table <emphasis>ifn</emphasis>. As <emphasis>kx</emphasis> goes from 0 to 1, the strength of the right-hand signals will grow from the left-most table value to the right-most, while that of the left-hand signals will progress from the right-most table value to the left-most. For a simple linear pan, the table might contain the linear function 0 - 1. A more correct pan that maintains constant power would be obtained by storing the first quadrant of a sinusoid. Since pan will scale and truncate <emphasis>kx</emphasis> and <emphasis>ky</emphasis> in simple table lookup, a medium-large table (say 8193) should be used. + Movement between speakers is by amplitude variation, controlled by the stored function table <emphasis>ifn</emphasis>. As <emphasis>kx</emphasis> goes from 0 to 1, the strength of the right-hand signals will grow from the left-most table value to the right-most, while that of the left-hand signals will progress from the right-most table value to the left-most. For a simple linear pan, the table might contain the linear function 0 - 1. A more correct pan that maintains constant power would be obtained by storing the first quadrant of a sinusoid. Since <emphasis>pan</emphasis> will scale and truncate <emphasis>kx</emphasis> and <emphasis>ky</emphasis> in simple table lookup, a medium-large table (say 8193) should be used. </para> <para> @@ -62,16 +60,15 @@ <para> <informalexample> <programlisting> -<emphasis>instr</emphasis> 1 - k1 <emphasis>phasor</emphasis> 1/p3 ; fraction of circle - k2 <emphasis>tablei</emphasis> k1, 1, 1 ; sin of angle (sinusoid in f1) - k3 <emphasis>tablei</emphasis> k1, 1, 1, .25, 1 ; cos of angle (sin offset 1/4 circle) - a1 <emphasis>oscili</emphasis> 10000,440, 1 ; audio signal.. - a1,a2,a3,a4 <emphasis>pan</emphasis> a1, k2/2, k3/2, 2, 1, 1 ; sent in a circle (f2=1st quad sin) +<emphasis role="oblock">instr</emphasis> 1 + k1 <emphasis role="opc">phasor</emphasis> 1<emphasis role="op">/</emphasis>p3 <emphasis role="comment">; fraction of circle</emphasis> + k2 <emphasis role="opc">tablei</emphasis> k1, 1, 1 <emphasis role="comment">; sin of angle (sinusoid in f1)</emphasis> + k3 <emphasis role="opc">tablei</emphasis> k1, 1, 1, .25, 1 <emphasis role="comment">; cos of angle (sin offset 1/4 circle)</emphasis> + a1 <emphasis role="opc">oscili</emphasis> 10000,440, 1 <emphasis role="comment">; audio signal..</emphasis> + a1,a2,a3,a4 <emphasis role="opc">pan</emphasis> a1, k2<emphasis role="op">/</emphasis>2, k3<emphasis role="op">/</emphasis>2, 2, 1, 1 <emphasis role="comment">; sent in a circle (f2=1st quad sin)</emphasis> - <emphasis>outq</emphasis> a1, a2, a3, a4 -<emphasis>endin</emphasis> - </programlisting> + <emphasis role="opc">outq</emphasis> a1, a2, a3, a4 +<emphasis role="oblock">endin</emphasis></programlisting> </informalexample> </para> </refsect1> |