Totally confused concerning racks and rack states (C3)

I am entirely lost as to the usefulness and correct approach to using racks. As well, I cannot find where rack states are added - all I get when I create a rack is a drop-down to select a rack state, but there are no rack states listed there, and I have no idea how I actually generate any rack states to appear in there.

I have three tabs - Recordings, Set List and Song States.

I seem to recall once seeing the Song States tab change name to “Rack States” but I have no idea now when or how. (It may have been in Cantabile 2 that I saw this.)

Could someone spell out a useful scenario for using rack states instead of using the global rack alone and song states? A step-by-step sort of thing would be very useful for me - I’ve been (w)racking my brain over this for weeks! :blush:

EDIT: I should mention that I have succeeded in creating a rack, adding a Stereo Out and a Midi Out with that latter item assigned to a VSTi, but I can get no sound to come from it, nor do the midi lights light up for the VSTi (though they do for the rack), so I clearly am not getting it at all. And I did figure out sending my keyboard from the Global rack to the new rack I’d made, which is why the midi lights work at all, of course!) :wink:


Hi Terry,

point at the rack name and double click to open the rack

once the rack is open an icon will appear above the work area with the name of the rack you are editing. You can now add plugins and wire the rack. The position on the left toolbar that used to say “song states” now says “rack states” (with the rack open for editing). Select rack states and add new states there. Clicking on the icon above the work area with the name of the rack closes the rack. Don’t forget to save your racks and rack states either auto or manual.

I have been using rack states this way

  • I use the racks themselves to have preset common used groups of vst wired the way I want e.g organ with rotary plug and reverb or piano with preamp and reverb or delay. I use the rack states to cover all the possible scenarios for this instrument in my shows and then each rack state is available for drop selection when at the song level (rack editor closed)

  • I then build the songs by opening existing racks and wiring them into the song (controller and audio routiings ) and selecting the various rack states necessary for song.

  • I only add special plugins at the song level using this technique

  • I use song states to switch between different rack routings duiring a song

Since much of a persons use is subjective and the program is very robust as far complex control and routing goes it depends what you have in the way of requirements and how you like to work as to how you would go. You don’t have to use racks but when the upgrade for C2 is done it will turn any sub sessions into embedded racks (slightly different from standard racks ) I already have been fiddling with the racks a while and more uses are there but this is an example anyway. Hope this helps and that others add to the discourse because the uses are varied.


1 Like

Double-click it … really, it was that easy??? :relieved:

Can’t wait to jump in there a little later this evening! At last - the secret entrance is revealed!

(Tried right-clicking everywhere - never tried double-clicking anything!)

Thanks, Dave! I’ll get back with any findings or new questions, but I think I’m “in” now.


Hey Terry,

no need to duplicate Dave’s pointers on how to edit racks and how to create rack states.

Just on the “useful scenarios for using rack states”: it helps if you think of racks as preset-based 19’’ expanders in your setup: you create rack states as you would create presets on your hardware synths. For any song, you just select the synths you want to use (i.e. racks) and connect them to your keyboard using routes and mix the levels of your selected synths using individual rack levels.

I have a couple of standard racks (piano rack, e-piano rack, organ rack, synth rack, guitar amp rack, …) that I use for my songs. Each of them has some pre-configured sounds (standard piano, ballad piano, lead piano, rock piano, honky tonk piano, … for the piano rack, rock organ, blues organ, ballad organ, soul organ for my organ rack, etc).

My song-specific setups are normally a combination of presets from these racks in a layered or split setup. I do a static mix of these sounds’ volumes using the rack level setting (per song state - activated in “state behavior”), plus the option of dynamic volume control via pedal or slider, using volume plug-ins within the racks that I control via MIDI commands sent to the racks.

So racks help me keeping my setup organized and my sounds consistent between songs by re-using patches, still allowing me a lot of song-specific flexibility.

Hope this helps!



1 Like


Definitely helps! Thanks!


Just one more pointer - in case it isn’t obvious: a rack doesn’t need to consist on one plugin only. My piano rack, for example, consists of two main plugins (Pianoteq and Addictive Keys), plus a number of refinement plugins (EQs, chorus, compressor, and a main volume plugin). For any given rack state, only one of the main plugins is active, and a selected set of refinement plugins. Only the volume plugin is always on, wired to a MIDI assignment (CC #7).

Another hint: racks don’t need to have just one stereo pair as input: my main “volume & fx” rack has three inputs:

  • Main In —> all racks’ output is sent there
  • Reverb in —> goes to the reverb within the rack
  • Delay in —> goes to the delay within the rack

For each rack, I set up to three audio routes: one always to “volume & fx rack, main in”, but depending on requirements, also additional ones to “volume & fx rack, reverb in” and “volume & fx rack, delay in”, controlling reverb and delay levels by the individual levels of these routes. Since I control the rack’s level using the rack level fader, these “sends” are automatically “post-fader”.

I usually set my “volume & fx rack” state using some typical rack states, which look like “main reverb + 1/8 delay”, “main reverb + dotted eights”, “honky tonk bar reverb + quarter delay”. But sometimes, I want to customize the rack’s component states individually per song (some exotic combination of reverb & delay settings). That’s when I use “exported states”, which allows me to set the individual states for the delay & reverb plugin within the song (just open the rack, set the individual states - with “exported state” rack behavior activated - and close it again).

But now we’re really getting into some of the hidden magic :wink:




Hi Torsten,

thanks for this view on your workflow - it’s pretty clear so far. One thing I disn’t find a proper solution for is instantiation of a rack: specially for algorithmic vstis (but also for hammonds f.e.) I have the need to drive 2 instances of the same plug with different sounds and routings in one song from time to time.

Following your concept I’d simply store rack states of everything I need, call up 2 instances of this rack and chose the sounds I need.

But this is exactly what isn’t implenented (till now - I had some discussion with brad and understand his argumentation).

Of course it is easy to create a copy of a rack and store it under another name. So I can call up both of them and do what I described above. But then I get the problem to keep rack states of both racks synchronized afterwards.

Is this a problem you don’t really have (f.e. different needs, different workflow) or is there some easy workaround I didn’t see till now.

Thanks and regards, humphrey

Sorry Guys, I’ve had a hectic weekend and haven’t had a chance to answer these myself - thanks to those who wrote some great explanations.

@terrybritton - sounds like your questions are answered, or are there still outstanding concerns?

btw: I might add a right click “Edit Rack” command - this probably would have helped at your initially stumbling point. Although it is explained here, anything that reduced the need for docs is probably a good idea.



Ah - I had read that but it didn’t sink in!

Perhaps the line: “To edit the contents of a rack, simply double click it’s name in the parent song file (or select it and press Enter).” could be changed to: “To add to or edit the contents of a rack, simply double click it’s name in the parent song file (or select it and press Enter).” I was stuck in thinking there had to be some other method being used to add new contents to the rack! Duh (deluxe)! :slight_smile:

Any right-click enhancements are helpful to me - I’ve become completely programmed to right-click all over the place!


Hi Humphrey,

TL;DR: In a nutshell: the only real easy workaround is to edit only one primary rack and use regular automated copying to keep the second one in sync (overwrite the second copy)

In more detail:

So far, I’ve only needed one instantiation of my hammond, but I am using up to three instantiations of the Korg M1, my bread&butter synth for stock sounds.

And again, following the “19-inch-rack-expander” paradigm, I am treating these as three phsically different boxes, each with its own set of presets (one is part of my solo synth rack, so its bank contains mainly solo sounds, another is for digital e-piano sounds, so mostly classic M1 digipiano sounds here, the third mainly pad sounds for layers). So actually, I am pretty happy with maintaining three sets of presets, since these beasts do have different purposes in life.

Essentially, if you had physical boxes in your 19’’ rack, you would also need two physical instances of, say, your Hammond expander, having to edit and manage each of them separately. If you wanted the same sounds on both of them, this would mean copying from one to the other to keep them in sync. Same with Cantabile racks: if you want them to be identical, then the easiest way would be to do your editing on one of them and simply copy the rack file to your second instance now and then to keep them in sync (or use a simple batch script to do it regularly) - far easier than copying presets between MIDI expanders in the bad old days ;-).

Yes, @brad could try to build a synchronization mechanism between multiple instances of the same rack, but as I programmer, I think this would be pretty complex - especially when you consider pre-loaded set lists. Making sure that any change to one instance is reflected in the copied instance sounds like a challenge.

So, for the moment, I am pretty happy with my three DIFFERENT M1 racks; if I wanted synchronized racks, I would work with the approach outlined above

  • do all my editing on one version (Hammond Rack 1)
  • do an automated batch copy (cp /y HammondRack1.cantabileRack HammondRack2.cantabileRack) every now and then to keep them in sync

I have thought about using hard links to create identical copies of the same rack, but I guess that might have funny side effects with editing and pre-loading as well, so I’d keep it safe and conventional.



1 Like

I agree with everything Torsten said here.

I’ve considered how allowing multiple instances of the same rack could work but it’s not trivial to implement properly, and really not a big win.

An important function of racks is to wrap plugin instances in an “identity” - a global name that uniquely identifies a set of plugin instances and how they’re used across multiple songs. By allowing multiple instances of the one rack, this identity is lost again.



I finally got to dive in last night, but my Linplug Spectral instrument behaves strangely. It does not “listen” to patch/preset changes sent by Cantabile 3 unless the instrument editing window is open. Quite frustrating! I’d hoped to make more use of that.

(It does work fine if the window is open, also working only with window open using song-change triggers of the bank.patch format - but not without the window open.)

It receives banked patch changes from my K5000 synth, using bank format 2, whatever that means! (Options are Normal, 1 and 2)

I noticed racks do not have an accommodation for external hardware synths, but that’s ok - the Global rack works fine for me.


Also, tried two racks with different contents, thinking I could suspend one and activate the other in a toggle via song state change, but they remain in the same state. The one activated does not switch to suspended and the suspended one does not switch to active.

So, still a bit confused, but at least not “totally” any more! :smile:


try activating “Processing mode” in the “state behavior” list (bottom left in song state view) for these two racks. I think it is off by default; you need to set it to on for these two racks.

State behavior can be responsible for a number of funny unintended consequences (why is it set to “on” by default for the “enabled” property of audio routes, but “off” for racks’ processing mode??

Whenever something does not behave as expected on state changes, check “state behavior” for just about everything in your setup…



1 Like

What is it you want to do with external hardware synths that can’t be done with racks?

What I’ve experimented with:

  • create a rack for a hardware synth - this rack has MIDI In and MIDI out
  • within the rack create one or more routes connecting the rack’s MIDI in to the physical MIDI output the synth is connected to
  • create an audio route from the physical audio port your synth is connected to into a chain of plugins to process your synth’s output; send the end result to your rack’s audio out
  • use triggers (song state load) to send program changes to your synth on state changes → select a different preset for every song state on your external synth
  • what you cannot (yet) do (or am I missing something) is use bindings to connect controllers to control parameters on your synth - you need to use routes and filters / controller mapping to do that

With all this together, you can effectively encapsulate a physical hardware synth and make it look like any other Cantabile rack (control it via rack states, route its output all across your Cantabile song).

Not bad isn’t it??



1 Like

Hi, thanks for respondig,

To be completely clear: I had a discussion on this item with brad and he gave me sufficient explanation, why things are complicated. I understand and totally accept this!

My intention is probably driven by worflows I learned in the 80th (and this is the only thing I disagree with torsten ;-): if I’d take the “19’ hardware” approach, I’d definitely expect to have the same sounds available for more than one instance - this is what most of the multitimbral rack expanders provide (I’m pretty sure as I own some of them). For me this is still much more comfortable than predeciding to create several racks for the same plugin and organize them by sounds.

But hey, as often it’s all a question of workflow and sometimes it’s necessary to change it if necessary. Maybe it is a very useful idea to organize the racks soundwise as torsten described.

So thanks for hinting me to this and kind regards, humphrey

:wink: same here - cut my teeth on the first MIDI synths in the 80s, both multitimbral as well as single-purpose. Did a lot of stuff on my JV 2080 and its brethren - even lugged them around in a 19’’ rack for live usage :blush:

But of course a JV-2080 is a beast specifically built to be multi-timbral, with its 16 voices (and not a single one more), with effects needing to be shared and allocated, in itself a “closed box”. And no amount of fiddling would make my DX-7 16 voice multi-timbral :smile: - I’d have to go and buy more of them…

So I guess to replicate this experience you’d need either a truly multi-timbral VSTi (like Kontakt or HalionSonic et al.) or you could actually create a multi-timbral rack with two or more organs in it. Racks can have multiple MIDI inputs (or you could actually go the 19’’ multi-timbral route and filter routes to the various instances by MIDI channel). Knock yourself out and create a multi-timbral monster with 16 VB3 instances in one rack :wink: and just activate the ones that you need…

But the problem remains that these VB3s don’t share their presets - Cantabile’s banks are instance-specific. So you’ll still not get to a truly multi-timbral experience.

But maybe it is still a more efficient workflow for you - just build a rack with multiple VB3s and everything is at least in one place. And you can build wonderfully complex multi-organ setups within a rack and recall any such setup with one rack state…



Well, all in all it`s as often: the hunt for the ultimate final solution.

But I think I`ll be able to live with the things as they are and get around these small problems :wink:

Cheers, humphrey


“Processing mode” was the secret sauce that enabled Linplug’s instruments to work with the racks!

Thank you - I never would have guessed that one!



Figured it out thanks to your help here! Thanks for getting me on the right track. Now to find a good naming scheme for racks so I know what synth preset is loaded! :smile:

I have the synth coming through Cantabile and through a few plugins to get warmed up. Totally cool! Acceptable latency, too.