C3 Utility Racks


Hi All,

I have seen posts where users had made utility type racks for everyday music use in Cantabile. If you wish you can share them here. A utility rack should be generic in nature, if you have specific vst or vsti racks you can post those separately or in the Racks Exchange thread. I will start the ball rolling with a simple rack I made that is helpful to me live. Please post your contributions with a description and Thanks in Advance!

Metronome Timer

This rack uses the Main Transport control bindings combined with trigger delays to start the metronome and run it for a predetermined time after a new song loads. It has 3 states 10 sec, 15 sec and 20 sec. I run the metronome ‘silent’ and use the tempo button on the Control Bar for count in reminders before starting songs. You just add it as a ‘Linked Rack’ to the background rack and done. It then works on every song that is loaded. Or just add it to the songs that need it.

Metronome Timer.cantabileRack (19.7 KB)



Metronome as cue for countoff?

Very nice work Dave :musical_score:


CC Momentary to Toggle

Hi all ,

Here’s another rack that converts momentary switch inputs into toggle switches. It covers CC #'s 0 - 127. I like to leave my controllers set to factory and then use Cantabile to manipulate the MIDI coming in and those controllers usually send momentary switch CC information, so when I want to have a toggle for a vsti with toggle switches I just pass through this on the way there. I included some preset states that include :

  • All CC# inputs converted
  • Only the Undefined MIDI CC#'s
  • The Undefined and General Purpose CC#'s
  • A CC#64 damper pedal only toggle maker
  • An All CC# Off for use as a starter state for creating custom multi and single states

All other unaffected CC numbers are passed through a separate route that goes with each state. The routing slot CC numbers are identified in the notes section and the Pass THRU slots that complement them on each state change are labeled and located at the bottom of the input routes list. To make a custom setup create a new Rack State and then copy one of the THRU routes and edit the filter on it’s input route to pass the CC#'s you want untreated and then just enable the CC number routes you need for your customization so that they compliment the Pass thru route you made. I removed my custom states (they got me started making this … lol) and made it as generic as possible. Below are the CC numbers that will be latched in the different multi modes I provided

Undefined MIDI CC numbers


Undefined and General Purpose MIDI CC numbers


Place in a song and route through it to the rack or plugin that you have toggle switches in them and select the state that works or create a custom one. I use it for the rocker switches on all my organs.

Momentary to Toggle.cantabileRack (844.9 KB)




Chord Holder

Hi All,

This rack takes normal Piano Pedal MIDI CC numbers and latches the held notes when pressed first and releases them when pressed again. It has 3 states, 1 for each pedal choice.

  • CC 64 Sustain Pedal
  • CC 66 Sostenuto Pedal
  • CC 67 Soft Pedal

Send your Keyboard MIDI input route through this Rack to your Vsti of choice.

Chord Holder.cantabileRack (29.7 KB)




Both toggle racks are super-useful for me! Thanks a couple million!! (The check’s in the mail…) :slight_smile:



MIDI Note Holder

Hi All,

This one was for fun but may have uses to others. I used to have a Yamaha CS-60 a long while back and it was an 8 voice Analog Synth. So I would program a kind of ambient patch and then use loaded cassette cases to weight different keys down. The machine would sometimes be left on for a few days this way and when I passed by it I would move the cases around to change it up the chord and harmonics, it produced some interesting and unexpectly pleasing sounds this way. The chord holder that was made from above works on the principle of the first time the pedal is pressed it turns on the cc# 64sustain for all notes played after that and then after the second press it turns off the cc#64 sustain for all the notes. This beast is different, it uses individual routes for each note (0 - 127). That way each note can be pressed and it will hold until pressed again or you can stop all notes and reset the rack by sending a cc# 64 or a cc# 67 message. In effect it latches the notes that are pressed and uses the same notes to turn off the latches. It also has a ‘All notes Off’ state that will clear the all the notes and reset the rack. There are different preset ranges that allow the use of it on only certain key ranges while leaving the others unperturbed. This is a lot like one of the Piz MIDI vst plugins but is made completely from C3 Routing and bindings. And the size of the file is not bad considering all the connections in it. I tried it out with 3 different older synth vsti’s layered and spread across the range and it was like before but even more fun and more notes to trigger ( and no cassette cases lol). I think @terrybritton and possibly Brian Eno :wink: might enjoy this one.

Just route a MIDI keyboard input to this rack’s MIDI In and use this racks MIDI Out to connect to a vsti or other route.


MIDI Note Holder.cantabileRack (578.0 KB)



Oh yeah - this one is going to get a LOT of love around here!!! :smile:



Hey @terrybritton

I made a few fixes to the recent note hold rack, you may want to re download it.



Will do! NOW! :slight_smile:



You go Dave !!! :grin:


MIDI CC Filter-Splitter

Hi All,

Another Utility Rack. This one splits and filters Defined controllers, Undefined controllers and notes. It has states for switching the desired data to the Main MIDI Out and has separate ports for each type of data. You just pass your Midi route through it and the filtered and split data appears at the output ports. Available ports pictured below :


MIDI CC Filter-Splitter.cantabileRack (83.9 KB)




MIDI CC Filter-Splitter Performance

Hi All,

Another Utility Rack. This one splits and popular performance CC data and notes with velocity. It has states for switching the desired data to the Main MIDI Out and has separate ports for each type of data. You just pass your Midi route through it and the filtered and split data appears at the output ports. Available ports pictured below :


MIDI CC Filter-Splitter Performance.cantabileRack (110.4 KB)




Pitch Wheel Converter Combiner

This set of converter / combiners have a broad selection of binding possibilities for live use. They have states that cover both isolated binding conversions and conversions combined with the original input controller CC#s. They also include reversing inverters on every possible combination included in each rack. To make it more usable I have made separate racks for the different controller input types normally used in live MIDI music. This first set of 3 offered here is for the pitch wheel. I made it with as 3 different racks because of the nature of the pitch wheel being spring-loaded and detented at 0. The range inside Cantabile appears as -8192 to 8191 The full range Pitch bend rack uses 0~16383 or -8192~8191. The pitch Bend Up rack covers Pitch bend up actions and the Pitch Bend Down covers the other direction. They all 3 bind to a variety of other common performance controller numbers and use state changes to switch the desired conversion and/or combination. Sample shown in the pic :


Pitch Wheel Converter Combiner.cantabileRack (848.5 KB)

Pitch Wheel Down Converter Combiner.cantabileRack (848.6 KB)

Pitch Wheel Up Converter Combiner.cantabileRack (848.7 KB)

Edit: There were problems with Pitch Wheel Down and reverse codes in all these racks, they are now repaired. Sorry for any inconvenience.




Channel Pressure, Mod Wheel, Breath Control, Expression Pedal and Sustain Pedal Converter Combiners

These racks are the other part of the series of racks for controllers started above. This set of converter / combiners have a broad selection of binding possibilities for live use. They have states that cover both isolated binding conversions and conversions combined with the original input controller CC#s. They also include reversing inverters on every possible combination included in each rack. To make it more usable I have made separate racks for the different controller input types normally used in live MIDI music. The group includes :

  • Channel Pressure
  • Mod Wheel CC 1
  • Breath Control CC 2
  • Expression Pedal CC 11
  • Sustain Pedal CC 64


Expression Pedal CC 11 Converter Combiner.cantabileRack (1.1 MB)

Mod Wheel Converter Combiner.cantabileRack (1.1 MB)

Breath Controller Converter Combiner.cantabileRack (1.1 MB)

Sustain Pedal Converter Combiner.cantabileRack (1.1 MB)

Channel Pressure Converter Combiner.cantabileRack (1.1 MB)




Controller Converter Multiplier Split Port Racks

Hi All,

This is a creative set of racks that are for controller routing, cc control and cc grouping and manipulation. The way they work is you that have a fixed input source (the rack name is input source) and that is then translated and separated and ported into each of the MIDI Out ports shown below. It can then be re-routed, grouped etc… Very powerful for creating special effects using the driving of many cc events from one control source.

Here is the list of source racks available. The Pitch Wheel Rack has 3 states, one for each control model (up/down, up and down) and the Sustain Rack has 2 states, one for continuous CC type damper pedals and one for Switch type damper pedals. On each Rack there are also filtered outputs to block the original controller CC or block both the original controller CC and the filtered CC’s we ported separately.


Pitch Bend Common CC Splitter.cantabileRack (360.9 KB)

Channel Pressure Common CC Splitter.cantabileRack (77.5 KB)

Mod Wheel CC 1 Common CC Splitter.cantabileRack (77.5 KB)

Breath Controller CC 2 Common CC Splitter.cantabileRack (77.5 KB)

Foot Controller CC 4 Common CC Splitter.cantabileRack (77.5 KB)

Volume CC 7 Common CC Splitter.cantabileRack (77.5 KB)

Expression Pedal Common CC Splitter.cantabileRack (77.5 KB)

Sustain CC 64 Common CC Splitter.cantabileRack (193.5 KB)



Pitch Mod Wheel Combiner

Hi All,

Another fun rack offering. This rack is for combining modulation with pitch bend stretches. The first 2 states are a normal Pitch Wheel state and a Reverse Pitch Wheel state and these are followed by the Pitch Wheel / Mod Wheel combination rack states. These states are graduated into 10 graduated steps of intensity ( 10%, ~ 100 % ) and the Mod Wheel is then re-tasked to switch between modulation added on pitch up and modulation added on pitch down. You just quickly flip the mod wheel to the direction you want to add modulation to while bending the notes and the other direction remains unaffected by modulation. I find using it kind of like channel pressure but using just the one wheel instead of one hand pressing harder on the keybed and the other stretching the note with the wheel.

The graduated intensity rack states operate as follows :

  • Firsts pull the mod wheel all the way down.

  • Next select one of the DOWN States (eg ‘Pitch DOWN Add Mod 100 %’ )

  • the mod wheel now switches between the DOWN and UP states with when fully thrown one direction or the other.

  • repeat the procedure to chose a different intensity from the list

  • If you want to reverse the Mod Wheel switching direction select the ‘UP’ State first instead of the ‘DOWN’ state

At this point you can freely try the different intensities out. A variety of MIDI Out ports are available as well for splitting out the different data streams. Route your controller to the MIDI In on this rack and connect from the MIDI Out to your synth or plugin.

pmod 3

Pitch Mod Wheel Combiner.cantabileRack (653.1 KB)




2 X 2 MIDI CC Filter Splitter Router Matrixer

Hi All,

This a Swiss army knife style of rack that can be used to easily route and mix 2 Keyboard Controllers to different destination synths and vsti plugins. You just select the global MIDI Port routing / combinations as shown in the picture to route and blend your controller inputs and / or …

route matrixer

you can do manual discrete output port taps and routing for special needs.

2x2 matrix 1

2 X 2 MIDI CC Filter Splitter Matrixer.cantabileRack (276.3 KB)




Some cool racks there, @dave_dore.

There’s one I think could be really useful, and I think it could be doable in C3, but I haven’t had time to investigate further - and that’s to generate asymmetrical pitch bend - i.e. where the down range and the up range are not the same. Many (most?) VIs don’t offer that as an internal feature.

The typical use for this would be to have the usual two or three semitones bend up, but one or two octaves down to enable “dives”.

In this case, you’d set the VI pitch bend range to the down (larger) range. Down pitch bend would be passed on unchanged, up pitch bend would be scaled to the smaller range.

Is this feasible?

Or maybe there’s a MIDI plugin already out there that offers this?


Hi Danny,

Yes, it’s feasible (of course, it’s Cantabile!). Set up a route into your plugin that filters out pitch bend info, as we’re going to send that in via bindings. Then set up two bindings as follows:

In the value boxes, the range mappings should be set up something like this:



Note the “Discard” out of range mode - this is important. If you use those values on a synth that has a ±12 semitones pitch bend range, you should find it maps to an octave down, and a minor third up (the minor third comes from that 2000, which I guessed…for other intervals you’d have to do a bit of trial and error).

You could of course use as many of these bindings as you like, for different portions of the pitch wheel range, allowing some pretty freaky effects!



Hi Danny,

Thanks for looking in, @Neil_Durant provided an excellent explanation of how to set this up. Here’s a small chart of the useful interval numbers for the different common pitch bend settings if you want to make your own.


The way the charts works is if you have the non adjustable synth vst set to the amount on the left then each semi tone you want to offset by would be added to the offset direction like Neil described. e.g For a 2 octave setting on the vsti you would leave the down range alone and use the 341 per interval to determine the up bend.