manual/include/stereo-panner.html
Shamus Hammons 081e7af0b6 Fix for internal anchor links in the build script.
Seems this had been broken for some time now, but nobody noticed it. :-/
Thanks to Len Ovens for pointing this one out. :-)
2017-11-10 18:47:11 -06:00

251 lines
9.7 KiB
HTML

<p>
The default <dfn>stereo panner</dfn> distributes two inputs to two outputs. Its
behaviour is controlled by two parameters, <dfn>width</dfn> and
<dfn>position</dfn>. By default, the panner is centered at full width.
</p>
<p>
The 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
<dfn>mono-compatible</dfn>, 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>
<p class="note">
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.
</p>
<h2>Stereo Panner User Interface</h2>
<figure class="left">
<img src="/images/stereo-panner.png" alt="The Stereo Panner">
<figcaption>
The Stereo Panner
</figcaption>
</figure>
<p>
The <dfn>panner user interface</dfn> 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>
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>
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>
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>
<table class="nodl">
<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 class="nodl">
<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>
<p>
Mouse operations in the upper half of the panner adjust the position
parameter, constrained by the current width setting.
</p>
<p>
Mouse operations in the lower half of the panner adjust the width
parameter, constrained by the current position setting.
</p>
<p>
To change the position smoothly, press the right button and drag
within the top half of the panner, then release. The position will
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>
To change the width smoothly, press the right button and drag
within the lower half of the panner, then release. The width will be
limited by the current position setting. <em>Note: you do not need to
grab the L/R indicators in order to drag.</em>
</p>
<table class="dl">
<tr><th>Reset to defaults</th>
<td>Click <kbd class="mod3 mouse">right</kbd></td></tr>
<tr><th>Change to hard left</th>
<td>Double click <kbd class="mod2 mouse">right</kbd> in the upper left half
of the panner</td></tr>
<tr><th>Change to a hard right</th>
<td>Double click <kbd class="mod2 mouse">right</kbd> in the upper right half
of the panner</td></tr>
<tr><th>Move position as far left as possible, given width</th>
<td>Double click <kbd class="mouse">right</kbd> in the upper left half of the
panner</td></tr>
<tr><th>Move position as far right as possible, given width</th>
<td>Double click <kbd class="mouse">right</kbd> in the upper right half of the
panner</td></tr>
<tr><th>Set the position to center</th>
<td>Click <kbd class="mouse">right</kbd> in the upper middle of the panner</td></tr>
<tr><th>Reset to maximum possible width</th>
<td>Double click <kbd class="mouse">right</kbd> on the lower left side</td></tr>
<tr><th>Invert (flip channel assignments)</th>
<td>Double click <kbd class="mouse">right</kbd> on the lower right side</td></tr>
<tr><th>Set width to 0&deg;</th>
<td>Double click <kbd class="mouse">right</kbd> in the lower middle</td></tr>
</table>
<h4>Keyboard bindings</h4>
<p>
When the pointer is within a stereo panner user interface, the following
keybindings are available to operate on that panner:
</p>
<table class="dl">
<tr><th><kbd>&uarr;</kbd> / <kbd class="mod1">&uarr;</kbd></th>
<td>increase width by 1&deg; / 5&deg;</td></tr>
<tr><th><kbd>&darr;</kbd> / <kbd class="mod1">&darr;</kbd></th>
<td>decrease width by 1&deg; / 5&deg;</td></tr>
<tr><th><kbd>&larr;</kbd> / <kbd class="mod1">&larr;</kbd></th>
<td>move position 1&deg; / 5&deg; to the left</td></tr>
<tr><th><kbd>&rarr;</kbd> / <kbd class="mod1">&rarr;</kbd></th>
<td>move position 1&deg / 5&deg; to the right</td></tr>
<tr><th><kbd>0</kbd></th>
<td>reset position to center</td></tr>
<tr><th><kbd class="mod2">&uarr;</kbd></th>
<td>reset width to full (100%)</td></tr>
</table>
<h4>Using the scroll wheel/touch scroll</h4>
<p>
When the pointer is within a stereo panner user interface, the scroll
wheel may be used as follows:
</p>
<table class="dl">
<tr><th><kbd class="mouse">&lArr;</kbd> / <kbd class="mod1 mouse">&lArr;</kbd></th>
<td>increase width by 1&deg; / 5&deg;</td></tr>
<tr><th><kbd class="mouse">&rArr;</kbd> / <kbd class="mod1 mouse">&rArr;</kbd></th>
<td>decrease width by 1&deg; / 5&deg;</td></tr>
<tr><th><kbd class="mouse">&uArr;</kbd> / <kbd class="mod1 mouse">&uArr;</kbd></th>
<td>move position 1&deg; / 5&deg; to the left</td></tr>
<tr><th><kbd class="mouse">&dArr;</kbd> / <kbd class="mod1 mouse">&dArr;</kbd></th>
<td>move position 1&deg; / 5&deg;to the right</td></tr>
</table>
<h2><a name="caveat"></a>Stereo panning caveats</h2>
<p class="warning">
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 <dfn>comb filtering</dfn>.
</p>
<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 <dfn>pink noise</dfn> 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 <dfn>ORTF</dfn> 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>
<p class="note">
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.
</p>