Configuring Audio Ports
An audio port defines how a set of channels are mapped between an audio object and routes connected to the port. An audio port can be either an input port or an output port. For example:
- A plugin input port maps audio signals from connecting incoming routes to the plugin's input channels.
- A plugin output port maps audio signals from the plugin to connected outgoing routes.
An audio port consists of a set of channels and each channel has a number of assignments - each defining how an audio signal is mapped to or from the port.
The following screen shot shows the audio port settings for a typical audio effect plugin:
This plugin has a typical set of stereo in/stereo out audio ports. Note the two assignments on each of the output port channels which is explained below (see Wet/Dry Mix Control)
Notes on using this window:
- Click the Add button to add additional audio ports, or more channels to an existing port.
- Right clicking a channel allows for quickly creating simple 1 to 1 channel assignments.
- Double click a port or channel to edit its settings.
Editing a channel using the Edit Audio Channel window:
Notes:
- A channel can have multiple assignments to the target/source object
- Each assignment has its own mix level that controls the signal level of the assignment
- Depending on the context, each assignment may have a setting to control the pan and fade placement of this channel (see below).
Audio Driver to Audio Port Mappings
Cantabile supports mapping of audio signals from the audio driver to a set of audio input/output ports. By defining audio ports in this manner, Cantabile's song files can be configured to work with a known set of audio ports and are isolated from the underlying hardware. Should the hardware configuration change, the audio ports can be reconfigured for the new hardware and the songs can continue to run unmodified.
Audio driver ports are defined in Options → Audio Ports and Cantabile maintains a separate set of assignments for each audio driver.
Plugin Audio Port Mappings
The other place audio ports are used is on plugins. Each plugin instance has it's own set of configurable audio ports. When a plugin is first inserted into a song Cantabile automatically creates a set of audio port configurations based on information from the plugin. Typically the default configuration will work fine however sometimes it might be necessary to change the audio port configuration. This is done by selecting the plugin in Cantabile's main window and choosing Edit → Plugin Audio Ports from the main menu.
Wet/Dry Mix Control
In the screen shot above it was noted that the output port of the example plugin has two assignments for each output channel. If you take a closer look at these two assignments, you'll see the first is an assignment from the plugin's output channel (as expected), but there is also a second assignment from the plugin's input channel to the output port.
This second assignment is what allows wet/dry mix levels on effect plugins to work.
Audio output ports on plugins support creation of assignments from three distinct sources:
- The plugin's output
- The plugin's input
- Any of the input port channels
The plugins output is self explanatory and allows mapping the signal generated by the plugin to the output port. An assignment from the plugin's input sets up the dry signal to be used in wet/dry mixing. As the wet/dry mix level is adjusted for this plugin the output signal will cross fade from the plugin's input when dry to the plugin's output when wet.
Any assignments from an input port directly to an output port are pass-through audio signals and not affected by the plugin slot's mix or gain controls.
Pan and Fade Settings
For plugin output ports each audio channel assignment has additional settings to control how it's affected by the plugin slot's pan and fade knobs and in each case allows setting a direction (none, left, right) or (none, front, back) and a pan or balance mode.
Balance mode provides typical stereo balance control, dropping the signal level on just one side towards zero, causing the sound to move in the other direction. Pan mode uses a panning law to place a mono signal - typically reducing the signal level when centered.
In simpler terms, balance mode should be used for a channel that is a component of a stereo or surround signal. Pan mode should be used for mono signals being placed in a stereo or surround environment.
Mapping All Plugin Channels
By default Cantabile will automatically create one or two audio ports for both a plugin's input and outputs (depending on the functionality of the plugin). By only creating a limited set of ports it can reduce the processing load by not creating ports that won't be used.
Some plugins however might have additional audio channels that you might need to access. There are two ways you can map these channels to audio ports:
- Manually create new ports and map them to the plugin's audio channels (as described above)
- Right click on the plugin slot and choose "Map All Channels".
The second option will replace the existing audio ports with a new set that maps all of the plugin's channels. You can then either delete the the ports you don't actually need or use the Trim Unused Ports command (described below).
Trimming Unused Plugin Ports
If you're using songs created from older versions of Cantabile where the default was to map all channels for new plugin instances, you might find those plugins have unused audio ports that aren't needed and may be contributing unnecessarily to the processing load.
To help mitigate against this you can use the "Trim Unused Ports" command to remove all ports for all plugins that aren't in use.
You can also trim the unused ports for a single plugin in its audio ports property page: