MIDI Processing Question



Question for the gurus out there. I am working on a song, where, if I play it live, I will run out of hands and keyboard space to play all the parts.

What would be really neat, and I am not sure if Cantabile and a combination of MIDI processing plugins, could do this, is as follows

I am holding down a chord. When I want a little bit of emphasis (whilst playing something else over the chords), press a switch on my FC300 which generates a MIDI event. Cantable catches that, and via some form of magic processing triggers another VST to do a bass wash using the bass note of the chord for the note to play. I.e. the bass note will be taken from the chord, but triggered from the same foot switch regardless of the chord.

Not sure if that is even possible, but thought it worth asking?

I know I could do this with some playing trickery (limit bass note to a certain range), have the sound decay and just retrigger by playing bass note again, but just curious if there are any bright ideas and techniques and pluins that could help :slight_smile:


I think I could do it with Bome MT. It would be complicated. In the Forte days before Cantabile, I used it a lot. The main thing it has C3 doesn’t is variables. I think you could “catch” the notes in variables, figure out the lowest note, and re-route. It would take a mess of nested IF statements.


@Derek When does the “wash note” get released? Note Off from the keyboard or release footswitch?


I may have misunderstood what you are trying to do, but if you’re not actually going to play the bass line live, wouldn’t it just be easier to pre-record the bass line in midi, load that in a mediaplayer (which is routed to your favourite bass VST) and then trigger the midi file using a note, pedal or button?


Thanks for the thoughts. It would be when I release the pedal. As I said, just really curious about whether such a thing is possible. I could not think of a way…



The intent for this mad cap request is doing this doing a live improvisation (no backing track). Doing it against a backing track would of course make it easy. As I said the question was asked more out of curiosity about whether such a thing could be done.


Having re-read I think I now see what you are wanting to achieve: pure magic!



This is doable with Bome MT. The trick is to figure out the lowest note, and what to do when the lowest note stops planing. After installing MT, you would create ports within C3 pointing to MT’s virtual MIDI ports. You then create a route from MT to your Bass Wash VST and a route from Main_Keyboard to MT. MT is a fill-in-the-blank type of coding, but functionally here is what needs to happen. I didn’t work out all the details because there are several different ways you may want this to work. Also, MT doesn’t let you have descriptive variable names, you only get 2 letters and a number.

. Setup variables Note_ch, Note_vel, Note_num // Three elements of MIDI Note On/Off message
. Lowest_Note // Way to remember what the lowest note played was (really only need note number)
. is_playing // flag to know if lowest note is on, changing lowest note

For Every Note ON:
. Capture Note_ch, Note_num, Note_vel
. If Note_num < Lowest_Note THEN Lowest_Note = Note_num // new lowest note
. If NOT is_playing THEN Lowest_Note = Note_num // Must have a new lowest note
. // kinda kludgy logic here, but not clear exactly what should happen

For Every Note OFF:
. Capture Note_ch, Note_num, Note_vel
. If Note_num = Lowest_Note THEN Is_playing = FALSE, Set Lowest_Note to Default(?)
. // This needs some work. I haven’t worked out exactly what happens when lowest note ends
. // May have to save “2nd lowest note” or have other default

ON Trigger:
. Send MIDI Note On message to Bass Wash VST Note_ch, Note_num, Note_vel
. Set is_playing TRUE

ON Trigger Release:
. Send MIDI Note Off message to Bass Wash VST Note_ch, Note_num, Note_vel
. Set is_playing to FALSE



Thanks very much for that. I have never heard of Bome MT before, so will need to check it out.

It might even help me in another scenario, where i have long dreamt of something being able to detect a chord I am playing and use that to select a lighting cue in DMXIS.

Something to look into.

Thanks again :slight_smile:


I don’t think it would help in recognizing a chord. But, I think there are some tools that do that. Also, be warned Bome has a steep learning curve.


Thanks, I like a challenge :slight_smile: