081e7af0b6
Seems this had been broken for some time now, but nobody noticed it. :-/ Thanks to Len Ovens for pointing this one out. :-)
251 lines
9.7 KiB
HTML
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°</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 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—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 μ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—many
|
|
orchestra sample libraries for example do contain time-delay components.
|
|
</p>
|
|
|