Today Cantabile 3541 was released and includes some new features to help squeeze even better performance out of Cantabile.

Performance Profiler

Cantabile’s new Perfomance Profiler provides deep insights into the audio engine’s load metrics letting you find out where things are stalling if you’re having audio issues.

Not only does the profiler provide a break down of per-plugin load it also provides a detailed history that lets you go back a find out what caused audio problems in the past. It also captures information like CPU load, memory usage, page fault counts and it lets you export the datas for review.

Check out the video below for a walkthrough on using the profiler, or this written guide for even more detail.

Double Buffered Audio

Today’s build also introduces a new option for double buffered audio processing.

The new double buffered audio option can be found in Options -> Audio Engine

Double buffering adds an extra layer of buffering between the audio driver and Cantabile’s audio processing.

Some poorly written audio drivers consume a significant portion of each audio cycle for their own processing — leaving less time for plugin processing.

The double buffering feature reclaims the full audio cycle for audio processing at the expense of extra latency (which is effectively doubled). However you can often halve the audio buffer size (or at least significantly reduce it), turn on double buffering and get reliable performance with similar total latency— with the added protection of handling occassional stalls.

Note that although this feature doubles Cantabile’s internal buffer size and latency — it doesn’t necessarily affect external latency introduced by the sound device/driver itself. So sometimes even though you’re doubling the buffer size, you’re not neccessarily doubling the total latency.

You should definitely consider experimenting with the feature to see how it impacts your system. In particular if you finding audio drop outs without hitting 100% load, then this might be a good option for you.

Automatic Power Plan Switching

One of the most important things you should do when running real-time audio programs like Cantabile is switch Windows to the High Performance power plan.

This power plan ensures the all the processor cores are unparked and running at full speed. Other plans can throttle or even completely shutdown CPU cores to save power and can severly reduce audio processing performance.

Since this is such an important requirement, Cantabile now includes the ability to automatically switch to a specific power plan whenever the audio engine starts and then switch back when the audio engine is stopped.

Cantabile can now automatically activate a particular Windows Power Plan.

To Many Plugin Audio Ports

One of the things I noticed while from the Profiler, is that for some plugins an excessive amount of time was wasted processing plugin audio ports that weren’t even used.

Kontakt 5 for example has about 60 audio ports spread across even more audio channels. I can’t imagine anyone using all these ports in a realtime situation.

To help mitigate this, there’s been some changes:

  1. Cantabile no longer automatically creates all the ports declared by the plugin. Instead it create just one stereo input and one stereo output port (or two if the ports are mono).
  2. There’s a new command to trim unused ports — either for a specific plugin instance, or for all plugins in the current song or rack. See the Edit menu -> Trim Unused Ports
  3. In case you need all of a plugins audio ports, there’s a new command: right click on the plugin -> Map All Channels. You can use this to create all the ports, setup your song using whichever ports you need and then use the Trim command to get rid of any that you didn’t end up using.

Available Now

All of these new features are available now in build 3541. Let me know what you think in the comments…