Help: Is it possible to add a new keyboard and redirect the controls?

Hey Guys,
My Akai mpk261 gave up again on me again. The mod and pitch wheel go bezerk due to cheap china pot meters. A pitty for such an expensive product. :-1: So cleaning with Deoxit is the only solution every 2 months. But due to the crappy plastic ribbon connections now the LCD screen doesnt work anymore. :-/

So I’m finally trying to hook up my Roland FA06. It should probably do the trick if I only can program and redirect some buttons.
Now is there a way to let Cantabile know that the FA06 is connected and create a filter redirect of buttons and controllers (+pads). I’ve found that the FA06 can function as a daw controller via the Ableton setting.

I’ve tried in the midi settings, but I can only add it to my main midi IN machines, but that way there’s no filtering.
I could also start adding the FA to every preset I created, but I hope there’s an easier way.

So I should problably find a way like this:
FA06 midi (+filter for pads, knobs and buttons) > forward to > Main midi input connected to all my Songs

Thanks again for your wonderful help here :slight_smile:

Hi Sven,

Sorry about your Axe, you played it into submission it would appear :wink: . I’m not sure if this will help but you can add filters right to the port by opening the filters in the port edit in Options. Here you can add your remapping filters I think.

I hope this helps. :slight_smile:



Yep, thanks for the swift reply :slight_smile:
I can do this, but this way it filters all midi keyboards in, so it should only filter for the FA06

The key to being flexible with your hardware and being able to replace keyboards without having to change your songs is abstraction - making sure that the controls you use are independent of the actual hardware connected.

Unfortunately, this requires quite a bit of groundwork, both in creating the mechanisms in the background rack and in your songs, using abstracted input racks instead of using the environment ports directly.

There are a couple of detailed posts on this in this thread: Designing New Virtual Rack- best way?

I have my setup configured this way, and adding a new controller or a new keyboard is now pretty simple and just depends on how I want to map its physical controllers and their outputs to my standardized abstract controllers and buttons.

Give it a read - it may be a bit too much to change your setup to something like this in one go, but maybe some of the ideas in the approach can help you here!



1 Like

wow very in depth explanation, thx thorsten

ok, getting somewhere with the ‘manual’ filters :slight_smile:
Can anybody explain how the MSB LSB work? I could use the category buttons as CC buttons maybe this way by filtering?
So redirect a program change bank select to a CC number ?

hm, by these settings I only go backwards (cc60) no matter what I press

hey guys, any tips on this? the program change buttons?

I did find another issue, I get double sounds from the pad now, so I guess the midi channel is double triggered somehow, need to check that also

Hi Sven,

Banked PG changes are indicated to the system by a combination of CC0 followed by CC32. CC0 is the MSB and CC32 is the LSB. CC32 is the Bank number. So when I send a banked PG change the remap filter would be focused on CC32. In Cantabile the MIDI monitor should show something like this when I send a bank 1 pg number 125 to the MIDI port. Does this help?




thx dave, I saw this in midiOX also and the monitor indeed. :slight_smile:
so what do i enter in the filter to program that button to send a CC instead of a PC?

I’m assuming your controller button sends Bank + PG change so I would ignore the PG change part of the group of messages and try to capture just the CC32 message and use it’s value.


or remap it


you can then strip the extra messages off using a suppression filter that blocks the PG change and CC0 value that was part of the message group. Be sure to place it at the bottom of the filter list. So using the the 2 filters your PG change from the controller becomes this single CC value.


before suppression filters


After suppression filters added


if you remap to a different CC (like CC40 in the example) from CC32 that is part of the PG change string of messages that I showed above and use the suppression filters I showed you get a clean single output like this.


whoa great ! gotta try