Cantabile used as a Vst rack

Hello,
I haven’t downloaded the demo yet, I’d like to check if Cantabile might be a flexible environment to host some Vst plugins to process audio input in real time.
I have a complex audio routing with three independent and parallel signal flows, you can have an idea from this screenshot: http://www.unguitar.com/wp-content/uploads/2015/12/routing.gif
I need to control each Vst bypass, presets and some parameters via midi.

I see Cantabile is mostly used ad a Vst Instrument host, what about an audio processing platform?

Thank you,
Luca

Hi @unguitar

Yes, Cantabile is primarily a VST host and designed primarily for keyboard players but can certainly double up as an audio processing platform - through you’d need to try it yourself to see how well it suits your requirements.

I recommend you grab the trial and/or watch the Ports and Routes video which covers the basics of audio (and MIDI) routing in Cantabile and might give you a better idea of how things work.

And of course, feel free to ask questions either here or email me directly.

Brad

Hi Brad,

I’m working to check how I can reproduce my processing environment in Cantabile.
I’d like to ask you a few questions:
1.Is there a list of the possible midi tweakings you can control via midi? For example I see no chance to control each single input and/or output ports’ values ( volume) in and out of racks or bypass state for each plugin
2.I have multiple midi controllers sending the same commands ( say a pedalboard and an Ipad) to allow me to have full command of my setup. I see Cantabile considers each one as a different one. Is the only workaround to use a specific midi routing app ( Midiox for example) to route each incoming midi command into a unique virtual midi input port the only solution or does Cantabile have an internal one?

Please consider I use it only for processing purposes, no virtual instruments or synths, hence no keyboards.

thank you!

Hi Brad,
I’ve found how to bypass Vst’s ( not how to control input ports though) via midi.
I see bypass doesn’t suspend the Vst from processing as there’s an additional and separate control to let it do so.
I find weird that to get bypass and save Cpu and Ram you get an audio path interruption as “suspend” is breaking audio flow out of that specific Vst.
It would be interesting to know why this as I was expecting bypass would have released vst process in the background and suspend wouldn’t have broken the audio flow.
thank you

You can make a MIDI merge rack with 2 MIDI inputs and one output (internally both rack inputs just connect straight to the rack output) and then use the output of that rack as your merged “virtual port”. You can also do this in your MIDI settings I believe, but making a merge rack gives you extra flexibility (eg specific filtering for each MIDI controller, potentially different for different songs etc).

Neil

2 Likes

Simplest way to solve this (if you only want to combine input from both controllers into one input device) is to just assign both physical MIDI ports to one of Cantabile’s MIDI ports (e.g. Main Keyboard) via Tools->Options->MIDI Ports->Edit

Then simply connect this MIDI port to your plugins via routes → all MIDI input from both of your controllers goes through this route. You can also filter out specific controllers, channels etc via the MIDI filter settings of any individual route.

If you want to do do more sophisticated filtering while merging your input streams, then I’d suggest you follow @Neil_Durant’s suggestion of creating a specific “merge” rack to encapsulate all the magic in it.

Overall, I’d suggest that you use @brad’s excellent videos, especially on Routes (connecting your complex setup) and on Bindings (controlling parameters of your setup via MIDI). I believe that Cantabile is definitely more than powerful enough to control your setup.

BTW: some hints on how to implement your setup:

  • rack and song states are very powerful: you can switch a complex configuration of your setup with one simple state change

  • Instead of activating / de-activating / bypassing racks, it may be smoother to simply de-activate MIDI / Audio routes to the respective racks, this can be done via states (see “state behavior” for these routes) or even via Bindings (but to enable Routes as targets for Bindings, you first need to give them a name: select the route, then Edit->Rename. Now you can create a Binding that enables / disables the route). Provided you don’t need to de-activate plugins to save processing power, this can be a very smooth way to simply turn off the plugin’s input - for example if you still want the reverb tail of previous sounds to keep decaying, just not any fresh input to a reverb.

  • if you want to truly suspend a plugin via MIDI for processing power reasons, you can simply create two simultaneous bindings to that plugin from the same controller: one that bypasses it and another that suspends it.

  • if you want to control a single output port’s level via MIDI, simply connect it to any reasonable gain plugin like FreeG or BlueCat Gain before connecting that plugin’s gain to your target. Now you can control this plugin’s “Gain” parameter via a MIDI Binding. Same applies to an input port: connect it to a gain plugin (managed by a binding) and then use that plugin’s output as your “controlled input port”

  • You can even do this inside a rack: imagine you have an effects plugin with two stereo output ports and you want to control the volume of these two ports separately via MIDI. Simply connect Output 1 of your effect to FreeG#1, Output 2 to FreeG#2, connect the output from those two FreeGs to two separate Rack output ports (you can create multiple outputs for a rack). Now create bindings in this rack from Rack MIDI in, Controller 71 to FreeG#1 gain and Rack MIDI In, Controller 72 to FreeG#2 gain. Now you can control the two individual outputs by sending Controllers 71 and 72 to the rack’s MIDI in port.

Cantabile’s concepts of songs, racks, states, routes, bindings and triggers are super-powerful - it’s like a programming language. It pays to learn it with a few simple examples before tackling a setup as complex as yours.

Cheers,

Torsten

2 Likes

@Torsten: Once again an amazing explanation !
@Neil_Durant: Wonderful as well !!

This forum is the most informative, and friendly I’ve ever seen. I usually visit daily and learn something new. I am really awestruck as to how deeply Cantabile can be programmed. Thanks for all your input!!

1 Like

Note also that you can control a Cantabile route level using a binding, so in many cases you don’t even need a gain plugin.

Neil

2 Likes

Right - forgot about that one! Guess I’m just a creature of habit…

1 Like