Classic Cantabile SP-15 User guide

Cantabile 2.0
User Guide
Copyright © 2006-2009 Topten Software. All Rights Reserved
http://www.cantabilesoftware.com
Table of Contents
1
Introducing Cantabile
Editions
Registration
Installation
Compatibility with Cantabile 1.2
Copyrights and Credits
2
Getting Started
Introduction to Computer Based Music
Starting Cantabile
Configuring Cantabile
Playing Virtual Instruments
Audio Effects
Master Levels
Recording
Playing Media Files
Saving and Loading Sessions
Cantabile’s Main Window
General Editing Tasks
7
7
9
9
11
12
13
14
15
15
16
19
3
Working with Plugins
Understanding Racks and Plugins
Plugins and Racks Panel
Rack Settings
Plugin Settings
Unloaded Plugins
Wet/Dry Mix Settings
Plugin Selector
In-place Plugin Editor
Plugin Editor
Program Organiser
Morph and Randomize Tools
21
21
23
23
24
26
27
27
29
29
32
34
4
Recording
Input vs Output
Manual Recording
Automatic Recording
Status Bar Indicators
Recordings List
Loading Recordings for Playback
MIDI Recorder Formats
Audio Recorder Formats
Pinned and Unpinned Recordings
Recording Options
37
38
38
38
38
39
40
40
41
41
41
5
Playback
Media Files Panel
43
43
2
5
5
6
6
6
6
Chapter 1 -
Automatically Loading Recordings
Media File Groups
Track List (MIDI Files)
Visual Representation View
Moving the Current Play Position
Play Ranges and Selection
45
45
46
47
47
47
6
Timing and Synchronisation
Synchronisation Modes
Synchronisable Objects
Transport Controls
Metronome
Media File Synchronisation
MIDI Clock
49
49
49
50
50
51
52
7
Session Management
Session Files
Sub-Sessions
Set Lists
55
55
56
60
8
Working with Audio
Audio Channel Assignments
Master Bus Configuration
63
63
64
9
Working with MIDI
Keyboard Splits and Transposition
MIDI Filters
MIDI Controller Assignments
MIDI Routing Table
Triggers
MIDI Loop-back
Constant Latency MIDI
67
67
70
78
80
83
85
86
10 Onscreen Keyboard
Playing the Keyboard with the Mouse
Playing the Keyboard with the Computer's Keyboard
X-Y Controller
Holding Keys
PC Keyboard Capture
Panic Button
Other Keys
Channel Selector
Program Selector
Custom Controllers
Miscellaneous
87
87
87
88
88
88
88
89
89
89
89
90
11 Other Features
Large Status Display
Offline Renderer
External Tools
91
91
91
93
Table of Contents
3
Engine Start/Stop
Alternate Configurations
System Tray Icon
Multiple Processor Support
12 Diagnostics and Troubleshooting
Understanding Cantabile’s Load Meter
Choosing an Appropriate Buffer Size
Deferred Procedure Call (DPC) Spikes
Technical Support
13 Options
General Options
Startup/Shutdown Options
Audio Engine Options
MIDI Devices Options
Plugin Options
Recordings List Options
MIDI Recorder Options
Audio Recorder Options
Set Lists Options
Metronome Options
Keyboard Options
External Tools
Customize
Resources
4
94
94
95
96
97
97
97
98
98
99
99
100
101
102
103
104
105
105
106
107
107
108
109
109
Chapter 1 -
CHAPTER
1
1 Introducing Cantabile
Welcome to Cantabile!
Cantabile is a simple to use host for virtual music instruments and audio effects with an
emphasis on real-time performance and use in live performance situations.
Editions
Cantabile comes in two editions:
Cantabile Solo
Intended for home hobbyists and casual users who need a more
flexibility, including unlimited plugins and racks, preset morph and
randomize tools, MIDI filters, MIDI controller assignments and set lists.
Cantabile Performer
Designed specifically with live performance in mind, Performer adds
features like sub-sessions, MIDI Clock, MIDI routing tables and triggers.
This manual covers all three editions. Features not applicable to particular editions are
appropriately marked.
x64 Editions
Cantabile is available as x86 and x64 versions.
x86
This is the standard 32-bit version of Cantabile
x64
The 64-bit version requires a 64-bit operating system (eg: Vista x64) and
compatible x64 plugins.
By default Cantabile x64 will not load standard x86 (32-bit) plugins, though this can be done
with jBridge – see http://www.cantabilesoftware.com/jbridge .
The term x64 should not be confused with 64-bit audio which is a different sound format and
supported by both x86 and x64 versions of Cantabile.
If you’re not sure about any of the above, use the x86 version.
Trial Versions
Trial versions of Cantabile are fully functional for 30 days after which a license must be
purchased.
Chapter 1 - Introducing Cantabile
5
Registration
If you have purchased a license for Cantabile, you would also have received an email containing
your registration details and instructions on how to download the software.
The first time you run the software you will be asked to enter these registration details.
Wherever possible use copy/paste to enter these details.
Installation
To install Cantabile, simply run the downloaded setup program. You will be prompted for some
basic details and the software will be automatically installed.
Cantabile also supports “xcopy deployment” where you can simply copy the executable file to
another machine or location and it will run successfully. Cantabile is not dependant on any
other DLL files or other files - other than those included in the operating system itself. If
deploying Cantabile in this way, file associations can be created and removed using the
appropriate buttons in General Options.
Compatibility with Cantabile 1.2
Cantabile 2.0 will upgrade and load session files, quick sessions and most settings from
Cantabile 1.2.
Files created by Cantabile 2.0 are cannot be loaded by Cantabile 1.2. If Cantabile opens a session
file from 1.2 you will be prompted before it is overwritten by the new Cantabile 2.0 session file.
Copyrights and Credits
The following copyright and technology acknowledgements apply to this product:



6
Cantabile (the software product) and this User Guide are Copyright © 2006-2009
Topten Software. All Rights Reserved
VST Plugin Interface Technology by Steinberg Media Technologies GbmH
ASIO Interface Technology by Steinberg Soft- und Hardware GbmH
Chapter 1 - Introducing Cantabile
CHAPTER
2
2 Getting Started
Introduction to Computer Based Music
If you’re new to the world of computer based music this sections explains a few of the basic
concepts you’ll need to understand to get the most of Cantabile.
If you’re already familiar with computer music you can skip this section.
MIDI vs Audio
In computer music, there are two main ways of representing musical information:
Audio
Audio data is a digital representation of the actual sound waves that
make up sound. WAV and MP3 files are typical ways to store audio
data. Computer software can be used to process audio data to apply
effects such as reverb, echo etc...
MIDI
MIDI is standard way of recording the notes that make a piece of music.
MIDI doesn’t necessarily define the sound of each note so a MIDI file
can be played back with a different instrument to which it was
recorded.
MIDI is not limited to notes – it can also be used to represent other
controls such as damper pedals, modulation wheel data and more.
Think of audio as similar to storing music as a CD whereas MIDI is more like sheet music.
Synthesis, Virtual Instruments and Audio Effects
Sound synthesis is the process of taking musical notes (typically represented as MIDI data) and
converting it into an digital sound. ie: the process of converting MIDI to audio.
A virtual instrument is a piece of computer software that performs this process. For example, a
virtual piano accepts MIDI notes as input and generates the sound of a piano playing those
notes.
An audio effect is a piece of software that applies effects to an incoming audio signal. This could
be anything from simply making it louder of softer, to widening the stereo width or applying
sophisticated reverb effects (eg: recreating the sound of a large cathedral).
Virtual Instrument
MIDI In  Audio Out
Audio Effect
Audio In  Audio Out
Chapter 2 - Getting Started
7
In general it is not possible to accurately convert from audio to MIDI (though there are some
programs that can do this reasonably well).
Plug-ins and Hosts
Computer music software typically falls into one of two main categories – plugins and hosts.
A host is the main program that a user uses to create their music and provides the framework
for routing audio and MIDI between external devices and loadable modules called plugins.
A plugin is a software module that is loaded by a host to perform a specific function. Plugins fall
into two main categories – instruments and effects (as described above). Other plugin types
include MIDI effects (which generate MIDI), surround sound processors and analysers.
Cantabile is a host application that is designed for real-time performance. This means it’s
designed for connecting a MIDI keyboard, microphones and other devices and processing them
in real-time.
Cantabile does not include any plugins and as such you’ll need to acquire these separately. Free
and commercial plugins are available from many different software developers. There are a
number of different plugin formats available, though Cantabile only supports the most popular –
VST. VST (short for Virtual Studio Technology) is a standard defined by Steinberg.
A good source of information on available plugins is KVR Audio – http://www.kvraudio.com .
Audio Drivers
An audio driver is a piece of software that knows how to communicate with a sound card.
Cantabile uses audio drivers to allow it to work with many different types of sound cards. In
order to use Cantabile you will need a compatible audio driver.
One of the most important features of a good audio driver and sound card is the ability to
deliver low-latency audio. Latency is a term used to describe the time delay between the
computer generating a sound and the sound being heard. It also describes the delay between
receiving a sound and that sound being delivered to the computer software. Latency is
measured in milliseconds and ideally you will want a latency of no more than about 10ms.
Cantabile supports two different audio driver standards:
ASIO
ASIO, short for Audio Stream Input/Output is a standard specified by
Steinberg. ASIO generally offers very low latency and is the preferred
type of audio driver.
DirectSound
DirectSound is a Microsoft technology designed primarily for use in
games. Although DirectSound can work well with Cantabile it should
generally be considered less stable than ASIO.
If your sound card came with an ASIO driver you should use that driver – particularly if it is a
professional quality sound card. If your sound card did not come with an ASIO driver a good
option is the excellent generic ASIO driver ASIO4ALL available from http://www.asio4all.com.
In addition to these standard audio driver types, Cantabile also includes a null audio driver. The
null audio driver doesn’t produce any sounds but allows the audio engine to run as if a sound
card was attached. This is mostly useful for using Cantabile as a MIDI only processor.
8
Chapter 2 - Getting Started
Bringing it All Together
So to bring all this together, Cantabile is a host application for VST plugins. It accepts incoming
MIDI and audio data and can route it to one or more VST plugins. The audio and MIDI generated
by these plugins can then be routed to speakers and other external MIDI devices.
Typical uses of Cantabile include:


Playing virtual instruments by connecting a MIDI keyboard to your computer, routing
the incoming MIDI to a virtual instrument and sending the generated sounds to a set of
speakers.
Real-time audio processing by connecting a microphone to your computer, routing the
incoming audio to an audio effect and then sending the output of that to a set of
speakers.
In addition to this basic routing capability, Cantabile can also:









Record audio and MIDI streams to files.
Playback audio and MIDI streams from files.
Process MIDI in special ways such as changing the velocity with which notes are played
to better suit your playing style (MIDI filters)
Control plugin settings remotely from a MIDI device (MIDI Controller Assignments).
Process multiple plugins in series - route the output of one plugin to the input of
another. Eg: a MIDI generating plugin connected to a virtual instrument, in turn
connected to an audio effect etc...
Process multiple plugins in parallel – process incoming audio on one rack and load a
virtual instrument on another, or perhaps two separate instruments.
Control timing and synchronisation
Manage plugin presets
Lots more...
Don’t be too daunted if you didn’t follow all of the above. Install Cantabile, download some
plugins and just start playing – you’ll soon get the idea.
Starting Cantabile
To start Cantabile, simply click the short cut that the installation program would have created in
your Windows Start Menu.
You can also run Cantabile in an “alternate configuration”. Alternate configurations maintains a
completely separate set of settings. This can be useful for diagnosing problems, or if you need
run Cantabile against two different sets of devices. The installation program would have
created one additional configuration named “Alt Config” in your start menu. You can create as
many custom configurations as you like (see Alternate Configurations).
Configuring Cantabile
Before Cantabile can run correctly, it needs to have various settings configured. To help with
this the first time Cantabile is run, the Quick Configure dialog is displayed where you’ll be asked
to select an audio driver, one or more MIDI devices and the location of your VST plug-ins folder:
Chapter 2 - Getting Started
9
The Quick Configure dialog
Selecting an Audio Driver
When selecting an audio driver, choose the ASIO driver that matches the sound card of your
computer. If your sound card doesn’t have an ASIO driver you might consider using ASIO4ALL
(a free ASIO driver that works with most computers available from http://www.asio4all.com).
DirectSound driver support is included for compatibility; however ASIO is the preferred driver
model.
The Null Audio driver is a built in driver that emulates a sound card so Cantabile can run
correctly, but doesn’t produce any sound. It is useful primarily when working with MIDI only.
Selecting MIDI Devices
Place check marks next to any MIDI input/output devices you wish to use.
When choosing MIDI devices in other parts of Cantabile, only those selected will be shown. By
selecting only the devices you will actually be using, you can avoid cluttering these menus with
unneeded choices.
In Cantabile Performer, you will also have the option to select which MIDI devices will send and
receive MIDI clock. You can enable MIDI clock for a device by right clicking on the device or by
double clicking in the Clock column.
Specifying VST Plug-in Folders
To use VST plug-ins, Cantabile needs to know where you have these installed on your computer.
Either manually type the location of this folder, or use the Browse button to locate the folder.
10
Chapter 2 - Getting Started
If you don’t have any plug-ins installed, you may leave this field blank for now. For a
comprehensive list of free and commercial plug-ins please visit http://www.kvraudio.com.
More Options
Cantabile has many more options and settings. Click the More Options button to adjust these
settings.
Getting Back to Quick Configure
All of the settings in the Quick Configure dialog are also available from Cantabile’s Options
window; however you can re-show the Quick Configure dialog by either:


Holding Ctrl+Alt+Shift while Cantabile is starting.
Running Cantabile with the /clean command line argument.
Ready
Once you’ve configured all the above settings press the OK button.
Cantabile will scan your plug-ins folder, start the audio driver and MIDI devices and prepare a
new empty session for you to start working with.
You’re now ready to start using Cantabile.
Playing Virtual Instruments
Cantabile allows real-time playing of virtual instruments from an external MIDI device.
Before continuing you must have at least one VST instrument plugin installed on your computer.
To play a virtual instrument:




On Cantabile's main screen, make sure the panel Racks and Plugins is expanded and
click New Plugin button.
Select the Instruments category on the left and locate and click on the name of a plugin
on the right.
The plugin will be loaded and its settings displayed. You can close this window for now.
You should be able to now play the instrument from either an external keyboard, or with
the onscreen keyboard.
Chapter 2 - Getting Started
11
Selecting a plugin with Cantabile’s plugin selector
If you hear no sound, check the following:




When playing an external keyboard, check that the same keys on the on-screen
keyboard light up. If not, there is a problem with your MIDI configuration.
If the on-screen keys light up, check whether the output level meter on the main screen
is indicating any audio output. If it is then there is a problem with your audio
configuration.
Next you should check the settings of the plugin itself. Click the Edit button in the plugin
slot to display the plugins user interface. Check the plugin's settings. Some plugins
require sample libraries or presets to be loaded before they produce any sound.
Finally, check the output level setting on Cantabile's main screen and Window's volume
settings.
Audio Effects
Similarly to playing virtual instruments, Cantabile can also process audio signals in real-time.
For example you can connect a microphone to your computer and use Cantabile process the
incoming audio using a reverb or other effect plugin and send the output back to a set of
speakers in real time.
The steps for this are essentially the same as for a virtual instrument except:


12
Instead of loading an instrument plugin, load an audio effect plugin.
Make sure audio input is enabled but selecting the Input check box in the master levels
panel.
Chapter 2 - Getting Started
Enabling Audio Input

Connect the rack's input to audio input by clicking the Input Connect button on the rack
slot:
Connecting a rack to audio input
Be careful when using audio input not to create feedback loops where the incoming sound is
processed, and sent to output where it's picked up again as audio input. Typically this will
produce a loud screeching or whistling noise but can be reduced by lowering input or output
levels, disabling input or simply moving microphones and pickups away from speakers. This
can also happen with some sound cards that return output signals as input. Refer to your sound
cards documentation for information how to disable this.
If audio processing doesn't appear to be working:



Check the audio input level meter on Cantabile's main screen. This meter will light up
when Cantabile is receiving audio input. If it doesn't check your audio connections and
audio driver settings.
Check the audio output level meter. This meter will indicate audio output from the
loaded plugin. If this this meter isn't showing any audio activity, check the settings of
the loaded plugin.
Finally, check the output level setting on Cantabile main screen and Window's volume
settings.
Master Levels
The Master Levels group on the Home tab can be used to control the master input and output
gains. You can also enable or disable input/output and view the current output levels.
Chapter 2 - Getting Started
13
Master Levels group on the Home tab
Recording
Cantabile supports recording audio and MIDI files and both recorders can be controlled from
the Record tab.
To Record MIDI Input:






Ensure MIDI input is working correctly.
Switch to the Record tab (using the mouse or press Alt+R).
Click the Auto Record button in MIDI Recorder group.
Start playing the MIDI device you want to record from.
Cantabile should automatically start recording when you start playing.
Recordings are shown in the recording panel (see below).
Recording audio is nearly identical to recording MIDI - simply click the other Auto Record
button in the Audio Recorder group.
Instead of recording audio or MIDI input, you may want to record output (ie: the signals coming
out of Cantabile as opposed to those being received). To select whether to record input or
output, click the buttons on the record tab titled Record Input and/or Record Output.
Managing Recordings
All recordings you make will appear in the Recordings list:
The Record tab and Recordings List
14
Chapter 2 - Getting Started
Pinned records will be kept while unpinned recording will be deleted when the session is
closed. You can select whether to automatically pin all new recordings (optimistic recording),
or only those you select (pessimistic recording) in Recordings List Options.
You can also delete, rename or explore recording files by right-clicking the recording.
Playing Media Files
Cantabile supports the playback of audio and MIDI media files. To load a file for playback:




Expand the Media Files panel
Click the New Media File button
Select the Open... command to browse for a media file.
Press the file’s Play button to start playback.
Playing a MIDI file
Some notes about playing media files:



You can load multiple media files at once and trigger them either individually or
together.
The Send To drop down for each media file specifies where the output of the media file
is directed. By default, each media file is directed to the main input of the racks/plugins.
Media files can be looped by selecting a play range (by dragging on the visual
representation of the loaded file).
Saving and Loading Sessions
Once you’ve configured Cantabile you can save that state to a session file. Session files store all
of Cantabile’s settings except for global options and settings.
To save a session file:



From the Application Menu (Alt+F), select the Save command (or just press Ctrl+S)
Enter a filename for the session.
Press OK to save the file.
To load a session file:



From the Application Menu, select the Open command (or press Ctrl+O)
Locate and select the session file to load.
Press OK to load it.
Chapter 2 - Getting Started
15
Cantabile also keeps a list of recently used session files in the list on the right side of the
Application Menu. You can “pin” favourite entries here to prevent them from being pushed off
the bottom of the list.
Cantabile’s Main Window
Cantabile’s Main Window
The Application Menu
The Application Menu is displayed by clicking the round button in the top left corner of the main
window. The Application menu is similar to the File menu in most applications and contains
commands for creating, saving and loading session files, setting options and exiting the
program.
The application menu can be accessed through the keyboard by pressing Alt+F.
The Ribbon
The ribbon is the main toolbar at the top of the main window. The ribbon consists of several
tabs, each with a different set of commands:
Home
Most common commands and settings. (Alt+H)
Record
Commands for controlling the audio and MIDI recorders. (Alt+R)
Setup
Commands related to setting up Cantabile or a session. (Alt+S)
To save screen space, the ribbon can be minimized to just show the tabs. To minimize or
restore the ribbon, double click on one of the tabs.
16
Chapter 2 - Getting Started
Besides clicking on the tabs, you can also switch between tabs using the mouse wheel while the
cursor is over the ribbon.
Quick Access Toolbar
The Quick Access Toolbar is the small toolbar typically displayed just to the right of the
Application Button in the title bar area.
The Quick Access Toolbar contains commands that are often used and can it be customized to
suit your working style.
To add a command to the ribbon:


Right click on any toolbar command and select Add to Quick Access Toolbar
Click the drop down arrow to the right of the Quick Access Toolbar to select additional
commands.
To remove a command from the ribbon:

Right click on the command in the Quick Access Toolbar and select Remove from Quick
Access Toolbar.
To re-order commands on the Quick Access Toolbar:




From the Application menu select Cantabile Options
Switch to the Customize page.
Click the command to be moved in the right hand list.
Use the Up/Down buttons to move the item up or down.
The Quick Access Toolbar can also be positioned below the ribbon. This is especially useful if
you have many commands and not enough room in the title bar to display them all. To move the
Quick Access Toolbar, click the drop down button to its right and select Show Below the
Ribbon.
Main Panels
Most of the main window is comprised of several panels that can be expanded or collapsed as
required. Depending on which edition of Cantabile you're using you may have the following
panels:
MIDI Routing Table
Defines routings between MIDI devices
Triggers
Defines actions to execute on certain events (typically used to
configure external MIDI devices for a session)
Media Files
MIDI and audio file players.
Racks and Plugins
Plugins organised into racks.
Keyboard
An onscreen piano style keyboard and several controllers for testing
plugins with.
Most of these panels can be:




Resized by dragging the divider between them.
Maximized by clicking square box icon in its top right corner.
Hidden by clicking the cross icon in its top right corner.
Hidden or shown by clicking the Show/Hide Panels drop down button on the far right
of the Home tab.
Chapter 2 - Getting Started
17
Status Bar
The status bar appears at the bottom of the main window and can be configured to show a wide
range of indicators. To customize the status bar, right click on it and select the elements to be
displayed.
Most of the status bar indicators are self-explanatory except perhaps the following:



The memory indicator shows memory usage, displayed in the format x/y (n) where x is
physical memory used, y is virtual memory allocated and n is the number of page faults
in the previous 1 second. For optimal performance, x and y should be almost equal (or x
> y) and n should normally be 0.
The record indicators glow green if auto record is enabled and red when recording. The
first indicator is the audio recorder, the second the MIDI recorder.
The MIDI indicators glow green when MIDI connectivity is detected (eg: active sense or
MIDI clock) and red when MIDI data activity is detected. The first indicator represents
MIDI-in activity, the second internal MIDI activity (eg: a MIDI file playing) and the third
indicates MIDI-out activity.
Dock Panels
Cantabile has two dock panels that appear to the left of the main panels.
Sub-sessions *
A list of all sub-sessions for the current
session.
Recordings
A list of recordings made during this session.
* Cantabile Performer Only
These panels can be shown by associated commands on the ribbon toolbars, or by pressing
Ctrl+1 for the sub-session list and Ctrl+2 for the recordings list. To hide a dock panel, click its
close icon or press Shift+Escape while it has keyboard focus.
Keyboard Control
Cantabile can be driven completely by the PC keyboard which many users will find faster than
using the mouse. Note the following about using Cantabile with the keyboard:





The ribbon and most commands can be accessed by pressing the Alt key followed by a
series of letters. To learn these letters, press and hold the Alt key. After a short period a
set of key tips will appear showing the available keystrokes. Once you've learned the
keystrokes, you don't need to wait for the key tips and you can simply key ahead.
Moving around within the main panels and dock panels is typically done with the arrow
keys.
To move focus between panels, using Ctrl+Tab and Ctrl+Shift+Tab
Buttons and drop downs can be activated with the Enter key. Note that although most
applications activate buttons with the spacebar, in Cantabile the spacebar is used to
start/stop the master transport.
Many commands also have Ctrl key shortcuts. To discover these, simply hover over the
command and the short-cut key (if available) will be shown in the tooltip.
As a final note on using the keyboard, don't forget that if the on-screen keyboard's capture
feature is enabled, most shortcut keys won’t work as they'll be controlling the on-screen
keyboard instead.
18
Chapter 2 - Getting Started
General Editing Tasks
This section describes common editing features that can be used when working with Plugins,
Racks, Media Files, Triggers and MIDI Routing Tables.
Creating New Items
To create a new item click the New Item button that appears near the bottom of each panel.
Depending on the type of item it will be either created immediately or a popup will be displayed
where additional options are available.
For plugins, the New Plugin button is contained within the parent rack, which must be
expanded to be visible.
Plugins and Media Files can be replaced using the Replace button near the start of the slot.
Deleting Items
To delete an item:


Select the item to be deleted by navigating to it with the keyboard, or by clicking on its
name.
Press the Delete key, or click the Delete command on the Home tab.
Note:


Deleting a rack will also delete all contained plugins
Most delete operations can be undone, though in some cases routings between deleted
items may not be restored correctly.
Renaming Items
Although not necessary for Cantabile to function correctly, renaming items to give them more
meaningful names is a convenient way to make your sessions more understandable.
To rename an item:




Select the item to be renamed by navigating to it with the keyboard, or by clicking on its
name.
Press the F2 key, or right click on the item's name and select Rename,
Enter a new name for the item
Press OK.
Using the Clipboard
Most items can be manipulated using the clipboard.
To cut or copy an item:



Select the item to be cut or copied by navigating to it with the keyboard, or by clicking
on its name.
To copy the item, press Ctrl+C.
To cut the item, press Ctrl+X.
Pasted items are always inserted before the currently selected item. To paste an item at the
end, select the New Item button at the bottom of the list.


Select the item to paste before.
Press Ctrl+V.
Chapter 2 - Getting Started
19
Note: clipboard commands are also available from the Home tab and by right clicking on items.
Using Drag/Drop
Items can be rearranged and duplicated using drag drop:
To change the order of items:


Click on the name of the item to be moved.
Hold the mouse button on while dragging up or down to choose a new position for the
item.
By holding the Ctrl key while dragging you can create a copy of the item at the new location.
Undo and Redo
Many operations can be Undone (and then redone):


To undo the last operation, press Ctrl+Z
To redo the last undone operation, press Ctrl+Y
Note, that only Cantabile related operations can be undone. For example, changes made to a
plugin's own settings are not stored in the undo buffer.
The Undo and Redo commands are also available on Quick Access Bar.
20
Chapter 2 - Getting Started
CHAPTER
3
3 Working with Plugins
Understanding Racks and Plugins
Cantabile supports loading multiple plugins through a simple rack approach (as opposed to a
completely free-form wiring method). This approach provides a flexible yet easy to use
mechanism for connecting plugins.
A rack is simply an ordered list of plugins where each plugin is connected to the one after. The
rack's input is connected to the input of the first plugin and the output of the last plugin
becomes the rack's output.
The input of each rack can optionally be connected to audio input from the audio driver.
Similarly, each rack can be optionally configured to response to a specific MIDI device/channel.
The output of each rack can be routed to either your external hardware (sound card output or
MIDI output device) or to another rack.
The following example shows two racks routed to the input of a third.
Rack Wiring Diagram
Within each rach, each plugin slot supports a wet/dry mixer and a MIDI pass-through setting:
Chapter 3 - Working with Plugins
21
Plugin Wiring Diagram
Dry and Wet Mix Levels
The dry mix level of a plugin determine how much of unprocessed incoming audio signal should
be passed through to the next plugin.
The wet mix level determines the amount of output signal from the plugin that should be passed
through to the next plugin.
The wet and dry mix levels can be used to determine the volume of an instrument or amount of
effect to be applied in the overall output.
MIDI Pass Through
By default only MIDI generated by a plugin will be passed to the next plugin. When the MIDI
pass through setting is enabled, both incoming events and events generated by the plugin are
passed to the next plugin.
This setting can be used in combination with a plugin's MIDI filters to create multi-timbral
instruments on a single rack.
Audio Master Bus
Rather than providing direct pin to pin connections between plugins, Cantabile has a concept of
a master bus that plugins are connected through.
The input and output pins of each plugin are connected to the master bus. Cantabile supports
multiple N-N connections between a plugin and the master bus allowing simple but flexible
configuration of audio channel assignments.
To adjust the audio channels of a plugin, from the plugin slot's Tools drop down menu select
Audio Channels.
To set the format of the master bus, from the Setup tab select Configure Master Bus.
22
Chapter 3 - Working with Plugins
Partial Sends
Cantabile Performer also supports partial sends. A partial send is typically used to send part of
the output signal of a rack to an effects rack. Partial sends only applies to the audio signal (not
MIDI) and peels off a percentage of the rack’s output, while leaving the direct signal unaltered.
You may configure up to two partial sends for each rack. Each partial send can be routed to any
other rack - so long as this wouldn’t cause a circular routing.
Configuring Partial Sends in Cantabile Performer
Each partial send can be configured to be taken either before or after the rack’s output gain is
applied. When the option Send Before Gain is selected, adjusting the rack’s gain doesn’t affect
the sent signal.
Plugins and Racks Panel
Plugins and racks are created and edited using the Plugins and Racks panel which is one of the
expandable panels on Cantabile’s main window. To use this panel, make sure it is visible and
expanded (see Main Panels)
Rack Settings
Each rack is headed by a set of controls for the rack as a whole:
Record MIDI Input
nect
Input Connect
Partial Send
Amounts
Solo
Mute
Bypass
Rack Expand/Collapse
Chapter 3 - Working with Plugins
23
Rack Expand Button
Clicking this button expands or collapses the rack's list of plugins.
You can also use Ctrl+Left and Ctrl+Right to expand and collapse
the rack.
Rack Bypass Button
When bypassed, all plugins in a rack are suspended from
processing and all audio and MIDI input to the rack is passed
directly to the rack's output.
Rack Mute Button
When muted, all plugins are suspended and any incoming audio or
MIDI is discarded.
Rack Solo Button
Clicking the Solo button for a rack effectively mutes all other racks.
You can solo multiple racks by holding the Ctrl key while clicking
the Solo button.
Input Connect Button
Clicking this option connects the input of this rack to audio input
from your sound card.
Record Incoming MIDI
When selected, enables recording of incoming MIDI events.
Requires the MIDI recorder be configured to record Racks and
Plugins.
Rack Name
A name describing the rack. By default Cantabile assigns rack
names similar such as "Rack 1", "Rack 2" etc...
You can rename a rack by selecting the rack and pressing F2, or by
right clicking the rack's name and selecting the Rename command.
MIDI-In Device and
Channel Number
The MIDI device and channel number that this rack responds to.
Note that this setting can be overridden by the MIDI Routing Table
where any MIDI events explicitly routed to rack are accepted by
the rack regardless of this setting.
Split/Transpose
Specifies a sub-session controllable keyboard range and/or
transpose amount for this rack.
See Rack Split and Transpose.
Send To
This setting determines where to send the output of this rack.
Racks can be routed to either Output (ie: the sound card) or to
another rack. When routed to output, there is an additional set of
options that allow routing of MIDI events to a specific MIDI output
device.
In Performer, this menu is also used to configure up to two Partial
Sends.
Partial Send
Amounts *
Adjusts the send amount percentage for each of the partial sends.
Gain
The output level gain for this rack.
Level Meter
Shows the output level of this rack.
* Cantabile Performer Only
Plugin Settings
Within each rack you can create a chain of plugins. Each plugin slot has the following controls:
24
Chapter 3 - Working with Plugins
MIDI Pass-through
Replace Plug-in
Suspend
Bypass
In-place Edit
Bypass Button
When a plugin is bypassed, all incoming audio and MIDI data is
passed through to the next plugin (or the rack’s output if the plugin
is the last in the rack).
The plugin is left running however, allowing still sounding notes
and effects to sound out. This option is also useful for situations
for slow starting plugins that need to be resumed quickly.
Suspend Button
A suspended plugin is similar to a bypassed button in that all
incoming audio and MIDI is passed through.
When suspended however, the plugin is no longer processed
causing still sounding notes and effects to be cut off. When
suspended however processing load is saved.
Replace Plugin Drop
Down
Clicking this button allows selecting a new plugin to replace the
existing plugin in this slot.
Plugin Name
The name of the plugin in this slot.
By default, plugins are named according to the type of plugin they
contain. You can rename plugin slots to provide a more descriptive
name by selecting the plugin and pressing F2, or right clicking the
plugin's name and selecting the Rename command.
Program
Most plugins support more than one program. A program is a
predefined set of settings that control the plugin’s sound and
behaviour.
The program selector drop down can be used to select a program
or you can use the next/previous buttons to move through the set
of programs.
When the plugin slot is active, the N and P keys can also be used to
move to the next and previous programs.
Edit Button
The edit button displays the plugin custom user interface if it has
one (most plugins do), or Cantabile’s built in plugin editor
otherwise.
Inplace Plugin Editor
Displays the plugin’s user interface within Cantabile’s main
window (in the Plugin View panel)
Tools Plugin's Editor
Displays the plugin's custom user interface (if supported).
Tools Built-in Editor
Displays Cantabile's built in parameter editor for the plugin.
Tools Save Plugin
Selector Preset
Saves the plugin’s current preset or bank to the Presets group in
the plugin selector.
Tools Program
Organiser
Displays the program organiser which can be used to manage the
plugin’s program bank.
Tools Sub-Session
Behaviour
Allows specifying which plugin attributes are controlled by subsessions.
Chapter 3 - Working with Plugins
25
Tools Import
Program or Bank
Loads a bank (fxb) or preset (fxp) file into the plugin.
Tools Export Bank
Saves the plugin as a bank (fxb) file
Tools Export
Program
Saves the current program as a preset (fxp) file
Tools Audio
Channels
Assigns audio channels between the plugin and the session's
master bus.
See Audio Channel Assignments.
Tools MIDI Filters
Defines MIDI filters to manipulate incoming MIDI events for this
plugin
Tools MIDI Pass
Through
When selected, passes incoming MIDI to this plugin and to the next
plugin.
When cleared, only MIDI events generated by the plugin are passed
to the next plugin.
Use this option to layer multiple VST instruments in the same rack,
or to pass controller events to a series of plugins.
Tools Suppress MIDI
Program Changes
When selected, MIDI Program Changes are not passed to the
plugin.
This option is useful when playing MIDI files that have program
change events that are inadvertently resetting the program loaded
by a plugin.
Tools Record MIDI
Output
When selected, causes MIDI generated by this plugin to be passed
to the MIDI recorder. Requires the MIDI recorder be configured to
record Racks and Plugins.
Wet/dry mix and gain
sliders
Controls the wet and dry mix levels of this plugin. See Wet/Dry
Mix Settings.
Pan
Controls the left/right panning of mono plugins or the stereo
balance of stereo/multi-channel plugins.
The panning laws use to pan signals can be controlled via the
panning law setting in Master Bus Configuration.
Unloaded Plugins
A plugin can be unloaded without actually deleting it.
When unloaded, Cantabile saves the plugin’s entire state, closes the plugin and removes it from
memory. If the session is saved while a plugin is unloaded, its saved state is written to the
session file.
When an unloaded plugin is reloaded, Cantabile loads the plugin and restores it from the saved
state.
To unload a plugin:
1. Right click on its name and select Unload.
2. The plugin will be unloaded and appear as a suspended plugin with most controls
disabled.
To reload an unloaded plugin:
26
Chapter 3 - Working with Plugins
1. Right click on it again and select Reload, or
2. Click its bypass button.
Unloaded plugins are an easy way to completely disable a plugin without actually deleting it.
This feature works particularly well in conjunction with sub-session where some sub-sessions
have the plugin loaded and some don’t.
Unloaded plugins are also used when a session contains a plugin that fails to load. In this case,
the state of the plugin is read from the session file and stored as the unloaded state. Re-saving
the session will not cause the saved state to be lost and the session can be repaired by installing
the missing plugin.
Wet/Dry Mix Settings
The meaning of a plugin slot’s wet and dry mix sliders depends on the Use Wet/Dry Controls
option in Plugin Options.
When the Use Wet/Dry Controls option is enabled (the default) the wet and dry mix levels are
controlled separately:
Dry Slider
Controls the amount of dry signal that is passed through the plugin slot.
The dry signal is the input to the plugin slot.
Wet Slider
Controls the amount of wet signal that is included in the output of this
plugin slot. The wet signal is the output of the plugin itself.
When the option to use wet/dry mix levels is turned off, the behaviour of these sliders changes
depending on whether the plugin is an effect or instrument.
For instrument plugins:
Plugin Slider
Controls the gain of the plugin itself (ie: same as wet mix)
Gain Slider
Controls the gain of the plugin slot as a whole. ie: it is a gain that is
applied after the plugin gain is applied and mixed.
For other types of plugins:
Plugin Slider
Controls the wet/dry balance
Gain Slider
Controls the overall gain of the plugin slot.
Plugin Selector
The plugin selector is used to insert new plugins, or to replace the plugin in a plugin slot.
Chapter 3 - Working with Plugins
27
The Plugin Selector
Plugin Groups
Download the left side of the plugin selector are a number of
plugin groups. Selecting a group shows the plugins belonging to
that group in the list on the right hand side.
Favourites Group
Shows all plugins that have been “pinned” as favourites.
Each plugin in the list has a pin icon. By clicking the pin icon
you can control which plugins appear in the favourites group.
Recent Group
Shows plugins that have been recently used.
Presets Group
Shows all preset (fxp) and bank (fxb) files that have been saved
to a special presets folder.
See Plugin Options.
All Plugins Group
Shows all available plugins.
Instruments, Effects
and Other Groups
Shows plugins of a particular plugin type.
Plugin List
The list on the right shows all plugins in the selected plugin
group.
Group By Folder
When selected, the entries in the plugin list are displayed in a
hierarchical view matching the file system folders containing
the plugins.
When not selected, all plugins are displayed in a single flat list,
sorted alphabetically.
Scan Plugin Folders
Press to update the set of plugins by re-scanning your plugin
folders.
Choose File/Plugin
Press to browse for a plugin (dll), preset (fxp) or bank (fxb) file.
28
Chapter 3 - Working with Plugins
In-place Plugin Editor
The in-place plugin editor displays a plugin’s user-interface within Cantabile’s main window - as
opposed to display it in a separate popup window.
Only one plugin can be displayed in the in-place editor and it is only supported on plugins that
provide a custom user-interface (nearly all plugins).
To display a plugin in-place, simply click the in-place edit button:
Edit In-place
The plugin will appear in the Plugin View panel:
Inplace Plugin Editor
Plugin Editor
The plugin editor displays the user interface of a plugin and various other tools and commands
provided by Cantabile.
To display the plugin editor, in the plugin slot click the Edit button or double click on the
plugin’s name.
Chapter 3 - Working with Plugins
29
Most of the plugin editor's functionality can be accessed through its menu and toolbar
commands.
The toolbar also has a program selector (shown as 1 <untitiled 1>) in the screen shot below that
can be used to select different programs.
The Plugin Editor
(with Synthogy Ivory VST loaded)
File Menu
Open Program
Displays a file selector window for loading a program file
(.fxp)
Save Program
Saves the current program as a .fxp file.
Save Program As
Saves the current program using a new file name.
Increment and Save
Performs an incremental save of the current program where
a counter in the file name is incremented by 1 creating a
sequence of files.
Open Bank
Displays a file selector window for loading a program bank
file (.fxb).
Save Bank
Saves the entire program bank as a .fxb file.
Save Bank As
Saves the entire program bank using a new file name.
Close
Closes the plugin editor.
Edit Menu
Undo Program
Changes
Discards all changes made to the current program since
opening the plugin editor.
Undo Bank Changes
Discards all changes made to the program bank since
opening the plugin editor.
Restore Session
Program/Bank
For plugins loaded from a Cantabile session file, discards
changes and reloads the plugin’s state from the session file.
Restore Factory
Program/Bank
Restores the current program or bank to the plugin's default
“factory” state.
30
Chapter 3 - Working with Plugins
Rename Program
Renames the currently selected program.
Toggle Previous
Program
Switches between the two previously selected programs.
Previous Program
Selects the previous program.
Next Program
Selects the next program.
Toggle A/B
Swaps the current program for the plugin's "B" state. See A/B
Preset Toggling.
Copy A to B
Copies the current program to the plugins "B" state. See A/B
Preset Toggling.
Program Organiser
Displays the Program Organiser.
Assign MIDI
Controller *
Displays the MIDI Controller Assignments window for
assigning MIDI controllers.
Randomize,
Randomize Between
and Morph Tools
Displays a second toolbar with commands for randomizing
and morphing the parameters of the current program.
See Morph and Randomize Tools .
* Cantabile Performer and Solo Only
Toolbar Commands
Most of the commands in the toolbars have equivalent commands in the File or Edit menu and
won't be repeated here. The other toolbar commands are:
Morph/Randomize
Tools
Similar to the menu commands except this button cycles between the
various morph and randomize tools.
Capture Keyboard
Captures or releases the PC keyboard for playing notes.
Rollup Window
Hides the plugin's user interface leaving just Cantabile’s toolbars and
menus.
This is useful for leaving Morph or Randomize tools running in
animated mode without taking up too much screen space.
System Menu Commands
The plugin editor also has several window management commands in the system menu (ie:
click on the icon in the title bar or press Alt+Space).
Show Toolbars
Select this command to show or hide all of Cantabiles toolbars and
menus. You can also use Alt+Enter for this command.
Always On Top
Displays this plugin editor window in front of all other windows.
Open on Load
When enabled this plugin editor will be automatically displayed
when the session file is loaded.
A/B Preset Toggling
A/B Preset Toggling is a simple system for toggling between two states of a program making
quick comparisons easy.
Each plugin type has a secondary "B" state that can be used to store the state of a single
program. The B slot can be thought of like the memory button on a typical handheld calculator.
Cantabile provides two commands for working with this B slot.
Chapter 3 - Working with Plugins
31
Copy A to B
Copies the state of the currently selected program to the B slot,
Toggle A/B
Swaps the selected program with the saved B state.
Since the B state is shared across all instances of the same plugin it can be used as a simple way
to copy a program from one program to another, or even between two instances of the same
plugin.
The content of the B state is discarded when Cantabile is closed.
Program Organiser
The Program Organiser provides tools for managing program banks. To display the program
organiser:


Select Program Organiser from the plugin editor's Edit menu, or
Select Program Organiser from plugin slot's Tools menu (on the main screen).
The Program Organiser
Loaded and Shared Banks
The program organiser works with two lists of programs.
Loaded Bank
Shows all programs currently loaded into the plugin.
Shared Bank
A separate store of programs managed by Cantabile that is
shared by all instances of the plugin.
The shared program bank serves several purposes.



32
It can be used as a convenient temporary storage location for programs while organising
a program bank.
Since it is shared between all instances of a plugin it can be used to move programs from
one plugin instance to another, even between different sessions.
It can be used as storage place for favourite banks - all entries in the shared program
bank appear at the bottom of the program selector drop down. This is useful for plugins
Chapter 3 - Working with Plugins
that have a limited number of program slots. When a program is loaded in this way it is
loaded into and overwrites the currently selected program.
Using the Program Organiser
Using the program organiser is fairly straight forward. Here are a few tips though:







Clipboard commands provide a familiar way to move programs either within the one
bank, or between the two banks.
Drag/drop can be also be used to re-order or move plugins.
Holding the control key while dragging within the one list changes the operation from
move to copy
Holding the shift key while dragging between lists changes the operation from a copy to
a move.
Both program lists support multiple selection to simplify moving many programs
around.
Programs can be moved up/down in the list by using the up/down arrow buttons on the
associated toolbar, or by using the Ctrl+Up and Ctrl+Down keys.
Although most commands have short cut keys defined, please be aware that these will
not be available if keyboard capture is enabled.
Automatically Apply Changes
The option Automatically Apply Changes causes changes in the loaded programs list to be
automatically and instantly applied to the plugin. For most plugins, this is the preferred
bahaviour.
Some plugins however can be very slow to switch or load programs (eg: plugins that utse large
sample libraries). By turning this option off you can make a many edits to the program bank
and apply them when finished.
Note that some operations will still be slow, though in general the program organiser should be
much more responsive with these slow plugins.
File Menu
Load Bank
Loads a program bank (.fxb) file.
Save Bank
Saves the current program bank.
Load Program
Loads a program file (.fxp) into the selected program.
Save Program
Saves the selected program as a program file.
Export Programs
Displays tools for exporting either the selected programs or all
programs as separate .fxp files.
Import Programs
Displays tools for importing multiple program files into the current
bank.
Close
Closes the program organiser.
Edit Menu
The Edit menu provides command that operate on which ever program list currently has the
focus. For example to copy a plugin from one list to another you should set focus to the first list
(by clicking in it for example), select the copy command then set focus to the other list before
selecting the paste command.
Chapter 3 - Working with Plugins
33
The toolbar buttons above each list operate in a very similar way to the menu commands except
they always work on the associated list.
Rename
Renames the currently selected program.
Cut
Copies the selected programs to the clipboard before deleting
them from the list.
Copy
Copies the selected programs to the clipboard.
Paste Insert
Pastes the contents of the clipboard before the selected program.
Paste Replace
Pastes the contents of the clipboard over the selected programs.
Paste Fill
Pastes a single program into all selected program slots. (applies
to the loaded bank only)
Insert Empty Program
Inserts a blank program entry before the selected program.
Delete
Deletes the selected programs and shuffles all following
programs up.
Clear
Resets all the parameters of the selected programs to 0 and
renames them to <empty> .
Sort Alphabetically
Sorts the selected programs alphabetically. Note you must select
which programs to sort before this command becomes available.
Select All
Selects all the items in the list.
Morph and Randomize Tools
Cantabile provides several tools for randomizing and morphing the state of the current
program. These tools are presented as a second toolbar that appears just below the plugin
editor's main toolbar.
To access these tools, choose the appropriate command from the plugin editors Edit menu, or
click the Morph/Randomize Tools button to cycle between the different tools.
Morph and Randomize Tools
These tools can be configured to manipulate all of a plugins parameters or only a subset. To
select the parameters that are modified, click the Select Parameters button (the first button on
the second toolbar). This will display a list of all available parameters that can be used to select
which parameters are affected.
34
Chapter 3 - Working with Plugins
Selecting parameters to be morphed/randomized
This window also supports learning which parameters modify. Click either the Include or
Exclude button and then move the control that should be included or excluded. Also note the
indicator next to each parameters name lights up when that parameter is being moved in the
plugin editor. This helps to locate which parameter corresponds to a particular control.
These tools can be used either manually, or in animation mode. When Animate is selected the
tools run automatically and the slider next to the animate check box can be used to control the
animation speed. For example you might set one of the randomize tools to randomize every 5
seconds. You can then play notes continuously until you hear a sound you like.
Randomize Tools
The Randomize Tool randomly modifies all selected parameters. The amount of randomization
is controlled by the amount slider (to the right of the randomize button) and ranges from 0 to
100%.
Randomize Tools
If you hear a sound you like but miss it because you have animate turned on, or you accidentally
press Randomize again, you can use the Back button to return to previous randomizations.
Similarly the Next button moves forward in the list.
Randomize Between Tools
The Randomize Between tool is similar to the Randomize tool except instead of modifying
parameters by a certain amount, it randomly selects values between two captured limits.
Chapter 3 - Working with Plugins
35
Randomize Between Tools
To use the Randomize between tool:




Select the program you want to randomize. This will act as one end of the
randomization limit.
Display the Randomize Between tools.
From the To Program drop down select a second program to define the other
randomization limit.
Click the Randomize button. All selected parameters will be randomized between the
values of each defined limit.
Alternatively you can manually define the limits:






Select the program you want to randomize.
Move the plugin's settings to define one end of the randomization limit.
Click the Capture Start Parameters button (to the right of the Randomize button).
Move the plugin's settings to define the other randomization limit.
Click the Capture End Parameters button.
Click the Randomize button.
Selecting a program from the To Program drop down is effectively the same as switching to
another program, pressing the Capture End Parameters button and switching back to the
original program.
The result of the Randomize Between tool is not the same as randomly selecting a position with
the Morph tools. The morph tools move all parameters in a synchronised manner whereas the
Randomize Between tool randomly selects values for each parameter.
Morph Tools
The Morph tools smoothly change parameters from one set of values to another.
Morph Tools
Using the Morph tools is similar to using the Randomize Between tools in that you must first
define the start and end values for the morph operation. Do this in exactly the same way as
described for the Randomize Between tool. That is, either use the To Program drop down to
select the end parameters or manually define the start end values using the Capture Start/End
Parameters buttons.
Once the start and end parameters have been captured, simply move the slider the morph the
parameters from one set of values to the other.
36
Chapter 3 - Working with Plugins
CHAPTER
4
4 Recording
Cantabile Performer and Solo Only
Cantabile has the ability to record audio and MIDI files.
Recording is controlled through the Record tab (Alt+R):
The Record Ribbon Tab
Or by the Record button drop down on the Home tab (Alt+H+R):
The Record Button
When using the record button, click the top half of the button starts or stops recording while
clicking the bottom half displays the drop down menu.
Chapter 4 - Recording
37
Input vs Output
The recorders can be used to record either input or output:
MIDI Input
All incoming MIDI events from external MIDI devices and the
on-screen keyboard.
MIDI Racks and Plugins
Records the MIDI input arriving at any rack that has the
Record MIDI Input option selected.
Also records and plugin slots that have the record MIDI Output
option selected.
Audio Input
All input audio received from the audio driver.
Audio Output
All audio output by the audio driver.
Both recorders also support simultaneously recording from both input and output.
Manual Recording
To manually control the recorders:




Switch to the Record tab.
Ensure the correct Record Input and Record Output options are selected.
Click Record to start recording.
Click Record again to stop recording.
Manual recording can also be controlled by clicking the top half of the Record button on the
Home tab. Click this button to start recording using whichever recorder is enabled through the
Record Input/Record Output options. If both recorders are enabled, both will start recording.
To stop any recording, click this button again.
Automatic Recording
Cantabile can also automatically start and stop recording:




Switch to the Record tab.
Ensure the correct Record Input and Record Output options are selected.
Click Auto Record button to enable automatic recording.
Click Auto Record again to disable automatic recording.
Recording will start it detects MIDI activity or audio signals above a certain threshold.
Recording stops when a certain period of inactivity or silence elapses. Very small recordings
are automatically discarded.
Settings for the timeouts and audio thresholds are available in MIDI Recorder Options.
Status Bar Indicators
The status bar has two indicators to show the state of each recorder:
38
Chapter 4 - Recording
Record Status Indicators
The left indicator shows the state of the audio recorder, while the right indicator shows the
state of the MIDI recorder. (You can hover over the indicators for tool tips showing which is
which).
The meaning of indicators is as follows:
Off (Grey)
The recorder is off.
Green
Armed for auto record
Red
Recording
Recordings List
The recordings list appears as a dock panel on the left side of the main window and maintains a
list of all recordings made. Each recording shows the name of the recording file, its duration (in
seconds) and whether it’s an audio or MIDI file (by the icon).
To show the recordings list, press Ctrl+2 or select Show List from the Record tab.
The Recordings List
Various commands for working with recordings are available by right clicking on a recording:
External Tools
Custom external tool commands can be configured for audio and MIDI
files (eg: editors, players etc...). See External Tools.
Delete
Deletes the recorded file and removes the entry from the list.
Delete Unpinned
Deletes all unpinned files and removes them from the list.
Clear List
Removes everything from the list without deleting any files.
Rename
Renames a file.
Pin All
Pins all recordings in the list.
Chapter 4 - Recording
39
Unpin All
Unpins all recordings in the list.
Toggle Pins
Pins all unpinned recordings and unpins all pinned recordings.
Explore
Launches Windows Explorer with the recording selected.
Open
Loads the recorded file into Cantabile for playback.
Loading Recordings for Playback
You can easily load a recording for playback by right clicking the recording in the recording list
and selected Open.
Alternatively, to have the last recording always loaded see Automatically Loading Recordings.
MIDI Recorder Formats
The MIDI recorder can make recordings that are encoding in either real-time format or musical
time format.
In real-time encoding events are time stamped in milliseconds and don’t require the master
transport to be playing.
In musical (or synchronised) encoding recorded files are encoded in musical time (ie: bars,
beats, sub-beats) and as such require to the master transport to be playing in order to provide a
time base.
The following record modes are available:
Realtime SMPTE
Encodes the MIDI file in SMPTE time code format with millisecond
accuracy. This is the correct format for non-musical time encoding
however it is not widely support by MIDI players
Realtime
Compatible
Encodes the file at 120 bpm 4/4 time with 500 ticks per beat. This
gives millisecond accurate recording in a format that is compatible with
all MIDI players.
Musical Relative
Encodes the file using a synchronised musical time format that matches
the time signature, tempo and play position of the master transport.
The recording starts from the beginning of the current bar.
For example, if the first event to be recorded occurs when the master
transport is at bar 40, beat 2, the first recorded event will be time
stamped at beat 2 in the first bar.
Musical Absolute
This format is the same as Musical Relative except the recording’s
origin is set to 0. Using the above example, the first event would be at
bar 40, beat 2 (with 39 bars of silence before it)
Musical Auto
Operates in Musical Absolute when a media file is the master transport.
Operates in Musical Relative when the metronome is the master
transport.
This mode is intended to avoid accidentally recording large sections of
silence when the metronome is left running and multiple recordings
are made.
40
Chapter 4 - Recording
Since the musical encoding modes require a playing transport they can also be thought of as
synchronised recording and the following also applies:




If the master transport is not playing when recording starts, it is automatically started.
If the transport was automatically started when recording started, it will also be
automatically stopped when recording stops.
It the transport is stopped manually, recording is also stopped.
Media files don’t stop playing at their end if recording is in progress.
These recording modes are also affected by looped playback:


If the master media file loops in relative recording mode, recording continues.
If the master media file loops in absolute recording mode, recording stops.
The MIDI recorder format can be set using the Record button dropdown on the Home tab, or
the format drop-down in the MIDI Recorder section of the Record tab.
Audio Recorder Formats
Audio recordings can be made in one of several formats 16-Bit Integer, 24-Bit Integer, 32-Bit
Integer, 32-Bit Floating Point and 64/32-Bit Floating Point.
When 64/32Bit is selected recordings will be made in 64-bit if the master bus is configured for
64-bit audio, otherwise 32-bit. See 64 Bit Audio
The audio recorder format can be set using the Record button dropdown on the Home tab, or
the format drop-down in the Audio Recorder section of the Record tab.
Pinned and Unpinned Recordings
Each recording in the list can be pinned or unpinned. A pinned recording won’t be
automatically deleted by Cantabile, whereas an unpinned recording will.
Unpinned recordings are deleted automatically when the session is closed, or Cantabile is
shutdown. They can also be explicitly deleted with the Delete Unpinned command (in the
Record tab).
By default, all recordings are pinned causing all recordings to be kept (ie: optimistic recording).
Pessimistic recording – where everything is unpinned by default is also possible, see Pin All
New Recordings in Recordings List Options.
Recording Options
The audio and MIDI recorders both have options that control where the recorded files are saved
to, filename formatting and auto record timeouts. See MIDI Recorder Options and Audio
Recorder Options.
The recording list also has options that control optimistic vs pessimistic recording, when to
delete unpinned recordings and how many unpinned recording to keep before automatically
deleting them. See Recordings List Options.
Chapter 4 - Recording
41
CHAPTER
5
5 Playback
Cantabile Performer and Solo Only
Cantabile supports loading multiple MIDI and audio files. Each can be played individually or
they can be synchronised to each other, the metronome or an external MIDI clock.
Media files can be triggered using Cantabile’s user interface or triggered remotely using MIDI
Controller Assignments.
Media files can be routed to specific racks for additional processing, directly to output or in the
case of MIDI files to all racks where each MIDI event is routed according to each rack’s MIDI
channel setting.
Media Files Panel
Media files are loaded and edited using the Media Files panel which is one of the expandable
panels on Cantabile’s main window. To use this panel, make sure it is visible and expanded (see
Main Panels)
To load a media file:


Click the New Media Player button.
Either browse for a file, or choose from the list of recently used media files.
Group Selector
Replace Media File
Loaded
Expand/Collapse
Media Pla
Visual Representation
For each media file, the following settings and commands are available:
Chapter 5 - Playback
43
Expand/Collapse
Expands or collapses the Visual Representation part of the media
player.
Loaded
Used to load/unload media files without actually deleting them
from the session.
Replace Media File
Replaces this media file with another.
Group Selector
Sets the group number for this media file. See Media File Groups
Name
The filename of the media file. To discover the full path of the
file, select Information... from the file’s Tools drop down.
Tools Loop Mode
When loop mode is enabled, the file plays in an endless loop over
the play range. If no play range is defined, the entire file is
looped.
Tools Follow Play
Position
When enabled the Visual Representation will automatically
scroll to keep the current play position in view.
Tools Auto-load New
Audio/MIDI Recordings
When selected this media player will automatically load any new
recordings of the same type. ie: an audio player will
automatically load the latest audio recording, a MIDI player will
automatically load new MIDI recordings.
Tools Lock Play Range
When the play range is locked, you must explicitly set the play
range using the Set Play Range command.
When the play range is not locked, selecting a range in the visual
representation also sets the play range.
Tools Set Play Range
Sets the play range to the current selection.
Tools Clear Play Range
Clears the play range, effectively setting the play range to the
entire file.
Tools Show All
Scales the visual representation to show to the entire file.
Tools Zoom to Selection
Scales the visual representation to show the currently selected
range.
Tools Show Track List
For MIDI files, shows a list of tracks and allows suppressing
tracks and routing tracks to different destinations.
See Track List (MIDI Files)
Tools Audio Channels
For audio files, shows the dialog where channels in an audio file
can be connected to channels on the master bus.
See Audio Channel Assignments.
Tools Delete File
Deletes the media file from disk and removes the media player.
Tools Rename
Renames the media file.
Tools Explore
Launches Windows Explorer and selects the media file.
Tools Information
Displays information about the loaded media file.
Synchronisation Mode
Displays a drop down menu with synchronisation options for the
media file.
See Media File Synchronisation.
Send To
Specifies where the media file is routed to.
Play/Pause/Stop/Rewind Transport controls for the media file.
Speed Slider
44
For MIDI files, allows controlling the playback speed of the file.
Chapter 5 - Playback
Gain
For audio files, applies an audio gain/attenuation to the output
of the media player.
For MIDI files, adjusts the velocity of all notes in the file.
Automatically Loading Recordings
To have new audio and/or MIDI recordings automatically loaded for playback, select Auto-load
-> Audio Recordings or Auto-load -> MIDI recordings from the New Media File drop down.
This will create a new media file player (initially empty) that will automatically load the latest
audio or MIDI recording.
Creating a media player to load new recordings
You can enable or disable this auto-load functionality for an existing media player by selecting
or clearing the Auto-load New Audio/MIDI Recodings option in the player’s Tools dropdown.
Media File Groups
Cantabile Performer Only
Media files can be grouped into one of ten groups (numbered from 0 to 9).
Each group has two flags that control the behaviour of the group:
Exclusive Load
When selected only one media file can be loaded and all others are
automatically unloaded.
Exclusive Play
When selected only one media file in the group can play and all others are
automatically stopped.
Groups are mostly used in association with MIDI Controller Assignments which allow a
controller to be assigned to play/stop or pause all the loaded files in the group. Controller
assignments can also be used to load the first/next/previous file in the group.
For example, suppose you have a set of media files, each which is used in a different song.
Rather than assign a MIDI controller to play each one, you can put all these media files in an
Chapter 5 - Playback
45
exclusive group, use sub-sessions to load a different one for each song and use the one MIDI
controller button to play the group – resulting in just the loaded file in that group being played.
To do this:
1. Load the media file for each song.
2. Set all the media files to belong to a single group (say group 1) by clicking the group
selector drop-down and selecting the group number
3. Make the group exclusive by clicking the same drop down and ensuring the Exclusive
option is checked.
4. All of the media files should now be unloaded except one.
5. You activate a different media file by clicking it’s load button – the currently loaded one
will be unloaded and the new one loaded.
6. Now create a sub-session for each song and load a different song in each.
7. Open MIDI Controller Assignments.
8. Press the MIDI button you want to use to play the group – it should be displayed in the
Controller field.
9. From the Assign To drop down choose Transport – Play Media Group.
10. From the Group field, choose the group number you used in step 2 above.
11. Press the MIDI button again to confirm it starts playback of the loaded file in the group.
Some other notes on using Media Player Groups:





By using a non-exclusive group you can control multiple media files from one button
(eg: play an audio and MIDI file at the same time).
You can create assignments for Group Play, Pause, Stop, toggle Play/Stop and toggle
Play/Pause.
You can also create a MIDI controller assignment to all groups – select (All) in the
Group field. This is especially useful for the stop media group assignment as it allows
all media file players to be stopped from a single button.
By default group 0 is non-exclusive and all other groups are exclusive.
By creating global controller assignments for the group commands, you can avoid
having to create the same set of assignments in each session.
Track List (MIDI Files)
For MIDI Files, you can control where events for each track are routed to in one of two ways:


Select the Track List command from a MIDI file’s Tools drop down menu. From here
you can select whether a track should be routed to the loaded VST, the internal MIDI
mapper or an external MIDI device.
For tracks mapped to the internal MIDI mapper, events matching the selected channel in
the rack’s panel, will be routed to the VST and all other events will be sent to enabled
MIDI output ports.
You can also use the Track List to Solo and Mute tracks.
Note that any changes made in the track list are saved with the session file.
46
Chapter 5 - Playback
Visual Representation View
The visual representation shows a microscore of the notes for a MIDI file, or audio waveform for
audio files.
You can zoom and scroll this view using the scrollbar and zoom buttons, or with the following
keys:
Left/Right
Scroll left/right
Ctrl + Left/Right
Zoom out/in
A
Show entire file
Z
Zoom to the selected range
Note that clicking in the visual representation area when it doesn’t have focus, doesn’t cause the
selection to change – this allows easily moving focus without altering the current view.
Moving the Current Play Position
To change the current play position, click in the small band at the top of the visual
representation at the position you want to move to.
Play Ranges and Selection
The visual representation display has two selection types - the Selection and the Play Range.
The Play Range is indicated by a dotted range in the small band at the top of the display. The
sequencer plays from the start of the play range to the end and then stops. If Loop Mode is
enabled, the range is played in a endless loop.
The Selection is indicated by a band across the main display area and can be used to select a
region to zoom to.
When the Lock Play Range button is pressed, the current selection is disconnected from the
Play Range and allows zooming and scrolling without affecting the play range.
Chapter 5 - Playback
47
CHAPTER
6
6 Timing and Synchronisation
Cantabile Performer and Solo Only
Cantabile supports several timing and synchronisation modes as well as the ability to
synchronise to an external MIDI clock and/or to send MIDI clock events.
Synchronisation Modes
When working with timing and synchronisation each item can be in one of three
synchronisation modes:
Master
The master is the item which defines Cantabile’s concept of time,
including controlling of other synchronised items and timing
information reported to plugins.
There must always be one master object.
Synchronised
A synchronised item matches its timing to that of the master.
Unsynchronised
An unsynchronised item uses its own internal timing.
Synchronisable Objects
The synchronisation modes apply to these items:
The Metronome
The metronome can run in any of the three modes.
When there are no loaded media files, the metronome automatically
becomes the master.
MIDI Media Files
MIDI files support all three synchronisation modes.
Audio Media Files
Audio media files fully support master and unsynchronised modes.
Synchronised mode is limited to starting and stopping in-sync with
the master – time stretching of audio files is not supported.
Plugins
Plugins are always synchronised to the master, though many have
their own options to control synchronisation with the host.
Chapter 6 - Timing and Synchronisation
49
Transport Controls
Transport controls are the play, pause and stop buttons used to control the playback state of an
object. The metronome and each media file have their own set of transport controls.
Transport controls for a media file
The master transport controls which control whichever object happens to be the master.
Master Transport Controls
All transport controls can be used either directly through Cantabile’s user interface, or through
MIDI controller assignments.
The follow keys can be used to control the master transport:
Space
Play/Stop
Ctrl+Space
Pause/Resume
W
Rewind
Metronome
The metronome appears in the Home tab of the main window and can be used as the master
transport to provide timing information, or in can be synchronised to play metronome sounds
in sync with a media file.
The Metronome
Synchronisation options for the metronome are found in the tempo drop down:
50
Chapter 6 - Timing and Synchronisation
Tempo and Synchronisation Options for the Metronome
To make the metronome the master, select Master. When another item is the master, use the
Synced and Unsynced options in this menu to control whether the metronome is synchronised
or not.
The ability to have the metronome unsynchronised is useful when switching often between
listening to a media file and using the metronome to practice against.
Specifying Metronome Audio Channel Assignments
By default, the metronome is configured to send sounds to the left, right and center channels.
To change the audio channel assignments for the metronome:
1. From the Setup tab, select the Audio Channels command (or press Ctrl+A)
2. In the drop down Show Channel Assignments For, select Metronome.
3. Make the required assignments (see Audio Channel Assignments).
Media File Synchronisation
To set the synchronisation mode for a media file, use the drop down menu in the column named
Sync.
Setting the synchronisation mode of a media file
Media files also have additional options that control synchronisation:
Chapter 6 - Timing and Synchronisation
51
Synchronisation Settings for a Media Player
Synchronise
Playback By
This option controls how this file is synchronised against the master
transport.
There are options to synchronise at the next beat, the next bar, to
continuously track the play position of the master and other less
common options.
Tempo/Override
Tempo
For MIDI files, overrides the file’s own tempo with a fixed tempo.
For audio files, specifies the tempo of the file so other files can be
synchronised to it.
Time Signature
For audio files, specifies the time signature of the file so other files
can be synchronised to it.
Start Playback with
Master
Causes the file to start playback at the same time as the master
transport.
Time Origin is Start
of Play Range
Causes the time origin of the file to be located on the start of the
current play range (as opposed to the start of the file).
MIDI Clock
Cantabile has the ability to send and receive MIDI clock events.
Before using this feature you must enable MIDI clock for the MIDI devices you intend to send
and receive these MIDI events from/to. See MIDI Devices for more information on how to do
this.
Synchronising Cantabile to an External Device
Once you’ve enabled MIDI clock for one or more devices, you can synchronise Cantabile to
incoming MIDI clock events by:


52
Make the metronome the master transport.
Select Synchronise to Incoming MIDI Clock in the metronome’s tempo drop down.
Chapter 6 - Timing and Synchronisation
When synchronised in this way, Cantabile’s master transport controls become disabled as
transport will now be controlled by the device sending the MIDI clock events.
Please note that the terms “master” and “slave” can be somewhat confusing in this context.
Although the metronome is the master as far as plugins and media files are concerned (ie:
internally to Cantabile) externally Cantabile is the slave to the MIDI clock source.
Synchronising External Devices to Cantabile
Cantabile can also send MIDI clock events. To do this, simply enable MIDI clock for the devices
that you want to send these events too. See MIDI Devices for more information on how to do
this.
Chapter 6 - Timing and Synchronisation
53
CHAPTER
7
7 Session Management
Session Files
In Cantabile, session files are used to store the configured state of Cantabile. Working with
session files is very similar to working with documents in most other Windows applications.
Cantabile session files have a “.cantabile” file extension.
To open or save session files use Cantabile’s Application Menu, which is accessible by clicking
the round Cantabile icon in the top left corner, or by pressing Alt+F.
The Application Menu
Chapter 7 - Session Management
55
The following commands are available for working with session files:
New
Creates a new session file.
Open
Opens an existing session file.
Revert
Discards all changes to the current session and reloads it.
Save
Saves the current session.
Save As
Saves the current session under a new file name.
Save and Increment
Increments a counter in the current session’s file name and saves
the session. (See Incremental Saving below)
Sessions can also be loaded by:



Selecting a recently used session from the list on the right side of the application menu.
Double clicking the file in Windows Explorer.
Using Set Lists.
Pinning Recently Uses Sessions
Normally when the recently used session file list fills up, sessions that haven’t been loaded for
some time get pushed off the bottom of the list. If you have a favourite session that you want to
ensure always remains in the recent set list, you can pin it.
To pin or unpin a recently used file, simply click the pin icon to its right. You can also press the
right arrow key while focus is on a list entry to move focus to the pin.
In the screen shot above notice that the first two entries have been pinned.
The Default Session
Cantabile supports setting the default state of new session files. To do this:




Create a new session.
Configure the session to the desired default state. For example, open the panels that you
use most often, set your preferred speaker arrangement etc...
In General Options, locate the Default Session section
Click Set
The Reset button restores the default session to a completely empty session.
Incremental Saving
Incremental saving is where each successive time a file is saved a counter in the file name is
increased and a new file created.
Cantabile supports two incremental save modes:


Save then Increment or
Increment then Save
The incremental save mode can be set in General Options.
Sub-Sessions
Cantabile Performer Only
56
Chapter 7 - Session Management
Sub-sessions are named states within a session. Each sub-session stores various properties of
each item in the session and can re-apply those settings when the sub-session is loaded.
Typical uses for sub-sessions include:




Enable/bypass/load/unload different sets of plugins,
Loading different presets into a plugin,
Enabling and disabling MIDI routing entries, or triggers,
Different tempo and transport synchronisation options.
A sub-session does not store a different set of items. For example every sub-session has the
same set of plugins – it’s just that some might be disabled in one sub-session, enabled in another
and have a different preset loaded in another.
Working with Sub-Sessions
Sub-sessions can be managed through the Sub Sessions popup on the main window:
Sub-session Commands
To create a new sub-session:




Configure the session to a particular state that you would like to be able to recall.
From the Sub-Sessions drop down select Save Sub-Session As...
Enter a name for the sub-session and optionally enter a MIDI program number to be
used for loading this sub-session.
Press OK
A sub-session can be loaded in a number of ways:
Chapter 7 - Session Management
57




Select it from the list in the sub-session drop-down menu,
Double click it in The Sub-Session Dock Panel,
Use MIDI Controller Assignments.
Use Set Lists.
To update a previously saved sub-session:



Load the sub-session to be updated
Make the required changes
Use the Save Sub-session command to update it.
Sub-sessions can also be automatically updated by enabling the Auto Save Mode in the subsession drop down menu. When auto save is enabled, changes to sub-sessions are automatically
saved to the loaded sub-session when a new sub-session is loaded.
The active sub-session is indicated by a blue arrow next to its name and is also displayed in the
Cantabile’s main window title bar.
The Sub-Session Dock Panel
Sub-sessions can also be managed through the sub-session dock panel.
To show the dock panel, press Ctrl+1 or select the Show Sub-Session List command.
The Sub-session Dock Panel List
The sub-session list shows all sub-sessions and provides the following commands in the rightclick context menu:
Load
Loads the selected sub-session
Delete
Deletes the selected sub-session
Rename
Allows renaming the sub-session
Set Program Number
Displays a window where a new program number for the subsession can be entered.
58
Chapter 7 - Session Management
Increment/Decrement
Program Number
Provides a quick way to adjust the program number of a subsession by 1.
Even quicker is to use the N and P keys.
Sort by Name
Sorts the sub-session list alphabetically by name.
Sort by Program
Sorts the sub-session list numerically by program number.
The sub-session list doesn’t have a concept of sequence or performance order. To define the
order in which sub-sessions should be loaded use Set Lists.
Sub-session Item Behaviour
Often you will want to control which attributes of an item are to be controlled by sub-sessions.
To control which attributes are controlled by sub-sessions, use Sub-Session Behaviour settings.
The right click context menu of most sub-session controllable items has a sub-menu Subsession Behaviour. In this sub-menu you can select which attributes of the item will be
affected by sub-sessions.
Controlling the Sub-session behaviour of a plugin
In the above screen shot, the plugin’s bypass settings and selected program will be controlled by
sub-sessions where as its mix levels and the entire saved bank state will not.
Note that in general all attributes are saved with a sub-session but only selected attributes are
reapplied when the sub-session is loaded. The one exception to this is the Entire Bank
attribute for plugins. Since this has the potential of using large amounts of memory, this
attribute must be selected at the time the sub-session is saved in order for it to work.
Controllable Attributes
The following describes the attributes that can be controlled by sub-sessions:
Plugin

Bypass, Suspend and Loaded State
Chapter 7 - Session Management
59



Selected Program
Mix Levels
Entire Bank
Rack








Bypass Setting
Input Connect Setting
Mix Levels
MIDI Source and Channel
Keyboard Range
Transpose
Partial Send 1 Amount
Partial Send 2 Amount
Metronome



Time Signature
Tempo
Master Flag
Media Players


Master Flag
Loaded Flag
MIDI Routing Entry

Enabled State
Trigger

Enabled State
Set Lists
A set list is a set of previously saved session files that provides a convenient way to group and
order songs for a particular performance. Each entry in a set list typically represents a song in
a performance and defines the session and sub-session to be used.
Commands are available to load the first, next and previous songs. These commands can be
invoked through Cantabile’s user interface or by MIDI Controller Assignments.
Set Lists are saved in files with “.cantabilelist” file extension.
Note for users of Cantabile 1.2: Set lists replace and enhance the functionality provided by Quick
Sessions.
Creating and Editing Set Lists
Set lists are edited is a separate popup window:
60
Chapter 7 - Session Management
The Set List Editor
Using the set list editor is similar to using Cantabile’s main window and has the same commands
for opening, saving and creating new set lists.
Each set list entry (ie: song) has the following settings:
Last Loaded Song
The last loaded song is indicated by a right pointing blue arrow.
Clicking this button causes the entry to be loaded.
Enabled
Checkmark
When checked the song is marked as enabled.
Disabled songs are skipped when using the load first, load next and
load previous commands.
Disabled songs are useful say you’ve decided not to perform a
particular piece but you want to leave the entries for use at a later date.
You can manually load disabled songs by clicking the Last Loaded
Indicator for that entry.
Name
A descriptive name for the song. Typically the name of a song to be
performed or some other information useful to the performer.
Program Number
By giving a song a program number you can load that entry using a
MIDI program change event (requires configuring an assignment MIDI
Controller Assignments)
Session
The session file to load for this song
Sub-session *
The sub-session to load for this song
* Cantabile Performer Only
Note that in Cantabile Performer, each song can use a different session file, a single session file
with different sub-sessions, or a combination of both. Loading a song that uses the same session
file as the currently loaded song will simply trigger a sub-session switch allowing for fast song
loading.
Chapter 7 - Session Management
61
Set List Commands
In the set list ribbon you’ll find these other useful commands for working with set lists:
Programs – Reassign All
Reassigns the program number of all songs, starting at 1
Programs – Reassign All
(Skip disabled)
Same as above except skips disabled songs
Programs – Auto
Reassign Mode
When enabled, causes program numbers to be automatically
re-assigned whenever the list is changed. Will skip disabled
songs if that command was the last reassign command used.
Programs Resort by
Program Number
Resorts the entire set list by program number.
Insert New Blank Slot
Inserts a new song entry before the currently selected song.
Insert Current
Session/Sub-session
Inserts the currently loaded session into the set list.
Insert All sub-session
from current session
Inserts all sub-sessions from the currently loaded session into
the set list.
Verify Find Missing
Locates songs that specify a session or sub-session that can’t
be found.
Verify Delete Missing
Deletes songs that specify a session or sub-session that can’t
be found.
Verify Disable Missing
Disables all songs that specify a session or sub-session that
can’t be found and enables all other entries.
Verify Disable All
Disables all songs.
Verify Enable All
Enables all songs.
Set List Dock Panel
In addition to the set list editor window, the set list is also available through the set list drop
down menu on the Home tab and in the set list dock panel.
To show the set list dock panel, from the set list drop down select Show Set List.
The set list dock panel can only be used for selecting songs from a set list – use the set list editor
window to make changes to the set list.
Delayed Session Loading
Delayed session loading is a feature where instead of instantly loading the next or previous
session, Cantabile displays a small window indicating the name of the session that is about to be
loaded. If no further load next/previous commands are received in the next 2 seconds, the
session is loaded.
The purpose of delayed loading is to allow fast navigation through a list of sessions without
having to wait for each to load as the next button is repeatedly pressed. With delayed session
loading you can continuously press next/previous until you find the session you want then have
it load.
For the next/previous commands on Cantabile’s toolbars, delayed loading is the default, but can
disabled by a setting in Set Lists Options.
For MIDI controller assignments to these commands, there are two sets of assignments
available - one delayed and one instant.
62
Chapter 7 - Session Management
CHAPTER
8
8 Working with Audio
Audio Channel Assignments
The audio channels dialog displays a list of channel assignments between the output pins of one
object and the input pins of another. Each assignment is referred to as an audio channel.



To assign audio channels for a plugin select Audio Channels from the plugin’s Tools
drop down.
To assign audio channels for an audio media file, select Audio Channels from the media
file’s Tools drop down.
To assign audio channels for the audio driver, in Audio Engine Options click Assign
Audio Channels.
Assigning Audio Channels
The following settings are available:
Chapter 8 - Working with Audio
63
Show channel
assignments for
Display a list of all objects that support audio channel
assignments. Select the object that you want to edit.
Inputs/Outputs
Select whether you want to edit the input assignments or
output assignments of the object. For example an audio effect
plugin supports audio channel assignments from the master
bus to the plugin's inputs and from the plugins outputs back to
the master bus.
Source Pin Column
Displays a list of all inputs or outputs of the object being edited.
Items with a check mark are connected. (shown as VST Output
in above screen shot)
Target Pin Column
Displays what this channel is connected to, or blank if not
connected. (shown as Master Bus Channel in above screen
shot)
Mix Column
Shows by how much this channel is attenuated
Assign To Combo Box
Changes the target pin of the selected channel.
Level
Changes the attenuation level of this pin.
Add Button
Creates a new audio channel for the selected source pin.
For example to assign a second channel from a plugin's output
pin, select the output pin and click the Add button. A new row
will be created that allows defining a second channel.
Delete Button
Deletes the currently selected audio channel assignment.
Tools Connect All
Command
Connects all source pins to all target pins in order.
Tools Disconnect All
Command
Deletes all audio channel assignments.
Tools Swap Stereo
Perspective
Swaps all audio channel assignments from left to right (may
not work with some custom speaker arrangements).
Master Bus Configuration
The Master Bus Configuration defines the format of the master audio bus including the number
and type of audio channels, 32 vs 64 bit audio and panning laws.
64
Chapter 8 - Working with Audio
Master Bus Configuration
The master bus configuration saved with a session file.
Editing the Master Bus Configuration
To display Configure Master Bus dialog from the Setup toolbar, select Configure Master Bus.
The following settings are available:
Presets
Displays a drop down list of predefined speaker arrangements.
Channel List
The channel list displays information about the currently
configured audio channels.
Display Name Column
The display name for the channel. The check box is used to enable
or disable the channel.
Placement in
Recordings Column
Displays how this channel should be identified in wave file
recordings, unplaced if this channel doesn't represent a specific
speaker, or unrecorded for auxiliary channels that shouldn't be
recorded.
Pan Column
Displays how this channel is affected by panning.
Edit Channel Button
Displays settings for the selected audio channel.
Mono Panning Law
Controls how mono plugins are panned. Stereo and multi-channel
plugins use a left/right balance rather than a panning law.
Enable Audio Input
Some session files don't require audio input from the sound card.
You can save some processing overhead by disabling audio input.
64-bit Audio Processing
Select this option to enable 64 Bit Audio processing.
Chapter 8 - Working with Audio
65
Standard Speaker Arrangements
Cantabile included pre-defined presets for severl standard speaker arrangements. To use a
standard speaker arrangement:
1. Click the Presets drop down at the top right of the channel list.
2. Select the speaker arrangement you want to use.
Custom Speaker Arrangements
In addition to standard speaker arrangements, you can define your own speaker arrangements:
1. Configure the speaker arrangement by selecting appropriate channels and configuring
them by pressing the Edit Channel button
2. Select Save from the Preset drop down menu
3. Enter a name for the preset
4. Press OK
To delete an unwanted speaker arrangement:
1. Load the custom preset using the Presets drop down menu.
2. Select Delete from the Presets drop down menu.
Presets are saved in Cantabile’s global settings however each session file that uses a preset also
saves a copy of the preset definition.
64 Bit Audio
Cantabile supports 64-bit audio processing which is a higher precision sound format. Enable
enable 64-bit audio, select the option in Master Bus Configuration.
Please note that plugins only support 32 bit processing which negates any benefit in using 64bit audio.
To save unnecessary processing overhead, this option should only be selected when using
plugins that support 64-bit audio. When selected, plugins that only support 32-bit audio will be
marked with an asterisk next to the plugin's name on Cantabile's main window.
64-bit audio is not to be confused with the x64 edition of Cantabile. Cantabile x64 is a different
build of Cantabile to be used on 64-bit operating systems such as Vista x64 and requires x64
compatible plugins. In contrast, 64-bit audio is a different sound representation format and is
supported in both the x86 and x64 versions of Cantabile.
66
Chapter 8 - Working with Audio
CHAPTER
9
9 Working with MIDI
Keyboard Splits and Transposition
Cantabile Performer and Solo Only
This section describes several ways of creating keyboard splits and transposing notes. A
keyboard split is where one section of the keyboard plays one instrument, while another section
plays a different instrument.
In Cantabile there are various ways of doing this.
Rack Split and Transpose
The Rack Split and Transpose settings are the quickest and easiest ways of creating keyboard
splits.
Each rack has the following settings that can be used to create splits and transpose notes:
Keyboard Range
Specifies a range of notes that will be accepted by the rack.
All notes outside this range are discarded.
Transpose Amount
Specifies how much to transpose all incoming notes and is applied
after the keyboard range is checked.
Notes that are transposed outside the range 0-127 are discarded.
The transpose amount is indicated in the form
<octaves>.<semitones>. For example +1.2 means transpose up 1
octave and 2 semitones.
Both of these settings are applied before the rack’s MIDI Filters.
Unlike other methods for setting up keyboard splits and transposition, these settings are
controllable by Sub-Sessions. This allows individual racks to each have different settings for
each sub-session.
These settings also intelligently handle being changed while notes are being played so as to
prevent stuck notes.
For example, if the transpose setting is changed while a note is held, the off event for that note
will automatically have the old transpose setting applied (thus preventing the note from
becoming stuck).
The same principle applies for changing keyboard ranges. If the keyboard range is changed
while a note is being played, the off event for that note is still accepted even if the new range
would normally cause it to be discarded.
Chapter 9 - Working with MIDI
67
Rack Split/Transpose Dropdown
The following commands are available from the Split/Transpose dropdown:
Upper Split
Creates a keyboard split so that this rack only accepts notes from
the upper part of the keyboard.
After selecting this command you will be prompted to play the first
(lowest) note of the keyboard range.
Lower Split
Creates a keyboard split so that this rack only accepts notes from
the lower part of the keyboard.
After selecting this command you will be prompted to play the last
(highest) note of the keyboard range.
Range Split
Creates a keyboard split covering an arbitrary range of the
keyboard.
After selecting this command you will be prompted to play the note
at each end of the desired range.
Clear Split
Clears an existing keyboard split, resetting to accept the entire
keyboard.
Learn Transpose
Sets the transpose setting by learning from played notes.
After selecting this command you will be prompted to play two
notes and the interval will be calculated and set.
Set Transpose
Displays a window where a new transpose setting can be manually
entered. This method also allows updating all other racks with the
same old setting to the same new setting.
Clear Transpose
Clears the transpose setting.
MIDI Filters
Displays the MIDI Filters for this rack.
Using MIDI Filters
To create a keyboard split using MIDI filters:
1. Load the instruments you want to play into two different racks (say Rack 1 and Rack2)
68
Chapter 9 - Working with MIDI
2. Give each rack a different MIDI channel number. Eg: Rack 1 = Channel 1, Rack 2 =
Channel 2
3. Open MIDI Filters
4. In the combo box at the top of the window, choose the point in the MIDI processing path
where you’d like the split to be made. Typically you would choose Session Input to
have the split apply to just the current session.
5. Click the Add drop down button and select the Keyboard Split MIDI filter item.
6. For the Split Point setting, enter the first note of the upper range.
7. Specify the MIDI channel for the upper and lower halves and optional and transpose
amount.
Using the MIDI Routing Table:
To create keyboard splits using the MIDI routing table:
1. Load each instrument into a different rack, but in this case it is not necessary to specify
channel numbers.
2. In the MIDI Routing Table create a new routing entry.
3. Select the source device (or just select Any) and optionally the source channel.
4. Click the conditions drop down and select Conditions.
5. Specify an upper and lower keyboard range for the instrument.
6. Press OK to close the conditions window.
7. For the MIDI routing’s target setting, select the rack the first instrument.
8. Create another similar routing entry for the second and subsequent instruments.
Chapter 9 - Working with MIDI
69
MIDI Filters
MIDI filters are simple translations that can be applied to incoming or outgoing MIDI events.
MIDI Filters
MIDI filters can be applied at various points in Cantabile’s MIDI processing:







MIDI input ports
MIDI output ports
Global Input
Session Input
Input to a rack
Input to a plugin
On a MIDI routing entry
Filters for MIDI input and output ports and the Global Input filters are saved in the registry and
therefore apply to all sessions.
Other MIDI filters are saved in session files and apply only to that session.
MIDI Filter Items
Each MIDI filter consists of a series of filter items, each of which applies a specific type of
manipulation. Each filter can contain as many filter items as you need.
70
Chapter 9 - Working with MIDI
Cantabile processes MIDI filters items in the order they are displayed in the MIDI filter editor.
Filter items are available to perform the following translations:
Channel Map
Assigns all MIDI events from one or more MIDI channels to one or
more other channels.
Channel Select
Selects MIDI events from one or more channels and suppresses
all other events.
Controller Map
Assigns all MIDI events for one MIDI controller to another.
Controller Latch
Transforms an incoming MIDI controller button press to a
sequencer of controller values.
Controller to
Program Map
Maps a MIDI controller event to a MIDI program change event.
Can also map CC button presses to next/previous program.
Transpose
Transposes a range of notes up or down by a specified interval,
and optionally change the channel of those notes.
Velocity Curve
Manipulates the velocity values of note on, off and after-touch
events.
Velocity Gate
Allows rejecting notes outside a velocity range or remapping
notes within a velocity range.
Pitch Based
Velocity Ramp
Adjust the velocity of notes according to their pitch.
Useful for adjusting instruments that get too loud or too quite at
one end of the keyboard.
VST Parameter
Assigns a MIDI controller to a parameter of a VST plugin. (This
filter is many included for compatibility and MIDI Controller
Assignments should now be used).
Note to Controller
Emulates a MIDI controller using note events.
Keyboard Split
Performs a keyboard split, changing all notes below the split
point to one MIDI channel and notes above to another channel.
Can also perform separate transpositions for the upper and lower
keyboard ranges.
Keyboard Range
Allows rejecting notes outside a keyboard range, or remapping
notes within a keyboard range.
Suppress Events
Suppress one or more MIDI event types
Button Bank
Generates MIDI controller, program change or NRPN/RPN events
using two banks of push button controllers.
Editing MIDI Filters
To create or edit MIDI filters:





From the Setup tab, select MIDI Filters.
From the Show Filters For drop down, select the MIDI port or plugin that you want to
edit the filter for.
To create a new filter item click the Add button (or press the Insert key) and select the
type of filter to be added.
To delete a filter item, select the item to be deleted and press the Delete key.
The top half of the dialog shows plain English descriptions of what each MIDI filter will
do.
Chapter 9 - Working with MIDI
71


The bottom half of the dialog shows the settings for the currently selected filter item.
When you've finished editing the filter, press Close to dismiss the dialog.
Other tips for editing filters:





You can use the clipboard functions (cut/copy/paste) to move or duplicate items.
The up/down arrows on the tool bar can be used to quickly re-order items.
You can select multiple items at once for clipboard, delete and re-order operations.
Filter items can be enabled and disabled by clicking the check mark next to it in the list.
You don't need to close the filter dialog to test the changes made. Changes are applied in
real-time for easy testing.
Using Learn Mode
To simplify setting up filters, Cantabile supports Learn Mode where it can setup properties of a
filter item to match incoming MIDI events. To use Learn Mode:





Select the filter item to be edited.
Select the Learn Mode check box.
Select the property to be learnt.
Move the controller or play the note whose property is to be set.
The property will be updated to match the most recent MIDI event.
Learn mode can be used to set:





The channel mask (Apply to Channels)
Key range (note) properties
Controller numbers
Controller values
VST parameter numbers (by moving the parameter in the VST's editor)
Channel Map
The Channel Map filter item assigns all MIDI events from one or more MIDI channels to one or
more other channels. It supports the following settings:
Source Channels
The channel or channels to be remapped.
Target Channels
The new channel or channels.
Note: you can select multiple channels by holding the Control key while clicking the channel
numbers.
Channel Select
The channel select item is a simple way to filter out all MIDI events except those on one (or
more) channels. It supports the following settings:
Source Channel(s)
The channel or channels to be selected
Note: you can select multiple source channels by holding the Control key while clicking the
channel numbers.
Controller Map
The Controller Map filter item assigns all MIDI events for one MIDI controller to another MIDI
controller. It supports the following settings:
72
Chapter 9 - Working with MIDI
Apply to Channels
The MIDI channels this filter should be applied to.
Source Controller
The controller to be reassigned.
Target Controller
The new controller.
Controller Latch
Transforms an incoming MIDI controller button or pedal press to a sequencer of controller
values.
Apply to Channels
The MIDI channels this filter should be applied to.
Source Controller
The controller number of the source button/pedal.
Target Controller
The controller number of events generated by this filter. Can be
the same as the source controller.
Target Values
A sequence of controller values. On each press of the source
controller button/pedal the next value in the sequencer will be
generated as a new controller event.
This filter is intended for cycling through VST parameters that have discrete values rather than
continuous controller values. Eg: this could be used to assign a push button to toggle a VST
parameter on/off.
Controller to Program Change
Maps a MIDI controller event to a MIDI program change event and/or maps controller button
presses to next/previous program.
Apply to Channels
The MIDI channels this filter should be applied to.
Select Program
Controller
The controller number to be mapped directly to a MIDI program
change. The controller’s value becomes the program number
sent.
Next Program
Controller
The controller number of a button to select the next program.
Previous Program
Controller
The controller number of a button to select the previous program.
New Channel
New channel number for the generated program change events.
Copy Event
When cleared, incoming matching controller events are
suppressed and new program change events generated.
When cleared, the incoming controller events are passed through
unaltered while still generating program change events.
Transpose
The Transpose filter item transposes a range of notes up or down by a specified interval, and
optionally changes the channel of those notes. It supports the following settings:
Apply to Channels
The MIDI channels this filter should be applied to.
Key Range
The range of notes to be transposed.
Transpose
The interval to transpose notes by.
Change Channel
Optional setting to also change the MIDI channel number of
transposed notes.
Chapter 9 - Working with MIDI
73
Notes outside the specified key range are not transposed, nor is their channel changed.
The ability to change channel is useful for creating keyboard splits, although this is now better
covered by the new Keyboard Split filter item.
Velocity Curve
The Velocity Curve filter item manipulates the velocity values of note on, off and aftertouch
events. It supports the following settings:
Apply to Channels
The MIDI channels this filter should be applied to.
Minimum Input Value
The input value that should be mapped to the minimum output
value.
Maximum Input Value
The input value that should be mapped to the maximum output
value.
Minimum Output Value
The minimum output value
Maximum Output Value
The maximum output value
Curve
Controls the shape of the translation curve
Expand/Compress
Uses a curve that either increases or decreases all note velocities.
Enhance
Uses a curve that enhances the response of the keyboard.
The graph can be used to visualize the type of translation being applied to note velocities. The
X-Axis represents the input values, the Y-Axis represents the output values.
Velocity Gate
The velocity gate filter can be used to remap notes according to their velocity. This can be used
for example to play one instrument with soft notes and another with loud notes.
The keyboard range filter can be used to either remap notes to a new MIDI channel, or to simply
suppress notes outside the specified velocity range.
Apply to Channels
The MIDI channels this filter should be applied to.
Velocity Range
Specifies the velocity range to remap.
New Channel
Specifies a new channel number for all notes matching the
specified keyboard range.
Velocity Delta
Specifies how much to adjust the velocity of remapped notes
by.
Notes Only
When selected, only remaps note events.
When cleared, all other events are also remapped.
Suppress out of range
notes
When selected all notes outside the specified velocity range
are suppressed.
When cleared, notes outside the specified velocity range are
passed through the filter unaltered.
Passthrough Original
Events
When cleared, notes that are remapped are modified and
subsequent filter items only see the modified event.
When selected, notes that are remapped generate a new event
and the original event is passed to the next filter item
unaltered.
74
Chapter 9 - Working with MIDI
Keyboard Range
The keyboard range filter is similar to the keyboard split filter except instead of creating a single
split above/below one point on the keyboard it allows an arbitrary range on the keyboard to be
selected.
The keyboard range filter can be used to either remap a range of the keyboard to a new MIDI
channel, or to simply suppress notes outside the specified range.
Apply to Channels
The MIDI channels this filter should be applied to.
Key Range
Specifies the first and last note in the range.
New Channel
Specifies a new channel number for all notes matching the
specified keyboard range.
Transpose
The interval to transpose notes in the keyboard range by.
Notes Only
When selected, only remaps note events.
When cleared, all other events are also remapped.
Suppress out of range
notes
When selected all notes outside the specified range are
suppressed.
When cleared, notes outside the specified range are passed
through the filter unaltered.
Passthrough Original
Events
When cleared, notes that are remapped are modified and
subsequent filter items only see the modified event.
When selected, notes that are remapped generate a new event
and the original event is passed to the next filter item
unaltered.
VST Parameter
The VST Parameter filter item assigns a MIDI controller to a parameter of a VST plugin. It
supports the following settings:
Apply to Channels
The MIDI channels this filter should be applied to.
Source Controller
The MIDI controller to be used to control the parameter
Range (Source)
Range of values for the source controller. Values outside this
range will be clamped to the specified range.
Target Parameter
The parameter of the VST plugin to be manipulated by the MIDI
controller.
Range (Target)
Range of parameter values for the target parameter.
Keyboard Split
The keyboard split item splits incoming MIDI events into two separate MIDI channels. Is
supports the following settings:
Apply to Channels
The MIDI channels this filter should be applied to.
Split Point
The first note of the upper keyboard range.
Notes Only
When selected, only MIDI note events are routed.
When cleared (the default), MIDI controllers and other events
are duplicated and send to both target channels.
Chapter 9 - Working with MIDI
75
Lower Channel
The new channel for notes below the split point.
Upper Channel
The new channel for notes above the split point.
Lower Transpose
The interval to transpose notes in the lower range by.
Upper Transpose
The interval to transpose notes in the upper range by.
Pitch Based Velocity Ramp
The Pitch Based Velocity Ramp adjusts the velocity of notes according to their pitch.
This filter is useful for adjusting instruments that get too loud or too quite at different parts of
the keyboard.
Apply to Channels
The MIDI channels this filter should be applied to.
Key Range
Specifies the first and last note of the range of notes whose
velocities are to be adjusted
Adjust Velocity By
Specifies a percentage to adjust the velocity of notes by.
The first value specifies the velocity adjustment at the low end
of the key range.
The second value specifies the velocity adjustment at the high
end of the key range.
Notes within the range will be adjusted by a percentage
calculated by linearly interpolating these two values.
Also Adjust Notes
Above/Below
Specifies whether notes outside the specified key range should
be adjusted or left.
When selected notes below the keyboard range are scaled by
the low velocity adjustment and similarly for notes above the
keyboard range.
These options are useful if you want to create a sequence of
pitched velocity ramps for different key ranges.
Note to Controller Assignment
The Note to Controller Assignment filter item emulates a MIDI controller using note events.
This filter can emulate either a single variable controller - where a range of notes represents the
value of the controller, or a set of button controllers - where each note represents one controller
in a series of on/off controllers.
It supports the following settings:
Apply to Channels
The MIDI channels this filter should be applied to.
Emulation Mode
Whether to emulate a single variable controller or a range of
button controllers.
Condition
The number of a controller whose value must be pressed
(>=64) for the emulation to take effect. (see explanation
below).
Key Range
The range of notes used to emulate the controller or
controllers.
Target Controller
The controller number to emulate.
76
Chapter 9 - Working with MIDI
Channel
The channel to send controller events on (or Same to use the
same channel as the source note events).
Min Value (when emulating
a variable controller)
The minimum value of the emulated controller - mapped to
the lowest note in the key range
Max Value (when emulating
a variable controller)
The maximum value of the emulated controller - mapped to
the highest note in the key range.
Released (when emulating
button controllers)
The value of the controller when the note is released typically 0.
Pressed (when emulating
button controllers)
The value of the controller when the note is pressed typically 127.
The condition controller can be used to enable/disable controller emulation using another
controller.
For example you might define a range of notes to act as a series on/off buttons but only want
them to take effect when a real MIDI controller button is pressed, or a pedal maybe. To do this,
set the Condition property to the controller number of the button/pedal that enables the
emulation. The condition controller must take on a value of 64 or greater when pressed for this
feature to work.
Suppress Events
The suppress events item can be used to suppress certain MIDI event types.
It supports the following settings:
Apply to Channels
The MIDI channels this filter should be applied to.
Notes
When selected, all note on/off events are suppressed.
Aftertouch
Suppresses aftertouch events.
Program Change
Suppresses program change.
Channel Pressure
Suppresses channel pressure events.
Pitch Bend
Suppressed pitch bend events.
Controllers
Suppresses one or more controllers. Multiple controllers can
be specified eg: 1,2,10-30,45
Button Bank
The Button Bank item allows mapping two ranges of button controllers onto some other MIDI
event.
Say you have two banks of button controllers that you'd like to translate to say a program
change event. The button bank controller allows this by combining the button presses from one
bank with the button presses from the other (using configurable add/multipliers operations)
then sends the desired event.
It supports the following settings:
Apply to Channels
The MIDI channels this filter should be applied to.
Bank A Controllers
The range of button controllers for bank A
Bank A Base
Base value for bank A
Bank A Multiplier
Multiplier for bank A
Chapter 9 - Working with MIDI
77
Bank B Controllers
The range of button controllers for bank B
Bank B Base
Base value for bank B
Bank B Multiplier
Multiplier for bank B
Send Event
The event to send. Choose from
 Bank Select + Program Change,
 Program Change
 Bank Select
 Controller
 Registered Parameter (Coarse)
 Registered Parameter (Fine)
 Non-registered Parameter (Coarse)
 Non-registered Parameter (Find)
Controller
Specifies the controller or RPN/NRPN parameter number to
send.
For example, assume you have 20 MIDI push buttons - the first set of 10 on MIDI controllers 8089 and the second set on controllers 90-99. When you press a button in bank A, the filter simply
remembers which one you pressed. When you press a button in bank B, the filter generates a
program change event. The program number it generates is calculated by this formula:
(IndexOfButtonA + BankABase) * BankAMultiplier +
(IndexOfButtonB + BankBBase) * BankBMultipler
So say you pressed button 81 then button 93 that would be:
(1 + 0) * 10 + (3 + 0) * 1 = 13
In other words, you're using bank A as the tens column, bank B as the units and you've got a
really quick way to access 100 program changes from 20 buttons.
Other notes:




Each bank is optional so you can use it for a single button bank
If the controller range for a bank only has a single controller, it uses the controller value
rather than its index. This allows other manipulations of controllers to be created.
It's not limited to generating program changes - it can also generate Bank
Select+Program Change, Program Change, Bank Select, another Controller, and coarse or
fine RPN and NRPN events.
The button controllers don't need to be in order. eg: 10-14,20,8 is a valid definition for 7
buttons.
MIDI Controller Assignments
MIDI Controller Assignments allow controlling VST parameters and most Cantabile settings
using an external MIDI controller. Assignments can be made for controller change events,
program change events, note events and RPN/NRPN events.
To edit controller assignments, select MIDI Assignments from the Setup ribbon tab.
78
Chapter 9 - Working with MIDI
MIDI Controller Assignments
Session vs Global Assignments
Controller assignments fall into one of two categories:


Global assignments are saved globally and apply to all sessions.
Session assignments are saved in a session file and apply only to that session.
Some assignable items only make sense as session assignments (eg: assignments to a plugin),
where as other assignments can be created either globally or at the session level (eg: master
gain level). When an assignment can be created at either level, the Context drop down will
become enabled and allow choosing the type of assignment.
On/Off/Toggle and Latch Actions Items
Assignable items that are on/off items can be controlled in one of four ways depending on the
type of external MIDI device. Typically these are physical buttons.
When assigning buttons to these items a combo box will appear where you can select the action
to take when the button is pressed.
On
When the MIDI controller is pressed the item is turned on.
Off
When the MIDI controller is pressed the item is turned off.
Toggle
When pressed the item is toggle on/off.
Latch
When pressed the item is turned on, when released the item is turned off.
Most MIDI controllers allow buttons to be configured to work in latch mode or momentary
action (ie: press on, release off) mode. Refer to the documentation of your controller for more
information.
Chapter 9 - Working with MIDI
79
Rack and Plugin Controls
When assigning to a rack or plugin control a combo box will appear letting you select which rack
or plugin to control - either a specific one or the active one.
Editing Controller Assignments
Creating an Assignment
To assign an external MIDI controller:
1. Select the item to be controlled from the Assign To drop down. Alternatively if learn
mode is enabled, move the Cantabile or plugin control to be assigned to select it. eg:
while the MIDI controller assignments dialog is displayed, switch back to Cantabile's
main window and move the master output slider. On switching back to the controller
assignments window, that item will be selected in the list.
2. Move the physical MIDI controller to be assigned. The name of the device and controller
number should appear in the Controller drop down. Cantabile selects the most recent
recognised event however you can select another event from this list.
3. If the controller is already assigned to something else, this information will be displayed.
4. When the desired assignment is displayed, press Assign to create the assignment, or
Replace to replace an existing assignment.
Deleting an Assignment
To remove an unwanted controller assignment:


Select the assignment in the list
Press the Delete button in the top right corner of the window, or press the Delete key
on your PC keyboard.
Learn Mode
Normally, moving a plugin parameter or assignable Cantabile control will cause that item to be
selected in the list of assignable items.
This can be undesirable however when using plugins that constantly send parameter change
events, causing the list to become unusable.
In this case, clear the Learn Mode check box to disable this behaviour. You will need to
manually select items in the list in this case.
Temporarily Enabling and Disabling Assignments
Sometimes in can be convenient to temporarily disable a controller assignment. The check box
in the list next to the name of the assignable item can be used for this purpose.
MIDI Routing Table
Cantabile Performer Only
The MIDI routing table let's you route MIDI events from a specific input device to a specific
output device or rack.
80
Chapter 9 - Working with MIDI
MIDI Routine Table Panel
MIDI routings are edited using the MIDI routing table panel which is one of the expandable
panels on Cantabile’s main window. To use this panel, make sure it is visible and expanded (see
Main Panels)
MIDI Routing Table
Each entry in the MIDI routing table has the following settings:
Enabled Checkmark
Controls whether this routing is enabled or not.
Name
A descriptive name for the routing. This setting is optional but
should be used to describe what the routing does.
Source Device
The source MIDI device to route from. Presently, only MIDI input
ports and the on-screen keyboard are available.
Source Channel
Select which MIDI channel(s) this routing applies to.
Settings
Various settings including conditional program number, keyboard
range and transpose.
Pass Through
Determines whether processing of MIDI events stops if routed by
this entry.
Normally when a MIDI event is routed, the processing of the event
stops and no further entries are checked.
When this option is selected, processing continues at the next
routing entry regardless of whether this entry routed it.
Target Device
Select either a MIDI output port or a plugin rack.
Target Channel
Choose to either leave the channel number unaltered or remap
events to a specific channel.
Settings
Each routing entry has various conditions that allow finer grain control over whether the
routing takes place.
To edit these settings, use the drop down menu in the settings column:
Upper Split
Creates a keyboard split so that this routing only routes notes from
the upper part of the keyboard.
After selecting this command you will be prompted to play the first
(lowest) note of the keyboard range.
Lower Split
Creates a keyboard split so that this routing only routes notes from
the lower part of the keyboard.
After selecting this command you will be prompted to play the last
(highest) note of the keyboard range.
Chapter 9 - Working with MIDI
81
Range Split
Creates a keyboard split covering an arbitrary range of the
keyboard.
After selecting this command you will be prompted to play the note
at each end of the desired range.
Clear Split
Clears an existing keyboard split, resetting to accept the entire
keyboard.
Learn Transpose
Sets the transpose setting by learning from played notes.
After selecting this command you will be prompted to play two
notes and the interval will be calculated and set.
Set Transpose
Displays a window where a new transpose setting can be manually
entered. This method also allows updating all other racks with the
same old setting to the same new setting.
Clear Transpose
Clears the transpose setting.
Set Program Number
Cantabile will monitor the most recent program change event from
each device and only route events if the program number matches
this setting.
This makes it possible for different program numbers to cause
routing to different targets.
Clear Program
Number
Clears the program number for this entry.
MIDI Filters
Displays the MIDI Filters for this routing.
Pass Through
Controls the pass through setting for this entry.
Filters
Each MIDI routing entry can have MIDI filters defined that can be used to manipulate MIDI
events. The filters for a MIDI routing entry are only processed for events that are being routed.
Non matching events are not processed by the filter.
See MIDI Filters.
Sub-session Control
The enabled state of each MIDI routing can be controlled through sub-sessions.
When a sub-session is saved the enabled state of each MIDI routing entry is also saved. That
state is then restored when the sub-session is loaded.
To prevent an entry from being affected by sub-sessions, right click on the entry’s name and use
the Sub-session Behaviour sub-menu to disable it.
82
Chapter 9 - Working with MIDI
Enabling sub-session support for a MIDI routing entry.
Triggers
Cantabile Performer Only
Triggers are a mechanism that can be used to perform actions in response to certain events.
Primarily they’re intended to be used as a way of sending MIDI configuration events to external
devices when a session or sub-session is loaded, but they can also be used for other purposes.
Triggers Panel
Triggers are edited using the Triggers panel which is one of the expandable panels on
Cantabile’s main window. To use this panel, make sure it is visible and expanded (see Main
Panels)
Configuring Triggers
Each trigger has the following properties:
Enabled Checkmark
Controls whether this trigger is enabled or not.
Name
A descriptive name for this trigger. This setting is optional but
should be used to describe what the trigger does.
Event
Select the event that causes this trigger to execute.
See Event Types.
Action
Select the action to execute when the event occurs.
See Actions.
Chapter 9 - Working with MIDI
83
Target
Device/Channel
For actions that generate MIDI events, these settings control the
destination for those events.
Event Types
Triggers can be configured to execute on the following events:
Session Load
Executes whenever this session is loaded
Session Unload
Executes whenever this session is unloaded
Sub-session Load
Executes when a sub-session with this trigger enabled is loaded.
Also executes when the containing session is loaded.
Sub-session Unload
Executes when a sub-session with this trigger enabled is loaded.
Also executes when the containing session is unloaded.
Transport Play
Executes when the master transport enters Play mode.
Transport Pause
Executes when the master transport is paused.
Transport Resume
Executes when the master transport is resumed by pause.
Transport Stop
Executes when the master transport is stopped.
Custom Event
Custom events allow invoking a trigger from an external MIDI
Controller.
Select a custom event number for the trigger and the assign an
external controller to that custom event number using MIDI
Controller Assignments.
Actions
Each trigger can execute one of the following actions.





Send MIDI Controller Change
Send MIDI Program Change
Send MIDI Note On/Off
Send MIDI System Exclusive Event
Execute External Program or Script
These actions are self explanatory.
Delays
Sometimes it will be necessary to set delays between triggers. For example, some hardware
modules expect delays between certain MIDI events. To support this, each trigger has a pre and
post delay setting.
To set these delays, from the Action drop down menu, select the Set Delays command. Delay
values are specified in milliseconds (ie: 1000ms = 1 second).
Sub-session Control
The enabled state of each trigger entry can be controlled through sub-sessions.
When a sub-session is saved the enabled state of each trigger is also saved. That state is then
restored when the sub-session is loaded.
84
Chapter 9 - Working with MIDI
To prevent an entry from being affected by sub-sessions, right click on the entry’s name and use
the Sub-session Behaviour sub-menu to disable it.
Enabling sub-session support for a trigger.
MIDI Loop-back
MIDI loop-back provides the ability to treat the output of a trigger, MIDI routing entry, media
file or rack as MIDI input. This is most often used to route the output of a MIDI plugin to a MIDI
controller assignment, or the output of a media player through the MIDI routing table.
There are 4 MIDI loop-back devices named Loop-back 1 through 4. To use these loop-back
devices, simply set the output target of the rack, trigger, routing entry or media file to the
desired loopback device.
Routing the output of rack to a loop-back device
You can then use the looped back MIDI in MIDI Controller Assignments and the MIDI Routing
Table.
Chapter 9 - Working with MIDI
85
Please note that when using MIDI loop-back, care must be taken to avoid infinite feedback loops
- where the output of an item fed through a loopback device arrives back to the same original
item causing additional MIDI events to be generated.
To help prevent this, loop-back devices automatically suppress events if they detect such a
situation – however there are cases where this cannot be determined. Also, as a measure to
prevent these feedback loops, a rack can’t be configured accept input from a loop-back device
(there’s no reason to need to do this anyway).
Setting a rack to accept MIDI from all input devices will not cause the rack to receive MIDI from
a loop-back device.
Constant Latency MIDI
By default, Cantabile schedules incoming real-time MIDI events for the very start of the next
audio buffer cycle. The idea behind this is to reduce latency and play notes as soon as possible
after they’re played.
Unfortunately this behaviour changes the timing of events since all events received during the
previous audio buffer all get scheduled for the first sample of the next audio buffer.
Generally this is not an issue with small audio buffers. With longer audio buffers however, this
can cause problems where rapid successions of notes (eg: guitar strumming) don’t sound
natural. Worse, if a note on and off event are both received during the same audio cycle, the
note may be missed completely, or mishandled by a plugin.
To resolve this Cantabile has an option Constant Latency Real-time MIDI (see Audio Engine
Options). When selected, this option causes Cantabile to schedule events for the same position
in the next audio buffer as they were played in the current audio buffer.
For example, if a note is played half way through the currently sounding audio buffer, then it is
scheduled for half way through the next buffer.
By default the constant latency option is turned off but should be enabled when using audio
buffers larger than about 10 milliseconds.
86
Chapter 9 - Working with MIDI
CHAPTER
10
10 Onscreen Keyboard
While not particularly useful for playing music, the on-screen keyboard is convenient for testing
the sound of the loaded plugins.
The on-screen keyboard is one of the expandable panels on Cantabile’s main window. To use
this panel, make sure it is visible and expanded (see Main Panels).
Onscreen Keyboard Panel
Playing the Keyboard with the Mouse
When played with the mouse, the keyboard is velocity sensitive. Clicking a key closer to the
bottom results in louder sounds than clicking near the top of the key.
Playing the Keyboard with the Computer's Keyboard
The keyboard can also be played using the computer keyboard.
The Z key on the computer keyboard corresponds C note of the highlighted octave, with notes
arranged similarly to a piano keyboard - ie: Key S=Note C#, Key X=Note D, Key D=Note D# etc...
A second octave of notes continues starting with the Q key.
The selected octave is indicated by the highlighted range. It can be changed using the
corresponding function key on the computer keyboard. Eg: F3 selects the octave commencing
on C3.
When played using the computer keyboard, the velocity used is the last velocity played using
the mouse.
You can also select two separate octaves for the upper and lower PC keyboard ranges. To set
the octave for the lower range (starting on Z) hold the Control key while pressing a function key.
Eg: Ctrl+F2 sets the lower octave to commence on C2. To set the upper octave use the Shift key.
Eg: Shift F6 sets the upper octave to commence on C6.
Chapter 10 - Onscreen Keyboard
87
X-Y Controller
The X-Y controller is a simple 2 dimensional on-screen device that can act as two MIDI
controllers. By default the X-Y controller is configured to act as a pitch bend and modulation
wheel though this can be edited.
Tips for using the X-Y controller:





Clicking anywhere within the main area of the X-Y controller moves both controllers by
tracking the horizontal and vertical movement of the mouse.
It's not necessary to correctly position the mouse within this area before clicking as
Cantabile will automatically move the cursor to the current controller position.
Clicking in one of the bars at the right/bottom of the X-Y controller moves just that
controller.
When the X-Y controller has input focus (after clicking in it), the mouse wheel can be
used to move an axis that doesn't have snap back option turned on. If neither axis is
configured for snap back, the Y-Axis takes precedence.
Right clicking on the X-Y controller displays the axis configurations settings.
Holding Keys
Keys can be held by playing them while pressing the Control key. For example pressing
Control+Z+C+B will play a C-Major chord and hold it.
To release held notes, click them again while holding the Control key.
You can also release all held notes at once by pressing the A key.
PC Keyboard Capture
Normally, playing the on-screen keyboard with the PC keyboard is only supported when the onscreen keyboard has focus (or is active).
When Keyboard Capture is activated, the on-screen keyboard can be played using the PC
keyboard even when the on-screen keyboard doesn't have input focus.
To toggle keyboard capturing on/off press the F12 key, or select the Capture Keyboard
command on keyboard's toolbar.
If you find other areas of Cantabile unreponsive to keyboard short cuts, check you don't have
keyboard capture turned on.
Panic Button
To send MIDI note off events for every note on every channel click the All Notes Off button.
This feature, commonly referred to as a Panic Button is useful for releasing stuck MIDI notes where a synthesizer has received a note on event but for some reason didn't receive a matching
note-off event.
88
Chapter 10 - Onscreen Keyboard
Other Keys
The keyboard also responds to the following computer keyboard keys:
Function keys
Change the selected octave.
Shift
Activates the sustain (damper) pedal controller.
Control
When held while playing a note, holds the note, or if the note is
already held, releases it.
A
Releases all held notes.
Channel Selector
Above the on-screen keyboard are two drop down menus, the first of which is the channel
selector.
The channel selector allows selection of which channel the keyboard transmits MIDI data on.
Select any channel from 1-16.
By convention, channel 10 is typically used for percussive instruments that are not pitch
sensitive, while all other channels are used for pitch based instruments. Playing notes on
channel 10 to an external MIDI synthesiser will often result in percussive instruments being
played (eg: drums etc...)
The on-screen keyboard is connected to the same MIDI input bus as all other MIDI input
devices. The device and channel selectors on each rack can be used to control routing of events
from the on-screen keyboard.
Program Selector
The program selector allows sending of MIDI program change messages.
When a program is selected from the program selector, Cantabile sends a MIDI program change
message to the selected channel.
For convenience, the program selector displays the last program change message send. Note
however that it is possible for this to become invalid, if the target device receives a program
change event from another source (eg: a MIDI sequencer).
When using General MIDI program names, Cantabile displays General MIDI drum kit names for
Channel 10, and normal General MIDI program names for all other channels.
To disable the use of General MIDI program names, use the setting in Keyboard Options.
This version of Cantabile does not support sending MIDI bank select messages from the onscreen keyboard
Custom Controllers
The keyboard panel also has two sets of custom controllers:
Global Controllers
Saved globally and available in all sessions.
Chapter 10 - Onscreen Keyboard
89
Session Controllers
Saved with the session file.
Each set of controllers consists of four push buttons and four sliders.
To show the custom controllers, click the appropriate checkbox on the keyboard's toolbar.
When checked, an extra toolbar will appear showing the additional controllers. To configure a
controller, right click on it and select Customize. A dialog will appear where the MIDI
Controller number and various other settings can be specified.
Miscellaneous
Don't forget that in order use the computer keyboard the on-screen keyboard must have focus
(indicated by the octave range indicator displayed in the highlight color, rather than greyed
out). Alternatively, it must be captured.
90
Chapter 10 - Onscreen Keyboard
CHAPTER
11
11 Other Features
Large Status Display
Cantabile Performer Only
In a live performance situation it can be desirable to display certain information in a large,
clearly readable format. To support this Cantabile has a Large Status Panel.
Show the Large Status Panel by selecting it from the Show/Hide Panels drop-down.
Cantabile’s Large Status Display
To configure the display:



Right click on the display to select the pieces of information that are displayed.
To change the font size of a display element, click on it to select it and then use the Page
Up/Down keys to increase or decrease the font size.
To clear the selection from an element, press the Escape key.
Offline Renderer
Cantabile Performer and Solo Only
Cantabile’s offline renderer can be used to process a MIDI or audio file through a set of racks
and plugins and save the results are to a wave file. This rendering process is done offline – ie:
not in real-time.
The main advantages of offline rendering are:

When using plugins that can process faster than real-time, the rendering can be done
more quickly.
Chapter 11 - Other Features
91

When using plugins that can work in higher quality but more CPU intensive modes,
those modes can be used to renderer high quality sounds without the problem of audio
drop outs.
Note that the offline renderer is not compatible with most hardware based plugins and other
plugins that don’t handle faster than real-time processing.
Using the Offline Renderer
To use the offline renderer:
1. Load the MIDI or Audio media file that you want to render.
2. Set the media file synchronisation options so that it is the master transport. See Timing
and Synchronisation.
3. Optionally set the play range if you only want to render a portion of the file.
4. From the application menu’s Import/Export sub-menu, select Offline Render.
5. Check and adjust any settings as required (see below).
6. Press OK to start the render process.
Offline Render Settings
Settings
The following settings control the offline render process:
File Name
The name of the wave file to be rendered to (excluding the folder
name).
Location
The folder where the file should be saved.
92
Chapter 11 - Other Features
Post Process
Command
A command to be executed once the render process has completed.
(Typically used to compress the rendered wave file to mp3 or
similar format.)
Delete Rendered
File
When selected, the rendered output file will be deleted once the
post process command completes.
(Use this if the post process command produces a final output file
and the intermediate wave file is no longer needed).
Output Level – Use
Master Output
Level
Applies a gain to the output file equivalent to the current master
output level on Cantabile’s main window.
Output Level –
Apply Gain
Applies a specific gain to the output file.
Output Level –
Normalize To
When selected, the render process performs two passes:
1. Renders the file to a floating point format and calculates the
maximum peak level of the file.
2. Applies a gain level to ensure the maximum peak matches
the specified level and converts the file to the final output
format.
Processing the first pass in floating point format ensures there is no
loss of quality due to applying the gain after format conversion.
Use Output Limiter
When selected, an output limiting algorithm is used to ensure peak
levels are not exceeded.
Generally not recommended as normalizing the output will
generally produce better results.
Sample Rate
Specifies the sample rate of the generated file.
Format
Specifies the sample format of the generated file.
Render
Specifies which part of the file to render.
Choose from All, Selection, 10 second preview or 30 second
preview.
Lead In/Out
Specify a period (in seconds) of silence to be added to the start and
end of the generated file.
The lead-out time is especially useful to ensure all sounding notes
and effects completely finish before the end of the file.
External Tools
Cantabile supports custom commands that can be used to launch external applications and
utilities.
Configuring external tools is done in the External Tool page of the options dialog. See External
Tools.
External Tool Menus
External tools can be configured to appear in three different menu locations:
Chapter 11 - Other Features
93
Home Tab
Tools configured with this option appear in the Tools drop down
on the main window Home tab.
MIDI Files
Specifies a command that applies to MIDI files.
Tools configured in this way appear in the right click context menu
of MIDI media files and MIDI files in the recordings list.
Audio Files
Specifies a command that applies to audio files.
Tools configured in this way appear in the right click context menu
of MIDI media files and MIDI files in the recordings list.
The MIDI and Audio file tools can be used to setup external editors for these file types. The
variable $(SelectedMediaFile) should be used as a placeholder for the filename of the file that
was clicked on.
Engine Start/Stop
By default, Cantabile’s audio engine starts automatically. You can use the Stop Engine
command however to stop all processing of audio, MIDI and loaded plugins.
Stopping the engine can be useful in these situations:


The stability of the system seems to be suffering and you want to close and re-open all
hardware devices.
You need to run another application that needs access to the devices that are currently
in use but you don’t want to close Cantabile.
The engine is automatically stopped and restarted when displaying Options and the Master Bus
Configuration window.
You can also remotely invoke a restart of the audio engine through MIDI Controller
Assignments.
Alternate Configurations
Cantabile supports alternate configurations, where each configuration stores a separate set of
global settings including audio driver, VST directories, MIDI configuration etc...
Multiple configurations are useful for:




Running multiple instances of Cantabile with different audio configurations.
Supporting different VST directories - eg: a "test" configuration for testing new plugins
and a "production" configuration for trusted plugins.
Different MIDI configurations.
Any other situation that requires quickly switching between different configurations.
To specify which configuration to load, use a command line argument in the following form:
cantabile20.exe /config:[i]<configname>[/i]
For example, to launch Cantabile with a configuration named "Test Environment" use the
following command line:
94
Chapter 11 - Other Features
cantabile20.exe /config:"Test Environment"
If no configuration is specified, the default unnamed configuration is used.
When Cantabile is installed, it automatically creates two short cuts to launch Cantabile - one for
the default configuration and one for an alternate configuration.
Although using multiple configurations allows multiple instances of Cantabile to be run
simultaneously, for this to work successfully you would normally need to configure each to use
different audio drivers and MIDI devices. Typically these devices can only be used by one
application at a time.
System Tray Icon
Cantabile’s system tray icon can be used to control a limited set of functionality without having
to activate Cantabile’s main window.
By default the tray icon is disabled but can be enabled in General Options.
Cantabile’s System Tray Icon
Chapter 11 - Other Features
95
Multiple Processor Support
On multi-core and multi-processor machines Cantabile supports processing racks in parallel
making best use of the extra processing power of these machines.
Cantabile's multi-processor support works by processing each rack in parallel when possible.
Since not all plugins are completely compatible with this feature, Cantabile can be configured to
run in one of three modes (see Audio Engine Options).
Disabled
Turns off all support for multi-core processors for best
compatibility.
Enabled (Compatibility
Mode)
Enables multi-processor support but prevents instances of
the same plugin type being processed simultaneously.
Enabled (Aggressive)
Enables full multi-processor support.
Disabled mode can be used if a plugin proves to be completely incompatible with the multiprocessor support. Generally this mode shouldn't be needed but may be useful for diagnostics
reasons (particularly for plugin developers).
Compatibility Mode provides significant performance increases when running most multi-rack
sessions and is the recommended mode for most situations. In this mode racks are processed in
parallel but processing will stall if two or more plugins of the same type need to be processed at
the same time – in which case they will be processed one after the other.
Aggressive Mode is suitable when running many racks with the same plugins on each rack. In
this mode the plugins being used must be compatible. Many plugins are compatible with this
mode, but those that aren't can cause undesirable effects ranging from noise to crashing the
entire application.
When a session contains no duplicate plugins Compatibility Mode and Aggressive Mode are
effectively equivalent.
Advanced Configuration of Plugin Processing
Advanced users and plugin developers who are interested in having finer control over the multithreaded processing of plugins can edit the Compatibility.ini file which is in the same directory
as the Cantabile executable file.
Refer to the file for more information.
96
Chapter 11 - Other Features
CHAPTER
12
12 Diagnostics and Troubleshooting
Understanding Cantabile’s Load Meter
The load meter in Cantabile is often misunderstood. This section attempts to explain its
meaning.
The most important thing to remember about the load meter is that it is not a measure of CPU
load – although occasional they can be related.
Rather, the load meter displays the amount of time taken to process each audio cycle as a ratio
of the total available time. For example, if the audio buffer is configured to be 8 milliseconds
and audio processing of each buffer is taking 4 milliseconds then the load is 50%.
This is not the same as CPU load as the CPU will almost certainly be busy doing other things
besides just processing real-time audio.
Furthermore, on multi-core machines the relationship between CPU and time becomes more
complex. A dual core machine can for example do twice as much work (CPU load) in the same
time as a single core machine.
Cantabile displays load as a time calculation since for real-time audio this is the most important
factor – if audio processing doesn’t complete in time there’s a drop out.
By measuring load using time, the load meter can also highlight situations where audio
processing is being pre-empted by other higher priority processes (such as Deferred Procedure
Call (DPC) Spikes). In this situation the audio processing takes longer, but doesn’t use CPU load
– since that load is being attributed to another process.
Note however that there is a relationship between CPU load and the load meter. If a plugin is
more computationally intensive it will increase the time taken to process each audio cycle and
therefore increase the load meter reading.
There is no direct relationship between the number displayed by Cantabile’s load meter and the
number displayed in Windows’ Task Manager.
Choosing an Appropriate Buffer Size
Selecting an appropriate buffer size for the audio driver is essential to getting a good balance
between audio latency and reducing audio drop outs.
Chapter 12 - Diagnostics and Troubleshooting
97
Audio latency is the amount of time between a note being played (or audio input arriving) and
sound being produced. There are many factors that can affect latency including hardware
latency (delays introduced by midi hardware or the sound card itself) and software latency due
to the way digital audio is processed.
Audio dropouts are clicks, pops and other undesirable artefacts due to the software not being
able to supply audio data quickly enough for the sound card.
There are many excellent online references explaining audio latency, audio dropouts and buffer
size selection. The generally accepted approach to achieving a good balance however is simply
trial and error:



If you're getting audio drop outs you need to either increase the buffer size or adjust the
settings of the plugin you’re using to be less demanding on the system.
If you're getting unacceptable latency (you play a note and it doesn't make a sound until
a noticeable period later, or audio effects are noticeably delayed) you need to reduce the
buffer size.
If you can't find a suitable balance you probably need to upgrade your hardware.
Cantabile's load meter is useful in determining load.


If you find the buffer utilization is always close to zero, you should be able to reduce the
buffer size (and therefore reduce latency) without causing audio dropouts.
If the buffer utilization is close to 100%, then you’re getting close to audio drop outs and
you should probably increase the buffer size or change settings in the plugin to reduce
load.
Deferred Procedure Call (DPC) Spikes
If you’re encountering occasional random load spikes you should consider the possibility of DPC
latency issues.
Deferred Procedure Calls (DPCs) are pieces of code implemented by system level drivers that
run at a higher priority than most other applications. A badly written or badly behaving driver
can cause a delay long enough to prevent audio applications from running smoothly.
To check whether you’re encountering DPC related issues, consider using the DPC Latency
Check utility available from http://www.thesycon.de/deu/latency_check.shtml . You’ll also find
there a better explanation of this problem and suggestions on how to find the cause of
problems.
Technical Support
Support for Cantabile is available from:
Support Forum
http://www.kvraudio.com/forum/viewforum.php?f=136
Release Notes
http://www.cantabilesoftware.com/support/releasenotes.php
Email Support
contact@cantabilesoftware.com
98
Chapter 12 - Diagnostics and Troubleshooting
CHAPTER
13
13 Options
This section explains all of Cantabile’s options.
The options window can be opened by clicking the button labelled Cantabile Options at the
bottom of the application menu. Alternatively, press Alt+FI
General Options
The general options page contains options affecting general usage of Cantabile:
Color Theme
Select a color theme for Cantabile’s main window.
Show Tray Icon
Displays an icon in the Windows system tray that can be used
to control a limited set of actions.
Minimize to Tray
When the tray icon option is enabled this option causes
Cantabile to be hidden when minimized. To re-show
Cantabile, double click the icon in the system tray.
Expand Media Players By
Default
Controls whether newly loaded media files are expanded to
show the file’s visual representation.
Double-click to Rack or
Media Player Name to
Expand/Contract
When selected, double clicking on the name of a media file or
rack expands the item. Clear this option to prevent this
behaviour.
Save peak information
for audio files
When selected, Cantabile will save peak information for loaded
audio files. The saves having to re-scan those files the next
time they’re opened.
This peak information is used for drawing the visual waveform
representation of audio files.
Save with audio file
when possible
Saves the peak information for audio files in the same location
as the audio file itself.
When this option is not selected, the peak information is saved
in a temporary folder.
Clean Up
Deletes all saved peak information from the temporary folder.
(This does not delete peak files saved in the same folder as the
audio files).
Use Fast Session
Switching
When enabled, Cantabile will attempt to re-use plugins from
the previous session when loading a new session. This can
improve load times for sessions but uses more memory during
the session load.
Chapter 13 - Options
99
Display Progress while
loading session files
Darkens the main area of Cantabile’s main window and
displays a message indicating the progress of loading session
files.
Turn this option of if you use fast loading sessions to avoid the
flickering to black between each session.
Prompt for filename on
first incremental
program save
When enabled, a file save dialog will be displayed the first time
the incremental save command is used on a plugin.
When disabled, a filename is automatically determined based
on the plugin name.
To manually override this behaviour, use the Save Program As
command to set the current filename, before using the
incremental save command for subsequent saves.
Save Modified Sessions
Determines whether modified sessions are automatically
saved, discarded or prompted to be saved.
Associate Button
Creates file type associations in the system registry so that
supported file types can be loaded by double clicking them in
Windows Explorer.
Unassociate Button
Removes file type associations.
Set Default Session
Saves a copy of the current session to be used for the default
state when creating new session files.
Reset Default Session
Restores the default session to its factory (empty) state.
Startup/Shutdown Options
The startup/shutdown Options page contains options affecting starting and closing Cantabile:
Load this Session
Specifies a specific session file to load every time Cantabile is
started.
Use Current
Sets the file to use for the Load this Session option to the
currently loaded session file
Browse
Browses for the file to be used for the Load this Session
option.
Start New Session
Specifies that a new session should be created when Cantabile
is started.
Reload Last Session
Reloads the previously last used session when Cantabile is
started.
Prompt to Reload Last
Session
Prompts before reloading the previously last used session.
Scan VST Folders on
Startup
When selected, Cantabile will scan the VST plugin folders on
start up.
When clears, Cantabile will use information cached from the
previous scan making startup faster, but you’ll need to
manually scan the plugin folders when you install or remove
plugins.
100
Chapter 13 - Options
AutoRun when Windows
Starts
When selected, causes Cantabile to be automatically started
when Windows starts and is logged on.
AutoRun Minimized
Causes Cantabile to be shown minimized when the AutoRun
option is selected.
Reload Last Set List *
Reloads the last loaded set list when Cantabile loads.
And Load First Entry *
Loads the first entry in the set list when Cantabile loads.
Prompt before Exiting
When selected causes Cantabile to prompt for confirmation
before exiting.
This option is useful when using slow loading VST's as it saves
from accidentally exiting the program and having to reload.
Escape Key Exits
When selected, pressing the Escape key when Cantabile's
main window is active causes the program to shutdown.
Audio Engine Options
The audio engine options page contains settings affecting Cantabile’s audio engine.
Select Audio Driver
Displays a drop down menu allowing selection of the audio
driver. Cantabile supports three types of audio drivers – ASIO,
DirectSound and the Null Audio Driver.
In general, you should use ASIO drivers whenever possible.
Sample Rate
Allows selection of one of the sample rates supported by the
audio driver.
Sample Rate Slider
Sets the buffer size (in samples) to be used.
Only available when a DirectSound or the Null Audio driver is
selected. For ASIO drivers, use the driver’s control panel to
change the buffer size.
Control Panel Button
Displays the control panel application for the selected ASIO
audio driver.
Assign Audio Channels
Displays a Audio Channel Assignments window where master
bus channels can be assigned to physical driver channels.
Automatically Stop
Recording when
Selecting a new Plugin or
Program
When selected, changing a plugin's current program or loading
a new plugin causes both the audio and MIDI recorders to stop
immediately.
Resend Program
Changes when Starting
or Resuming Play
When selected, Cantabile determine the current program for
each MIDI channel for the current play position and resends
MIDI program change events to ensure all target devices have
the correct program selected.
Disable this option to leave program selection to the currently
selected program. This can be useful when manually selecting
programs.
Program changes can also be disabled on a per-plugin basis.
See Plugin Settings.
Chapter 13 - Options
101
Constant Latency Realtime MIDI
When selected Cantabile introduces small delays to real-time
MIDI events to ensure a constant latency between the each
event being received and the sound for that being generated
by a plugin.
When cleared, MIDI events are forwarded as quickly as
possible giving an overall lower latency at the expense of
timing accuracy.
See Constant Latency MIDI for more information.
Enable Output Limiter
Select this option to enable Cantabile's output limiter.
When selected, audio samples with an amplitude below the
threshold are output unaltered.
Samples above the threshold however are soft saturated, to
not exceed the maximum possible output level.
Use the output limiter to avoid hard clipping and distortion
that can occur when audio levels exceed peak levels.
There is a small performance overhead in using the output
limiter. If you don't need this option, turning it off can save
some processing time.
Multi-processor Support
Selects which multi-processor/multi-core mode the audio
engine runs in.
See Multiple Processor Support.
Sample Rate Conversion
Quality
Specifies the quality level of sample rate conversion when
playing audio files with a sample rate different to the current
audio driver.
MIDI Devices Options
The MIDI devices page allows selecting which MIDI devices are enabled and other settings
related to these devices, including MIDI clock settings:
MIDI Ports
Lists all MIDI input and output devices.
Port Name Column
Place a checkmark next to the MIDI ports to be enabled
Only select the devices you’re actually using to save cluttering
the menus used for selecting MIDI devices and to save some
processing load.
Type
Indicates if the MIDI port is an input or output port.
Clock *
Indicates if Cantabile should send MIDI clock to an output port,
or receive MIDI clock from an input port.
Default Output Device
Specifies which MIDI output device MIDI is routed to by
default.
Default Sequencer
Device
Specifies which MIDI device MIDI media files should be routed
to by default.
Pass-through Device
Specifies a device that all incoming MIDI is passed through to.
Unhandled Pass-through
Device
Specifies a device that MIDI events not handled by any rack
should be passed through to.
* Cantabile Performer Only
102
Chapter 13 - Options
Plugin Options
The Plugin Options page contains settings relating VST plugins:
VST Plugin Folders
Enter the path of one or more folders containing VST plugin
modules. Separate multiple paths with a semicolon ( ; )
character.
The plugins found in these folders will be displayed in the
Plugin Selector.
Cantabile also uses the plugins in these folders when locating
the plugin associated with a particular preset or bank
(fxp/fxb) file.
Add Button
Displays the browse for folder window for locating plugin
folders. The selected folder is appended to the VST Plugin
Folders setting.
Include/Exclude Button
Displays a list of plugins that should be explicitly included or
excluded.
Excluded plugins are typically those plugins that encountered
problems during plugin scanning.
Included plugins are those that were browsed for using the
Plugin Selector’s Choose File button.
Full Scan
Discards all cached plugin information and scans the plugin
folders again.
Presets and Banks
Folder
Any program bank (fxb) or preset (fxp) files saved to this
folder will automatically appear in the Plugin Selector Presets
category.
If you create sub-folders in the program bank folder, the
plugin selector will duplicate this hierarchy (if the Group by
Folder option is selected in the plugin selector).
Browse Button
Displays a browse for folder dialog for setting the Presets and
Banks folder.
Explore Button
Launches Windows Explorer and selects the presets and banks
folder.
Default to Plugin Folder
When Saving Presets and
Banks
When selected all file dialogs for VST presets and banks
default to the directory of the associated plugin.
Can be used to simplify preset management when you like
keep presets and banks with the plugin they apply to.
Include Plugin Name in
Default File Name when
Saving Presets
Select this option to include the name of the plugin in the
default filename Cantabile uses when saving program .fxp files.
If you save all programs to a single folder this can be helpful in
keeping track which plugins a program file belongs to.
If you normally save programs to a folder specific to the
plugin, this information is probably redundant and you might
prefer to turn this option off.
Chapter 13 - Options
103
Single Column Program
Selector
Switches the program selector in the main window plugin slots
between single column and multiple column modes.
Use Wet/Dry Controls
When selected the mixer control in each plugin slot act as
separate wet and dry gain sliders.
When cleared, the first slider controls the wet/dry balance and
the second controls the overall gain of the plugin slot.
Automatically Open
Plugin Editor when
Loading Plugins
When enabled, causes the plugin editor's user interface to be
displayed immediately when a plugin is loaded is loaded.
Include uncategorized
plugins in Effects group
Normally all uncategorized plugins are shown in plugin
selector’s Other group. This option causes those plugins to
also be shown in the Effects group.
VST Knob Mode
Some plugins support various modes for knob controls - linear,
circular and circular relative. This option controls that
behaviour. Not all plugins support this feature.
Default Plugin Selector
Category
Determines the default plugin group displayed in the plugin
selector each time it is opened.
Recordings List Options
The recordings list page has settings affecting the recording list panel including pessimistic vs
optimistic recording and how the recording list is saved:
Pin All New Recordings
When selected, all new recordings are automatically pinned to
prevent deletion (optimistic recording).
When cleared, recordings are not pinned those to be kept must
be manually pinned (pessimistic recording).
Automatically Show the
Recordings List on New
Recording
When selected, starting a new recording will cause the
recordings list panel to be automatically shown.
Save the list of
recordings with the
session
Saves the contents of the recording list with the session.
Prompt before deleting
pinned recordings
When selected, Cantabile will prompt if you attempt to delete a
pinned recording.
Automatically Delete
Unpinned Recordings
When selected, any unpinned recordings will be automatically
deleted when the session is closed, a new session opened or
Cantabile is shut down.
Only Keep N unpinned
MIDI recordings
Controls how many unpinned MIDI recordings are kept.
When a new recording is started and there are more than N
unpinned recording, the oldest one is deleted.
Only keep N unpinned
Audio recordings
Same as above but for audio recordings.
104
Chapter 13 - Options
MIDI Recorder Options
The MIDI recorder options page contains settings that affect the MIDI recorder.
Save Recordings To
Specifies the folder where MIDI recordings will be saved.
Browse Button
Displays a browse for folder dialog that can be used to set the
Save Recordings To folder.
Filename Format
Specifies the filename format for recording files.
The filename format can contain placeholder variables to allow
recorded files to be date and time stamped, or incremented by a
counter. Click the right pointing arrow to display a menu of
available variables.
Note that if you use backslash characters in the filename format,
Cantabile will automatically create sub-folders and group your
recordings accordingly.
For example if the format string was $(mmm) wk$(wwm)\$(dy)
Recording $(###) the recorded files would be named like this:
Mar wk02\Sun Recording 007.mid where Mar wk02 is a
subfolder of the Save Recordings To folder.
Counter
Specifies the next value to be used by the $(###) counter
variables in the filename format string.
Split Recordings After
Specifies the amount of time (in seconds) of silence required
before a recording automatically ends.
Cantabile considers MIDI silence to be when all notes are
released and the three standard piano pedal controllers are
released.
Discard Recordings Less
Than
Specifies the minimum length a recording must be in order for it
to be saved. Automatic recordings less than this amount of time
are discarded.
Add Lead-in
Specifies the amount of lead-in time added to the start of
recorded MIDI files.
Only used for real-time MIDI recording.
Add Lead-out
Specifies the amount of lead-out time added to the end of
recorded MIDI files.
Only used for real-time MIDI recording. For musical time
recording, the recording ends at the end of the current measure
(bar).
Audio Recorder Options
The audio recorder options page contains settings that affect the audio recorder.
Save Recordings To
Specifies the folder where audio recordings will be saved to.
Browse Button
Displays a browse dialog that can be used to set the Save
Recordings To folder.
Chapter 13 - Options
105
Filename Format
Specifies the filename format for recording files.
The filename format can contain placeholder variables to allow
recorded files to be date and time stamped, or incremented by a
counter. Click the right pointing arrow to display a menu of
available variables.
Note that if you use backslash characters in the filename format,
Cantabile will automatically create sub-folders and group your
recordings accordingly.
For example if the format string was $(mmm) wk$(wwm)\$(dy)
Recording $(###) the recorded files would be named like this:
Mar wk02\Sun Recording 007.mid where Mar wk02 is a
subfolder of the Save Recordings To folder.
Counter
Specifies the next value to be used by the $(###) counter
placeholders in the filename format string.
Split Recordings After
Specifies the amount of time (in seconds) of silence required
before a recording automatically ends.
Cantabile considers audio silence to be when the audio level is
less than the the Noise Threshold setting (see below).
Discard Recordings Less
Than
Specifies the minimum length a recording must be in order for it
to be saved. Automatic recordings less than this amount of time
are discarded.
Add Lead-in
Specifies the amount of lead-in time added to the start of
recorded audio files.
Add Lead-out
Specifies the amount of lead-out time added to the end of
recorded audio files.
Noise Threshold
Specifies the audio noise level. Audio levels less than this value
are considered to be silence as far as the automatic recorder is
concerned. ie: levels above this value trigger the commencement
of audio recording.
Set Lists Options
The Set Lists Options page contains settings that affect working with set lists.
Search for Missing
Sessions in these Folders
Specifies one or more folders that should be searched for session
files that can’t be located. Multiple folders can be specified by
separating each with a semi colon.
Set lists store session file names relative to the session file itself.
This option should only be needed in the rare cases where
session files are in a different location to the set list file.
Add
Browses for folders to add to the above search path.
Automatically load the
first entry when loading
set lists
Causes the first set list entry to be automatically loaded when a
set list is opened. This option may be overridden by the
equivalent setting in start-up options.
Wrap from Last to First
When selected, attempting to move to the next session at the end
of the list causes the first entry to be loaded.
106
Chapter 13 - Options
Wrap from First to Last
When selected, attempting to move to the previous session at the
start of the list causes the last entry to be loaded.
Use Delayed Session
Loading
When selected, delays the loading of sessions with the next,
previous or first commands.
This option only affects the commands within Cantabile itself.
For MIDI assignments, there are separate assignments for
delayed vs instant loads.
See Delayed Session Loading.
Save Modified Sessions
Controls whether sessions are automatically saved, discarded or
prompted when using set list commands to load a new session.
Save Modified Set Lists
Controls whether changes to the loaded set list are automatically
saved, discard or prompted.
Metronome Options
The metronome options page controls the sounds used by the metronome.
Measure Sounds
Select the sound to play for the first beat of every measure (bar).
Choose one of the built in sounds or press the Browse button to
choose an external file.
Measure Volume
Adjusts the volume at which this sound is played.
Beat Sound
Select the sound to play for beats other than the first beat in the
measure.
Beat Volume
Adjusts the volume at which this sound is played.
Play this Sound on
Measure and Beat
Normally the Beat Sound is played on all beats except the first.
Select this option to have the beat sounds also played on the first
beat of each measure.
Test
Select this option to turn the metronome on or off for testing.
Keyboard Options
The keyboard options page controls the layout and usage of the on-screen keyboard , X-Y
controller and PC Keyboard capture mode.
PC Keyboard Layout
This option controls which keys on your PC keyboard can be used
for playing notes. Choose from one of two options:
 Two octaves starting on Z and Q
 One octave starting on A
When the two octave option is selected, the A key can be used to
release all held notes. When the single octave option is selected,
the Q key can be used to release all held notes.
Capture Mode
Chapter 13 - Options
Adjusts the scope of the keyboard capture feature. Choose from:
 Main Window Only
 All Application Windows
 System Wide
107
X-Y Controller Placement
Select whether the on-screen X-Y controller should be displayed to
the left or right of the on-screen keyboard, or hidden.
Let F12 Capture
Keyboard from Other
Applications
When selected, pressing F12 will capture the PC keyboard to the
on-screen keyboard even when Cantabile is not the active
application.
Only works when Capture Mode is set to system wide.
Temporarily disable
capture when focus is on
an edit control
When selected, the keyboard capture will be automatically
temporarily released if focus is in an edit control or a combo text
control.
This features only works for controls in the Cantabile process – not
other applications.
Use General MIDI names
in Program Selector
Select this option if you want to display General MIDI program
names in the program selector of the on-screen keyboard.
When using General MIDI program names, Cantabile displays
General MIDI drum kit names for Channel 10, and normal General
MIDI program names for all other channels.
X-Axis
Configures the operation of the X-axis of the onscreen X-Y
controller. Select which controller and the snap back mode for the
X-axis.
Y-Axis
Configures the operation of the Y-axis of the onscreen X-Y
controller. Select which controller and the snap back mode for the
Y-axis.
Restore Pitch
Bend/Modulation
Buttons
Restores the default behaviour of the associated axis.
External Tools
The external tools page allows configuring a set of external tools that can be launched from
other locations in Cantabile. See External Tools.
Tool List
Displays a list of custom tools.
New Button
Creates a new custom tool entry.
Duplicate
Creates a copy of the selected tool entry.
Delete
Deletes the selected tool entry.
Up/Down Arrows
Re-orders the selected tool entry.
Menu Text
The text to be displayed on the menu command for this tool.
Command
The command line to be executed when this tool is selected.
Arguments
Command line arguments to the tool.
Initial Dir
The initial directory for the tool.
Menus – Home Tab
Specifies that this tool be included in the Tools drop down on
Home tab.
Menus – MIDI Files
Specifies that this tool be included in the right-click context menu
for MIDI media files and recordings.
108
Chapter 13 - Options
Menus – Audio Files
Specifies that this tool be included in the right-click context menu
for audio media files and recordings.
Prompt for Confirmation
before Executing
Displays a confirmation dialog before executing the command.
Useful for destructive commands or to view the resolved variables
in a command line for diagnostic purposes.
Automatically Run on
Startup
Provides a convenient way to launch other applications when
Cantabile starts.
Customize
The customize page can be used to customize the Quick Access Toolbar.
Choose Commands From
Select a group of commands to show.
Left List
Displays a list of available commands that can be added to the
Quick Access Toolbar.
Add Button
Adds the selected command to the Quick Access Toolbar.
Remove Button
Removes the selected command from the Quick Access Toolbar.
Reset Button
Resets the Quick Access Toolbar to its default state.
Right List
Displays commands currently on the Quick Access Toolbar.
Up/Down Buttons
Re-orders the commands in the Quick Access Toolbar.
Show Quick Access
Toolbar below the
Ribbon
Controls the position of the Quick Access Toolbar – either above or
below the ribbon.
Resources
The resources page contains information about Cantabile, tools for checking for updates, links
to support email and websites and diagnostic and troubleshooting options.
Check for Updates
Contacts the Topten Software update check server to determine if
a newer version of Cantabile is available.
Automatic
When selected, Cantabile will automatically check for updates once
a day.
About
Displays additional information about Cantabile.
Go Online
Takes you to the cantabilesoftware.com website.
Contact Us
Sends an email to Topten Software.
Diagnostics
Displays options for diagnosing problems.
Chapter 13 - Options
109