program changes translator

LaimisV's icon

Hi,

Is it possible to translate program changes? If comes program change number 100 convert it to 32?

For example:
Playing MIDI clip with program change 100, VST synth getting 32.

madjax's icon

Hi Lamisv,

set the VST synth to receive program changes on a different channel than the program changes that are coming in that you want to translate, then use a pgmin object, a select object, bang your substitution when 100 is received, and send it back out through a pgmout object on a different channel.

pgmtranslate.maxpat
Max Patch
broc's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Live doesn't handle separate midi channels internally, all midi data is merged on channel 1. So you need another solution, for example using [midiselect] like this.

LaimisV's icon

Thanks a lot, it's working fine. How to change/translate sub bank from 1 to 5 (and the same program 100 to 32 as well)?

broc's icon
Max Patch
Copy patch and select New From Clipboard in Max.

The sub bank message uses CC32. So you can add a corresponding translation.

Edit: patch modified/corrected.

LaimisV's icon

Thanks BROC!