Can Cantabile be used as a sysex librarian

MIDIOX doing the job. Terry, I am just paranoid about losing my setups. With my MPK261 I control Ableton and C3 and other stuff simultaneously. With as much work I put into these configurations, I like to know I can back up the MPK261 configs. Tried recording midi sysex data in C3 with no success. MIDIOX is fine. If c3 could load sysex files on song selection, that would be very nice.

1 Like

As it turns out I was wrong, Cantabile does not record all midi events, my tests show only notes and velocity are recorded which is probably why it won’t record your sysex events. Sorry about that … however it would be great if @brad could remind or illuminate as to the way midi record works.


1 Like

I’m wondering, even if C3 doesn’t record sysex data if you had such data recorded already in a file would it send it out? Seems like it should… any existing midi data in a file is going to get sent right? I wonder if the recording of note/velocity info only is the result of a default filter setting.

1 Like

Not sure if you are aware that Cantabile allows to send sysex messages via bindings?

  • create a new binding, e.g. Song; OnLoad --> Your Synth - MidiIn; Action: SysEx.
  • click the “(no data)” in the second half of the “Action” column
  • Import any SysEx file, captured e.g. in MidiOx in the dialog that opens

You can encapsulate this in a rack and have individual sysex messages for every state (SongState; OnLoad). Now you can send any sysex patch to your synth by selecting a rack state - that does come pretty close to a librarian, right?



1 Like

That’s not correct - Cantabile’s midi recorder records all event kinds including sysex.

For sending sysex I’d recommend using a binding rather than MIDI recorder/player although there’s no real easy way to capture a sysex for that using Cantabile alone - you might need to use a third party tool to capture the sysex and then paste it into the binidng.


Much to my delight, C3 has become a very easy-to-use sysex librarian. Here is how. I will give an example of my MPK261 presets (or favorite presets that I am in fear of losing for some reason like accidental overwriting). This explains how to use C3 to capture a single preset config of the 30 on the MPK261, or all presets for filing (so I can muck up the preset banks again, if needed). Again, this will save sysex to a recording parked in a Cantabile Song File (aka my library) which I can then use via the media player to load my carefully organized library of sysex files/configs.


  1. Add a new input port and check MPK261, MIDIIN2 (MPK261), MIDIIN3 (MPK261), MIDIIN4 (MPK261)
  2. Edit the newly created port; Click MIDI Filters button, Add (drop down), Choose Sysex Encoder - Label Port “sysex store”
  3. Add output port and only check MPK261, Click MIDI Filters button, Add (drop down), Choose Sysex Decoder - Label Port “sysex load”
  4. Config Routing - Source = sysex store and Destination = Loopback - MPK261
  5. Add Object Media Player 1, delete stereo out, Add Route = MIDI Out and Destination = Output Port - sysex load

To Store:
A) Prepare MPK261 to Send Program (either all patches or a specified one). Do not send it yet.
B) Make sure “Ports to Record” include “sysex store” (checked)
C) Hit Record in C3 then “Enter to Send” on the MPK261, after sent (like 1 second or less for the MPK) stop recording by hitting the C3 record button again. (Make sure to name it)

To Load:
A) (If you haven’t already) Right click the newly recorded sysex and select Rename. Name the recording with the patch or bulk name you wish
B) Right click the newly renamed recording and select "Add to Media Player 1’s playlist
C) Hit play on Media Player 1 (not the big play button in the toolbar), and let it finish
D) Select another patch on the MPK261 to refresh the patch list, after which you will see your sysex loaded perfectly.

Note: If you don’t take note of the respective encoder/decoder setting in the MIDI filter, you are likely to get a patch that will not be selectable after loading due to data error (scary, but you can write another patch to it to reset the slot).

Why would I do this whole library thing?

I bring 2 laptops to gigs, 2 PA/Power Amps and Speakers (primary set/backup set), and have 2 keyboards (hardware synth/software synth). I am a paranoid back up monger. So this librarian solves the worry that my precious MPK261 configs don’t have a back up, as well.

Thanks to all who shared on this post.


BTW. All recordings in .mid format are stored in Documents\Cantabile\Recordings. If you delete them from the list, they are deleted from the computer (as opposed to clearing from the recordings list).

1 Like

Sorry I was mistaken and have gotten it to work for me, Thanks for the correction.


1 Like

Thanks for your input Dave. I built on your recording idea.

1 Like

Hi John,

Excellent work and glad I helped some how. Thanks for posting your solution for all of us!



Super! Trying this out in the morning!!! :sunny:


1 Like


I’m “try” to move now to change from Cantabile Performer 2 to v3.
Cause I nearly manage everything with CP, I also have songs/session/subsessions
depending on voices/performances from my hardware synthesizers.
So I trigger via sysex also the presets of my hardware synthesizers (beside my VSTi).
This works pretty good in v2 and can use the normal song/session/subsession functions.
For each preset I sended bulk data from the hardware synthesizers into triggers.
That means, I have hundrets of these triggers in v2.

How could I do this in v3 now? I would further use the song/set list/states function
in order switch through the presets of the hardware synthesizers.

Hi Bladerunner,

Since the new version has some very useful advantages like Linked racks which save memory and object based bindings which make it into a power control matrixer, there are new concepts to learn and consider for you particular use. Try checking link below for getting started crossing over from version 2 to version 3. You can try a few songs out after you make safe backups to see how much gets converted and what you need to change manually.


Hi Dave,

thanks for the information.
I have to try again to load old v2 session into v3. On my first try, I seems not successful.

But how I use new sysex in v3? How to send the bulk data from hardware synth to v3 and how
I could use sysex trigges as song/in a set list? Not only one sysex…sysex triggers like VSTi?


The only way I 'm aware of is from Howifeel’s description above

  • create a MIDI input port for recording sysex (it would appear in recording ‘Ports to Record’ panel) and place a sysex encoder as a filter on that new synth input port and record the sysex dump to a MIDI file and rename the file for later use by playback from a media player.
  1. Add a new input port in Tools > Options > MIDI Ports and name it so you know it’s for sysex in and add a midi filter to it that encodes Sysex

  1. Add a new output port in Tools > Options > MIDI Ports and name it so you know it’s for sys-ex out and add a filter that decodes Sysex

  1. Check the box for your filtered route to record it to a MIDI file

4)set up auto record on cantabile or start recording manually

br 25

  1. start the dump on your machine and when done recorder auto stops after 5 seconds no activity or you can press stop after the dump is finished and you have a MIDI file in the recording pane. It will be located by default in the Recordings folder in cantabile directory.

To send the bulk dump file back you can add a media player, set up the sysex output route to your synth, load the file in the media player. After prepare synth to receive if needed and press play on the media player and when file is done playing the sysex dump should be transferred

You can also send sysex using cantabile bindings, see below …

Here is an example of a Sysex ‘Binding’ in Cantabile. Triggers are still in Cantabile like version 2 and are located on the bindings page. The Source is selected, in this case the ‘Song Load’ is the trigger event that sends the sysex to the output port for the hardware synth. By clicking where it says (no data) we open the dialog box for setting the messages to send over. You can export the contents to a file for later import usage.


Edit: added more detail and corrections to the Bulk dump recording section

1 Like

Hi Dave,

thank you very much for the infos!
I get it work on that workflow.

Hi Bladerunner,

I got to looking at the dump procedure more closely and found glaring omissions on my part which I tried to correct in the editing, so you might want to take another look at the instructions I left.

Thanks and sorry for any confusion.


Just remember what Pat Benatar said, don’t use sysex as a weapon.

Sorry. I swear I will never post in this thread again.

Oh, and Dave said “dump”. Heheh. OK really, I’m done now.


Did I miss a Beavis and Butthead marathon today?

I also more accurately described it as a 'dump procedure ’ like any good technician would … :nerd_face:

1 Like