Audio Engine Options
The Audio Engine options page provides settings that control various important aspects of Cantabile audio processing:
Audio Driver
The audio driver drop down lets you choose which audio driver Cantabile will use for audio processing. Cantabile supports ASIO drivers for full audio input/output support and WASAPI for output audio only.
In general we recommend using the ASIO driver that was shipped with your sound device. If no such driver was provided (or if its unreliable) you can use the general purpose ASIO driver ASIO4ALL which works well with Cantabile.
Most audio drivers will take exclusive control of the associated sound device making that device unavailable to other programs. This is because exclusive access provides the best possible latency and audio performance. If you need to use another audio program while Cantabile is running you can either:
- Stop Cantabile's audio engine (the power button at the top right of the main window) while using the other program
- Check if your ASIO driver supports a shared mode. (some do, not all)
- Choose a WASAPI driver and set the sample rate drop down to "Shared Mode".
The third option is a good choice if you want to play along with other music played from your computer (eg: playing along with a YouTube video).
Most ASIO drivers have additional settings that can be accessed via the "Control Panel" button.
Sample Rate and Buffer Size
The sample rate and buffer size options control the size of each audio buffer processed by Cantabile. The available choices here are dictated by the capabilities of the selected audio driver.
In general:
- The higher the sample rate the better the quality, but at the expense of additional processing load.
- The higher the buffer size, the less chance of audio drop outs but at the expense of possible audio drop outs.
In general for live performance work we recommend setting the sample rate 44,100Hz and buffer size to 256 samples. This provides a good balance between acceptable latency and sufficient headroom to not cause audio drop outs.
For a detailed explanation of how to configure these options see our free eBook Glitch Free.
Double Buffered Audio
When the double buffered audio option is enabled, the audio engine introduces an additional audio buffer between the audio driver and the audio engine.
This can work particularly well with some poorly designed audio drivers that consume a significant portion of the audio cycle before passing control to Cantabile. It also provides an extra cushion to deal with small unexpected stalls in the audio processing.
Note that the extra layer of buffering also causes additional latency - effectively doubling the buffer size.
Some considerations:
- If you find you're getting audio drop outs when processing load is still below 100% (eg: some drivers can cause dropouts even with load as low as 85%) then using double buffering might be a good option.
- You can experiment with this option by enabling it and then halving (or at least significantly reducing) the buffer size. If you get acceptable performance in this configuration then using this option might be a good choice as it provides that extra cushion for unexpected stalls.
Number of Audio Threads
Cantabile's audio engine can process multiple simultaneous tasks on separate threads. Normally you should set this option to the number of physical processor cores supported by your computer. Don't set this to the number of virtual hyper-threading cores - this almost always has detrimental affects on audio processing.
Other considerations:
- Some plugins (particularly older, non-supported plugins) have issues with multi-core processing. Setting the number of audio cores to one effectively disables multi-core processing and might eliminate problems with these plugins.
- If you're using plugins that have their own multi-core processing support, you may get better performance by reducing the number of Cantabile audio threads - free up some for plugin processing.
Again, refer to Glitch Free for a more detailed discussion of this topic.
Multi-Processor Mode
As mentioned above, some plugins have issues with multi-core processing. This option controls how aggressively Cantabile tries to schedule plugin processing to different cores. If you find issues when running multiple instances of the same plugin causing crashes or other unexpected behaviour you can try setting this option to "Compatible".
If compatible mode resolves the issue, please report the plugin that's causing the problem.
Prevent Memory Paging
This option can help on old machines (pre-Window 10) that don't have sufficient memory to reliably run large sample based plugins. In general this option should no longer be used.
Sample Rate Conversion Quality
This option controls the sample rate conversion of audio file playback and is only used when playing audio files with a sample rate different to the currently selected audio engine sample rate.
Switch to Power Plan
When running any real-time audio software you should switch the selected Windows Power Plan to the "High Performance" plan. To save manually doing this everytime you run Cantabile, you can select a power plan here and Cantabile will automatically activate it when the audio engine starts and set it back when the engine is stopped.
Enable Output Limiter
To avoid hard clipping of output audio, you can use Cantabile's audio limiter to automatically reduce loud signals back into range.
Double Precision (64-bit) Audio
Select this option to enable 64-bit floating math processing for audio signal processing. Generally for live performance work this is excessive and should be left turned off. See Glitch Free for a more detailed discussion of this topic.