<li>Side chain inputs are not affected by strict i/o</li>
</ul>
-<h2>Customizing the Signal Flow</h2>
+<h2>Customizing the Signal Flow : The Pin Connection window</h2>
+
<p>
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.
-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.
+User customization override all automatic (flexible/strict i/o mode) inferred output port settings </p>
+<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>
-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 class="center"><img src="/images/left_right_eq.png" alt="separate left/right Eq" /></p>
--- /dev/null
+---
+layout: default
+title: Sidechaining
+---
+<p>
+ Dynamic Processors – such as compressors – 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 > <kbd class="menu">Pin Connections…</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>