Added a Sidechaining doc

This commit is contained in:
Ed Ward 2017-02-02 13:23:06 +01:00 committed by Len Ovens
parent 374491ad08
commit dea278885c
6 changed files with 175 additions and 5 deletions

View File

@ -48,14 +48,69 @@ Strict I/O is set when creating the track and can later be en/disabled dynamical
<li>Side chain inputs are not affected by strict i/o</li> <li>Side chain inputs are not affected by strict i/o</li>
</ul> </ul>
<h2>Customizing the Signal Flow</h2> <h2>Customizing the Signal Flow : The Pin Connection window</h2>
<p> <p>
The signal flow though the mixer can be customized at every processor node via "Pin Configuration" in the context menu of every processor. The signal flow though the mixer can be customized at every processor node via "Pin Configuration" in the context menu of every processor.
User customization override all automatic (flexible/strict i/o mode) inferred output port settings for the given processor. User customization override all automatic (flexible/strict i/o mode) inferred output port settings </p>
Non-customized plugins downstream will follow suit depending on the selected route mode. e.g. adding an additional output to a plugin on a track set to strict-i/o will trickle down the process chain until the output and result in the addition of an output port. This is useful for example in case of a mono to stereo reverb. <p>
The Pin Connection window is made of three vertical sections:
</p>
<ul>
<li>an I/O config column</li>
<li>an interactive diagram</li>
<li>a sidechain column.</li>
</ul>
<p>
By default, the I/O config is set to <em>Automatic</em>, i.e. the <kbd class="menu">Manual Config</kbd> led light is turned off.
In this mode, the diagram will display the standard input/outputs for this plugin, i.e. the number of ports (input/outputs) is
equal to the number of pins on the plugin, and a 1:1 connection is automatically created.
</p>
<p>
Adding new instances of the plugin allows to apply this plugin to more inputs or outputs. E.g., a mono effect can be applied
to each channel of a <em>n</em>-channels track by adding as many instances of the plugins as there are input channels (i.e. ports). This
happens automatically when adding e.g. a mono effect to a stereo track:
</p>
<ul>
<li>Ardour creates two instances of the plugin,</li>
<li>the plugin gets a (2x1) label in the processor box</li>
<li>its 2 input ports are each connected to 1 pin of an instance</li>
<li>each mono output pin of the plugin is connected to 1 output port.</li>
</ul>
</p>
<p>
Output channels can also, in Manual Config mode, be added or removed, be them audio or MIDI.
</p>
<p class="note">
Notice that using the Pin Connection overrides the I/O config setting (Flexible vs Strict). A processor <em>can</em>,
even in Strict I/O mode, have a different number of outputs than inputs. Non-customized plugins downstream
will follow suit depending on the selected route mode. e.g. adding an additional output to a plugin on a
track set to strict-i/o will trickle down the process chain until the output and result in the addition of
an output port. This is useful for example in case of a mono to stereo reverb.
</p> </p>
<p> <p>
One can also bypass plugin instances with a 'trhu' connection. This connection is latency compensated. One example is separate Left/Right channel Equalization using two mono plugins on a stereo track: The diagram allows to plug together the I/O ports with the plugin pins and other I/O ports, provided they are compatible (MIDI vs audio), just by
dragging/dropping the end connectors on one another.
A dotted connector's line is a "<em>thru</em>" line, that is directly connecting an output to an input without connecting to a pin on
the plugin, hence without any audio modification. Those "thru" connections are latency compensated with regards to those being affected by the plugin,
in order to avoid phasing issues. One example is separate Left/Right channel Equalization using two mono plugins on a stereo track:
</p>
<img src="/images/left_right_eq.png" alt="Separate left/right Eq">
<p>
The only way to add inputs to a processor is via <a href="/signal-routing/sidechaining/">Sidechaining</a> from another signal.
This is done by "tapping" the signal from another track/bus at any point.
</p>
<p>
Adding a sidechain signal in Ardour is as simple as enabling the <kbd class="menu">Sidechain</kbd> button,
and choosing an <kbd class="menu">Audio</kbd> or <kbd class="menu">MIDI</kbd> sidechain in the
<kbd class="menu">Add Sidechain Input</kbd> lower right hand section.
A new dropdown menu appears, that displays a list of the tracks/bus available to be sidechained, or
for a more complex setup (e.g. sidechaining from hardware directly), the <a href="/signal-routing/Patchbay/">Routing Grid</a>
(also accessible with a <kbd class="mouse">Right</kbd>-click on the dropdown menu).
</p>
<p>
The sidechain ports can then be connected, as other inputs, to a pin of the plugin, or an output port for a "thru".
</p> </p>
<p class="center"><img src="/images/left_right_eq.png" alt="separate left/right Eq" /></p>

View File

@ -0,0 +1,115 @@
---
layout: default
title: Sidechaining
---
<p>
Dynamic Processors &ndash; such as compressors &ndash; in general use the the original
input signal for analysis and operate on the same signal.
Side-chaining uses the signal level of <em>another input</em> to control
the compression level of the original signal.
</p>
<p>
Effect Processors which have a side-chain input (sometimes also called <em>key input</em>)
have an additional input pin to receive a signal from an external input.
In Ardour that extra input can be connected in the plugin's <kbd class="menu">Pin Configuration</kbd>
dialog: the signal from one track can be tapped off and used as an input to a
plugin on a different track. This dialog is
accessed via the plugin's context-menu &gt; <kbd class="menu">Pin Connections&hellip;</kbd>.
</p>
<p>
In case a plugin has a dedicated sidechain input, Ardour automatically
creates a port for the input. This is a normal I/O port which can be fed by any
external signal.
The <kbd class="menu">Pin Configuration</kbd> dialog is not limited to
processors with a dedicated sidechain input, it also allows to manually create
(or remove) a sidechain input port and provides for flexible connection of the
signal to plugin pins.
</p>
<p>
The operational flow in the Ardour GUI starts at the processor which is to receive
the signal: a sidechain source is selected, and Ardour creates a dedicated send-processor in the
source processor box, the level of which can be adjusted either in the Pin Configuration window
or directly on the source's send.
</p>
<h2>A simple example: Sidechain compression</h2>
<p>
One example is the use of a bassdrum track to trigger
the compression on a bass track. The sidechain compressor (a-Compressor) will be placed on
the bass track, and will need to receive the signal from the bassdrum track as
a way to trigger the compression.
</p>
<figure>
<img src="/images/sc-comp-pin.png" alt="Sidechain compression: Pin configuration">
<img src="/images/sc-comp-mixer.png" alt="Sidechain compression: Mixer view">
<img src="/images/sc-comp-editor.png" alt="Sidechain compression: Editor view">
<figcaption>
A sidechain compression: Pin configuration, mixer view and editor view.
</figcaption>
</figure>
<p>
Here, on the bass track, an <em>a-Compressor</em> has been added, and the
Drum track has been set as the sidechain source. The mixer reflects this
by showing an <em>SC</em>-send processor in the drum track, very similar to a <a href="/signal-routing/aux-sends/">send</a>
The bass track also shows an arrow as one of the a-compressor input.
</p>
<p>
As a result, in the editor, each peak in the kick drum track triggers the compression on the bass track
and the resulting track shows the compression kicking in on each kick drum peak, hence
reducing the gain. The compression is applied to the bass, but only based on the level of the drum track.
</p>
<p>
This is commonly used for <em>ducking</em> effect, when e.g. a radio speaker's voice triggers the
compression on the audio playing.
</p>
<h2>MIDI Sidechaining</h2>
<p>
Ardour allows the sidechain sources to be either audio or MIDI tracks/busses. This is
particularly useful when a MIDI signal is used to control an audio effect, like a
vocoder or an auto-tuner, like <a href="https://github.com/x42/fat1.lv2">fat1</a>,
the LV2 port of Fons Adriaensen's <a href="http://kokkinizita.linuxaudio.org/linuxaudio/zita-at1-doc/quickguide.html">Zita AT1</a>
by Robin Gareus:
</p>
<figure>
<img src="/images/pin-connection-autotune.png" alt="MIDI Sidechain">
<figcaption>
MIDI sidechainig example: fat1.lv2.
</figcaption>
</figure>
<p>
Here, the MIDI track is inputed to the plugin's MIDI IN pin through a sidechain,
indicating to the plugin what note should the source audio be corrected to.
</p>
<p class="note">
Notice that in the example above, the output of the "Vocals" track is connected
to the input of the "Corrected" track. We could have chosen to insert the "Vocals" track
content as an audio sidechain too, totally disconnecting the input from the plugin, and
connecting the plugin's input pin to the audio sidechain port.
</p>
<h2>Pre-processing the sidechained signal</h2>
<p>
Sometimes, the effects of a sidechain signal on a plugin can be enhanced by
pre-processing the signal.
</p>
<p>
In the first example above, if the entire drum part is on one track,
then compressing with this signal as a sidechain will result in every peak triggering the compression,
be them bass drum kicks or snare, cymbals, etc.
</p>
<p>
In this case, adding an EQ to the drum track with a low pass filter would filter out the peaks
created by the high pitched instruments of the drum kit, and allow for a better triggering, though to
avoid damaging the original drum track, a send to an intermediary track would be better suited
to place the EQ on. This track won't be connected to the Master, as its content is of no musical
interest except for it's use as a trigger, allowing for some extreme EQ.
</p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB