Cantabile now supports a MIDI filter to map continuous style controllers to a switch like controller.

  • A continuous controller is one that sends values in the range 0-127 to indicate a position.  eg: a slider, knob and some pedals report how far they're pressed.
  • A switch controller is one that sends only the values 0 or 127 to indicate released vs pressed. eg: most switches, buttons and pedals.

The requirement for this came from a user who was trying to use a continuous pedal with a piano plugin that only supported a switch style pedal but produced pedal release sounds.  The side effect of this was that anytime the pedal was moved the plugin would produce unexpected sounds of the pedal being released.

Previously Cantabile had no easy way to convert a continuous controller to a switch controller.  It could be done with bindings, but it wasn't ideal, and this new MIDI filter simplifies things.

To use the filter, bring up the MIDI filters for any route or port, click the Add button and choose "Controller to Switch" as the filter type.  The settings for this filter look like this:

The settings are mostly self-explanatory, especially if you're already familiar with Cantabile's other MIDI fitlers:

  • Apply To Channels: which MIDI channel(s) the filter should be applied to
  • From: the controller type (typically this will be CC Coarse) and the controller number (eg: 64 for damper pedal)
  • Threshold: the value of the continuous controller at which it transitions to "on"
  • To: the controller type and number of the switch event to generate
  • Off/On: the controller value to send when the controller is "off" vs "on"
  • New Channel: to generate the switch events on a different channel
  • Copy Event: when set the original event is also passed through unaffected

Note you can also make an inverse switch that's "on" when the value is below a threshold value by simply swapping the Off/On values.  (eg: set Off to 127 and On to 0).

That's it! Available now in build 4062 and later.