260 lines
10 KiB
HTML
260 lines
10 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 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, the width must first be reduced.
|
|
</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. Clicking and/or dragging in the top half
|
|
controls position; clicking and/or dragging in the bottom half controls
|
|
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 <kbd class="menu">L</kbd> and the
|
|
other <kbd class="menu">R</kbd>. 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 <kbd class="menu">M</kbd> (for mono), whose color will
|
|
change to indicate this 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>
|
|
The position can be changed smoothly, by pressing the right button and dragging
|
|
within the top half of the panner, then releasing. The position will
|
|
be limited by the current width setting. <em>Note: it is not necessary
|
|
to grab the position indicator in order to drag.</em>
|
|
</p>
|
|
<p>
|
|
The width can also be changed smoothly, by pressing the right button and dragging
|
|
within the lower half of the panner, then releasing. The width will be
|
|
limited by the current position setting. <em>Note: it is not necessary
|
|
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°</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>↑</kbd> / <kbd class="mod1">↑</kbd></th>
|
|
<td>increase width by 1° / 5°</td></tr>
|
|
<tr><th><kbd>↓</kbd> / <kbd class="mod1">↓</kbd></th>
|
|
<td>decrease width by 1° / 5°</td></tr>
|
|
<tr><th><kbd>←</kbd> / <kbd class="mod1">←</kbd></th>
|
|
<td>move position 1° / 5° to the left</td></tr>
|
|
<tr><th><kbd>→</kbd> / <kbd class="mod1">→</kbd></th>
|
|
<td>move position 1° / 5° to the right</td></tr>
|
|
<tr><th><kbd>0</kbd></th>
|
|
<td>reset position to center</td></tr>
|
|
<tr><th><kbd class="mod2">↑</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">⇐</kbd> / <kbd class="mod1 mouse">⇐</kbd></th>
|
|
<td>increase width by 1° / 5°</td></tr>
|
|
<tr><th><kbd class="mouse">⇒</kbd> / <kbd class="mod1 mouse">⇒</kbd></th>
|
|
<td>decrease width by 1° / 5°</td></tr>
|
|
<tr><th><kbd class="mouse">⇑</kbd> / <kbd class="mod1 mouse">⇑</kbd></th>
|
|
<td>move position 1° / 5° to the left</td></tr>
|
|
<tr><th><kbd class="mouse">⇓</kbd> / <kbd class="mod1 mouse">⇓</kbd></th>
|
|
<td>move position 1° / 5°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 the width is reduced, two highly correlated signals with a delay are
|
|
effectively summed, which will cause <dfn>comb filtering</dfn>.
|
|
</p>
|
|
<p>
|
|
Let's take a closer look at what happens when a source is recorded at 45° to the
|
|
right side with an ORTF stereo microphone array and then the width manipulated.
|
|
</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>
|
|
|
|
<figure class="center">
|
|
<img src="/images/stereo-panner-with-ORTF-fullwidth.png" alt="Stereo panner
|
|
with ORTF fullwidth">
|
|
<figcaption>Stereo panner with ORTF full width</figcaption>
|
|
</figure>
|
|
|
|
<p>
|
|
An ORTF is simulated using Robin Gareus' stereo balance control LV2 to set the
|
|
level difference and time delay. The Trim/Gain can be ignored—its purpose
|
|
is just to align the test signal with the 0dB line of the analyser.
|
|
</p>
|
|
|
|
<p>
|
|
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 μ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 the width of the signal is reduced to 50%,
|
|
the time-delayed signals will be combined in the panner. What happens to the
|
|
frequency response of the left and right outputs is shown in the following
|
|
picture:
|
|
</p>
|
|
|
|
<figure class="center">
|
|
<img src="/images/stereo-panner-with-ORTF-halfwidth.png" alt="Stereo panner
|
|
with ORTF halfwidth">
|
|
<figcaption>Stereo panner with ORTF half width</figcaption>
|
|
</figure>
|
|
|
|
<p>
|
|
It can be argued 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 difference: our hearing
|
|
system is very good at eliminating comb filters in the real world, where their
|
|
component signals are spatially separated. But once they are combined inside
|
|
a signal chain, this spatial separation is lost and the brain will no
|
|
longer be able to sort out the timbral mess.
|
|
</p>
|
|
<p class="note">
|
|
Depending on the material and on how much the width needs to be manipulated,
|
|
some degree of comb filtering may be acceptable. Then again, it may not.
|
|
It is advides to listen carefully for artefacts when manipulating unknown stereo
|
|
signals—many orchestra sample libraries for example do contain
|
|
time-delay components.
|
|
</p>
|