Since creating SmoothieVST I’ve created three more utility VSTs that might be helpful for my fellow Cantabile users. Each is downloadable (free) at the respective link below:
(1) CurveVST (https://github.com/hamlen/CurveVST): This VST offers a series of 11 “Curve” parameters that you can adjust to draw any controller curve:
Binding any source A to one of the VST’s “In” parameters, and binding the paired “Out” parameter to any target B, makes Cantabile act like there’s a binding from A to B that’s curved according to your drawn curve. The curves can have any shape (e.g., asymmetric), they can be adjusted at any time (e.g., changing curve points via bindings), and you can curve Relative Mode MIDI sources with it (my main reason for creating it), which Cantabile doesn’t currently support.
(2) SpreadVST (https://github.com/hamlen/SpreadVST): This VST acts like Cantabile’s Voice Allocator filter, except that it’s not limited to one active note per channel. By making several copies of a CPU-hungry VST (e.g., Omnisphere), and distributing incoming MIDI notes evenly between them using SpreadVST, I can often dramatically decrease the overall load on my multicore CPU and get rid of many audio glitches. (PizMIDI’s midiPolyphony tries to achieve this too, but I get stuck notes on it, and it doesn’t balance the channel loads very reliably.)
(3) SustainPedalVST (https://github.com/hamlen/SustainPedalVST): This removes explicit pedal events from a MIDI stream by instead delaying note-off events until the pedal is released. It’s useful for using sustain and sostenuto pedals with VSTs that don’t react propertly to them (e.g., many Kontakt instruments).