]> Shamusworld >> Repos - ardour-manual/blobdiff - _manual/17_mixing/02_panning/01_stereo_panner.html
next batch of XHTML validation fixes. somebody really hates markup languages here...
[ardour-manual] / _manual / 17_mixing / 02_panning / 01_stereo_panner.html
index 77007d4e97a44af8e15aedbaeb5c51e6afc049dd..afc553dd2530c8dab979df721a151f353771f740 100644 (file)
@@ -3,123 +3,250 @@ layout: default
 title: Stereo Panner
 ---                        
 
 title: Stereo Panner
 ---                        
 
-<h2>Stereo Panner</h2>
+<p>
+  The default stereo panner distributes two inputs to two outputs. Its
+  behaviour is controlled by two parameters, <em>width</em> and
+  <em>position</em>. The
+  default settings for the stereo panner are <em>width=100%</em> and  
+  <em>position=center</em>. 
+  This stereo panner assumes that the signals
+  you wish to distribute are either uncorrelated (i.e. totally 
+  independent), or that they contain a stereo image which is 
+  <em>mono-compatible</em>, such as a co-incident microphone recording, or a 
+  sound stage that has been created with pan pots.<sup><a href="#caveat">*</a></sup>
+</p>
+<div class="well">
+  With the default values it is not possible to alter the position,
+  since the width is already spread entirely across both outputs. To
+  alter the position, you must first reduce the width.
+</div>
+
+<h2>Stereo Panner User Interface</h2>
 
 
+<img src="/images/stereo-panner-annotated.png" alt=""/>
+
+<p>
+  The panner user interface consists of three elements, divided between
+  the top and bottom half. Click and/or drag in the top half to
+  control position; click and/or drag in the bottom half to control
+  width (see below for details).
+</p>
 <p>
 <p>
-The stereo panner distributes 2 inputs to 2 outputs. Its behaviour is
-controlled by two parameters, <code>width</code>
-and <code>position</code> (the latter could also be referred to as
-"direction", or "azimuth" without loss of accuracy).
+  In the top half is the position indicator, which shows where the
+  center of the stereo image is relative to the left and right
+  edges. When this is the middle of the panner, the stereo image is
+  centered between the left and right outputs. When it all the way to
+  the left, the stereo image collapses to just the left speaker. 
 </p>
 </p>
+<p>
+  In the bottom half are two signal indicators, one marked "L" and the
+  other "R". The distance between these two shows the width of the
+  stereo image. If the width is reduced to zero, there will only be a
+  single signal indicator marked "M" (for mono), whose color will
+  change to indicate the special state.
+</p>
+<p>
+  It is possible to invert the outputs (see below) so that whatever
+  would have gone to the right channel goes to the left and vice
+  versa. When this happens, the entire movable part of the panner
+  changes color to indicate clearly that this is the case. 
+</p>
+
+<h3>Position vs. L/R</h3>
 
 <p>
 
 <p>
-The default settings for the stereo panner
-are <code>width=100%</code>, <code>position=center</code>. With these
-values it is not possible to alter the position, since the width is
-already spread entirely across both outputs. To alter the position,
-you must first reduce the width.
+  Although the implementation of the panner uses the "position"
+  parameter, when the user interface displays it numerically, it shows a pair of numbers that
+  will be familiar to most audio engineers. 
 </p>
 
 </p>
 
+<table>
+<tr><th>Position</th><th>L/R</th><th>English</th></tr>
+<tr><td>0</td><td>L=50% R=50%</td><td>signal image is midway between
+    left and right speakers</td></tr>
+
+<tr><td>-1</td><td>L=100% R=0%</td><td>signal image is entirely
+    at the left speaker</td></tr>
+
+<tr><td>1</td><td>L=0% R=100%</td><td>signal image is entirely
+    at the right speaker</td></tr>
+</table>
+
+<p>
+  One way to remember this sort of convention is that the middle of the
+  USA is not Kansas, but "Los Angeles: 50% New York: 50%". 
+</p>
+
+<h3>Examples In Use</h3>
+
+<table>
+<tr><th>Appearance</th><th>Settings</th></tr>
+<tr><td><img src="/images/stereo-panner.png"></td><td>Width=100%,
+    L=50 R=50</td></tr>
+<tr><td><img src="/images/stereo-panner-zero.png"></td><td>Width=0%,
+    L=50 R=50</td></tr>
+<tr><td><img src="/images/stereo-panner-inverted.png"></td><td>Width=-100%, Position = 0 (center)</td></tr>
+<tr><td><img src="/images/stereo-panner-right.png"></td><td>Width=36%,
+    L=44 R=56</td></tr>
+<tr><td><img src="/images/stereo-panner-hard-right.png"></td><td>Width=0%,
+    L=0 R=100</td></tr>
+</table>
+
 <h4>Using the mouse</h4>
 
 <h4>Using the mouse</h4>
 
-<p>Mouse operations in the upper half of the panner adjust the position
+<p>
+  Mouse operations in the upper half of the panner adjust the position
   parameter, constrained by the current width setting. 
 </p>
   parameter, constrained by the current width setting. 
 </p>
-
-<p>Mouse operations in the lower half of the panner adjust the width
+<p>
+  Mouse operations in the lower half of the panner adjust the width
   parameter, constrained by the current position setting. 
 </p>
   parameter, constrained by the current position setting. 
 </p>
-
-
-<p>To change the position smoothly, press the right button and drag
+<p>
+  To change the position smoothly, press the right button and drag
   within the top half of the panner, then release. The position will
   within the top half of the panner, then release. The position will
-  be limited by the current width setting.
+  be limited by the current width setting. <em>Note: you do not need
+  to grab the position indicator in order to drag</em>
 </p>
 </p>
-
-<p>To change the width smoothly, press the right button and drag
+<p>
+  To change the width smoothly, press the right button and drag
   within the lower half of the panner, then release. The width will be
   within the lower half of the panner, then release. The width will be
-  limited by the current position setting.
+  limited by the current position setting.<em>Note: you do not need to
+  grab the L/R indicators in order to drag</em>
 </p>
 
 <dl class="faq">
 
 <dt>Reset to defaults</dt>
 </p>
 
 <dl class="faq">
 
 <dt>Reset to defaults</dt>
-<dd>Click <key class="mod3">button 1</key></dd>
+<dd>Click <key class="mod3">right button</key></dd>
 
 <dt>Change to a "hard left"</dt>
 
 <dt>Change to a "hard left"</dt>
-<dd>Double click <key class="mod1">button 1</key> in the upper left half
+<dd>Double click <key class="mod2">right button</key> in the upper left half
   of the panner</dd>
 
 <dt>Change to a "hard right"</dt>
   of the panner</dd>
 
 <dt>Change to a "hard right"</dt>
-<dd>Double click <key class="mod1">button 1</key> in the upper right half
+<dd>Double click <key class="mod2">right button</key> in the upper right half
   of the panner</dd>
 
 <dt>Move position as far left as possible, given width</dt>
   of the panner</dd>
 
 <dt>Move position as far left as possible, given width</dt>
-<dd>Double click <key>button 1</key> in the upper left half of the
+<dd>Double click <key>right button</key> in the upper left half of the
   panner</dd>
 
 <dt>Move position as far right as possible, given width</dt>
   panner</dd>
 
 <dt>Move position as far right as possible, given width</dt>
-<dd>Double click <key>button 1</key> in the upper right half of the
+<dd>Double click <key>right button</key> in the upper right half of the
   panner</dd>
 
 <dt>Set the position to center</dt>
   panner</dd>
 
 <dt>Set the position to center</dt>
-<dd>Click <key>button 1</key> in the upper middle of the panner</dd>
+<dd>Click <key>right button</key> in the upper middle of the panner</dd>
 
 
-<dt>Reset width to 180&deg; (100%)</dt>
-<dd>Double click <key>button 1</key> on the lower left side</dd>
+<dt>Reset to maximum possible width</dt>
+<dd>Double click <key>right button</key> on the lower left side</dd>
 
 
-<dt>Reset width to -180&deg; (inverted 100%)</dt>
-<dd>Double click <key>button 1</key> on the lower right side</dd>
+<dt>Invert (flip channel assignments)</dt>
+<dd>Double click <key>right button</key> on the lower right side</dd>
 
 <dt>Set width to 0&deg;</dt>
 
 <dt>Set width to 0&deg;</dt>
-<dd>Double click <key>button 1</key> in the lower middle</dd>
+<dd>Double click <key>right button</key> in the lower middle</dd>
 </dl>
 
 <h4>Keyboard bindings</h4>
 
 </dl>
 
 <h4>Keyboard bindings</h4>
 
-When the pointer is within a stereo panner user interface, the following
-keybindings are available to operate on that panner:
+<p>
+  When the pointer is within a stereo panner user interface, the following
+  keybindings are available to operate on that panner:
+</p>
 
 <dl>
 
 <dl>
-<dt><key>&uarr;</key></dt>
-<dd>increase width by 1&deg;</dd>
-<dt><key class="mod1">&uarr;</key></dt>
-<dd>increase width by 5&deg</dd>
-<dt><key>&darr;</key></dt>
-<dd>decrease width by 1&deg;</dd>
-<dt><key class="mod1">&darr;</key></dt>
-<dd>decrease width by 5&deg;</dd>
-<dt><key class="mod2">&uarr;</key></dt>
-<dd>reset width to 180&deg; (100%)</dd>
-<dt><key>&larr;</key></dt>
-<dd>move position 1&deg; to the left</dd>
-<dt><key>&rarr;</key></dt>
-<dd>move position 1&deg to the right</dd>
-<dt><key>0</key></dt>
-<dd>reset position to center</dd>
+  <dt><key>&uarr;</key> / <key class="mod1">&uarr;</key></dt>
+  <dd>increase width by 1&deg; / 5&deg;</dd>
+  <dt><key>&darr;</key> / <key class="mod1">&darr;</key></dt>
+  <dd>decrease width by 1&deg; / 5&deg;</dd>
+  <dt><key>&larr;</key> / <key class="mod1">&larr;</key></dt>
+  <dd>move position 1&deg; / 5&deg; to the left</dd>
+  <dt><key>&rarr;</key> / <key class="mod1">&rarr;</key></dt>
+  <dd>move position 1&deg / 5&deg; to the right</dd>
+  <dt><key>0</key></dt>
+  <dd>reset position to center</dd>
+  <dt><key class="mod2">&uarr;</key></dt>
+  <dd>reset width to full (100%)</dd>
 </dl>
 
 </dl>
 
-<h4>Using the scroll wheel</h4>
+<h4>Using the scroll wheel/touch scroll</h4>
 
 
-When the pointer is within a stereo panner user interface, the scroll
-wheel may be used as follows:
+<p>
+  When the pointer is within a stereo panner user interface, the scroll
+  wheel may be used as follows:
+</p>
 
 <dl>
 
 <dl>
-<dt>scroll left</dt>
-<dd>increase width by 1&deg;</dd>
+<dt>left / <key class="mod1">left</key></dt>
+<dd>increase width by 1&deg; / 5&deg;</dd>
 
 
-<dt><key class="mod1">scroll left</key></dt>
-<dd>increase width by 5&deg;</dd>
+<dt>right / <key class="mod1">right</key></dt>
+<dd>decrease width by 1&deg; / 5&deg;</dd>
 
 
-<dt>scroll left</dt>
-<dd>decrease width by 1&deg;</dd>
+<dt>up / <key class="mod1">up</key></dt>
+<dd>move position 1&deg; / 5&deg; to the left</dd>
 
 
-<dt><key class="mod1">scroll left<key></dt>
-<dd>decrease width by 5&deg;</dd>
+<dt>down / <key class="mod1">down</key></dt>
+<dd>move position 1&deg; / 5&deg;to the right</dd>
+</dl>
 
 
-<dt>scroll up</dt>
-<dd>move position 1&deg; to the right</dd>
+<h2><a name="caveat"></a>Stereo panning caveats</h2>
+
+<div class="well">
+The stereo panner will introduce unwanted side effects on
+material that includes a time difference between the channels, such
+as A/B, ORTF or NOS microphone recordings, or delay-panned mixes.<br />   
+When you reduce the with, you are effectively summing two highly
+correlated signals with a delay, which will cause comb filtering.
+</div>
+<p>  
+Let's take a closer look at what happens when you record a source at 45° to the
+right side with an ORTF stereo microphone array and then manipulate the width.
+</p>
+<p>
+For testing, we apply a pink noise signal to both inputs of an Ardour stereo
+bus with the stereo panner, and feed the bus output to a two-channel analyser. 
+Since pink noise contains equal energy per octave, the expected readout is a
+straight line, which would indicate that our signal chain does not color the
+sound:
+</p>
+<img src="/images/stereo-panner-with-ORTF-fullwidth.png" />
+<p>
+To simulate an ORTF, we use Robin Gareus' stereo balance
+control LV2 to set the level difference and time delay. Ignore the Trim/Gain
+&mdash; its purpose is just to align the test signal with the 0dB line of the
+analyser.
+</p>
+<p> 
+Recall that an ORTF microphone pair consists of two cardioids spaced 17 cm
+apart, with an opening angle of 110°.
+For a far source at 45° to the right, the time difference between the capsules 
+is 350 &mu;s or approximately 15 samples at 44.1 kHz. The level difference 
+due to the directivity of the microphones is about 7.5 dB (indicated by the 
+distance between the blue and red lines in the analyser).
+</p>
+<p>
+Now for the interesting part: if we reduce the width of the signal to 50%,
+the time-delayed signals will be combined in the panner. Observe what
+happens to the frequency response of the left and right outputs:
+</p>
+<img src="/images/stereo-panner-with-ORTF-halfwidth.png" />
+<p>
+You may argue that all spaced microphone recordings will undergo comb 
+filtering later, when the two channels recombine in the air between the speakers.
+Perceptually however, there is a huge of difference: our hearing system is
+very good at eliminating comb filters in the real world, where their component
+signals are spatially separated. But once you combine them
+inside your signal chain, this spatial separation is lost and the brain will
+no longer be able to sort out the timbral mess. As usual, you
+get to keep the pieces.
+</p>
+<div class="well">
+Depending on your material and on how much you need to manipulate the width,
+some degree of comb filtering may be acceptable. Then again, it may not. Listen
+carefully for artefacts if you manipulate unknown stereo signals &mdash; many
+orchestra sample libraries for example do contain time-delay components.
+</div>
 
 
-<dt>scroll down</dt>
-<dd>move position 1&deg; to the right</dd>
-</dl>