manual/include/io-plugins.html

116 lines
4.3 KiB
HTML

<p>
I/O plugins are a way to process audio outside the normal Ardour session or
connect to sources typically unavailable in a DAW, such as outputs of NDI
devices. Pre-plugins run before Ardour does any processing, post-plugins run
after Ardour has done all processing.
</p>
<p>
A common use case is wet recording where a number of plugins are applied
directly to the physical input. The processed signal then can be routed to any
number of tracks or busses in Ardour. This is a lot like doing some of the
processing with a chain of guitar pedals, then feeding the signal to an Aux In
port on a mixing console or an input port on a multi-effects digital
pedalboard.
</p>
<p>
The rationale for pre-processing with I/O plugins is that it's a more
lightweight way to do it as compared to busses. Much of that is because busses
have automatable parameters such as fader and panner positions, as well as
plugins' parameters. Evaluating parameter automation (even when there's none)
adds additional load to the CPU. However I/O plugins are not automatable, so
there's no evaluation happening. As far as Ardour is concerned, they are
almost like JACK audio server clients running alongside Ardour.
</p>
<p>
Another use case would be loading an instance of the NDI Input plugin as a
pre-processing plugin to be able to capture and mix sources from NDI devices,
or loading an instance of the NDI Output plugin to send audio from Ardour over
IP to a receiver for broadcasting.
</p>
<figure>
<img class="hdimage" src="/images/io-plugins-ndi-input.png" alt="NDI Input plugin loaded as a pre-processing I/O plugin">
<figcaption>NDI Input plugin loaded as a pre-processing I/O plugin</figcaption>
</figure>
<p>
It's also possible to use the post-processing section to load plugins for room
correction or signal analysis (VU meters, spectrum analyzers etc.).
</p>
<h2>Adding I/O plugins</h2>
<p>
New I/O plugins can be added in the <kbd class="title">I/O Plugins</kbd>
dialog (<kbd class="menu">Window &gt; I/O Plugins</kbd>).
</p>
<figure>
<img class="hdimage" src="/images/io-plugins-empty-slots.png" alt="Empty slots in the I/O Plugins dialog">
<figcaption>Empty slots in the I/O Plugins dialog</figcaption>
</figure>
<p>
Right-clicking opens the same menu for plugin selection available for mixer
channel strips:
</p>
<figure>
<img class="hdimage" src="/images/io-plugins-right-click-menu.png" alt="Right-click menu in the I/O Plugins dialog">
<figcaption>Right-click menu in the I/O Plugins dialog</figcaption>
</figure>
<p>
Double-clicking opens the <kbd class="title">Plugin Selector</kbd> dialog.
</p>
<p>
Once a plugin has been selected and added, it shows in either Pre- or
Post-process section depending on your choice.
</p>
<figure>
<img class="hdimage" src="/images/io-plugins-one-plugin-added.png" alt="ACE Compressor added to the pre- section">
<figcaption>ACE Compressor added to the Pre-process section</figcaption>
</figure>
<h2>Routing I/O plugins</h2>
<p>
I/O plugins have the same user interface for setting input and outputs that is
also available in mixer channel strips. The button above the plugin name opens
a drop-down menu for quickly choosing an input port. The button below opens
the drop-down menu for choosing the output port.
</p>
<figure>
<img class="hdimage" src="/images/io-plugins-choose-output.png" alt="Choosing output for an I/O plugin">
<figcaption>Choosing output for an I/O plugin</figcaption>
</figure>
<p>
Additionally, new tracks automatically connected to an I/O plugin can be
easily created in the <kbd class="title">Recorder</kbd> window by clicking the
<kbd class="key">+</kbd> button and then setting a new for that track.
</p>
<figure>
<img class="hdimage" src="/images/io-plugins-new-track-from-io-plugin.png" alt="New track connected to an I/O plugin">
<figcaption>New track connected to an I/O plugin</figcaption>
</figure>
<p>
On the <kbd class="window">Audio Connections</kbd> dialog, the ports of pre-
and post-process plugins are listed on dedicated tabs
(<kbd class="tab">I/O Pre</kbd> and <kbd class="tab">I/O Post</kbd>),
separately from all other ports.
</p>
<figure>
<img class="hdimage" src="/images/io-plugins-in-audio-connections.png" alt="I/O Plugins in the Audio Connections dialog">
<figcaption>I/O Plugins in the Audio Connections dialog</figcaption>
</figure>