Forums > MaxMSP

What's the midi change mssg for bank change?

Sep 14 2010 | 10:14 am

hi all,

Alchemy Player hosted in vst~ –

I can change voices in a bank using [midievent 192 X] – 192 being the midi number for program change. Does anybody know what the message number would be for switching _banks of presets (midi bank change)?

Also, someone posted a list (or a link to a list) of all of different midi messages that can be used with the midievent message – and I can’t find it on either of my computers! …..

And here it is! (thanks Simon)

There doesn’t seem to be a bank change message though????

… a bit more research suggested [midievent 176 00 X] – 176 being channel 1 control change, and 00 being bank select. It doesn’t work though. Max message boxes won’t accept 00 – always reverting to a single 0 – but that shouldn’t make a difference, should it?


Sep 14 2010 | 10:32 am

Solved it – after sending a bank change message, you have to send a new program change message. So it’s …

[midievent 176 0 X] followed by [midievent 192 X]

Sep 29 2010 | 4:01 pm

I am tryng to change the program in VSTi like Massive and I can´t do it. Anybody cans help me? What must I do?

Thanks in advance and best regards.

Sep 29 2010 | 5:56 pm

Just send the message [midievent 192 X], where X is the program number.

Sep 29 2010 | 10:20 pm

Yes, I´ve tried with that but it doesn´t work with my VSTi…

Thanks and best regards.

Sep 29 2010 | 11:08 pm

most plug-ins do not support preset and bank change via midi, because
mostz host programs dont.

but you can change presets by sending an integer to [vst~] like it is described
in the friendly helpfile.


Sep 29 2010 | 11:58 pm

[midievent 192 X] is programme change

[midievent 176 0 X] followed by [midievent 192 X] will give you a bank change followed by a programme change. I found that even if it was the same voice number in the new bank, I still needed to programme/preset change command to get it to work.

And this may not work with all VSTi – it works with Alchemy Player.

Sep 30 2010 | 3:01 pm

Thanks to both. I´ve tried with integers into messages, and midievent 176 with midievent 192 with Massive and FM8 (Native Instruments) and they don´t work. Anybody has tried with these VSTi?

Thank you again and best regards.

Sep 30 2010 | 4:33 pm

I’ve just checked the Massive demo, and [midievent 192 X] works for me as expected.
Note however that in Massive you have to create a "program list" first.
See manual page 91 for details.

Oct 01 2010 | 10:47 pm

Nothing, I don´t know what I am doing wrong, but I can´t do it… Thank you anyway.

Best regards.

Oct 02 2010 | 8:55 am

Does it work when sending program changes to Massive standalone?

Oct 03 2010 | 9:09 am

From Max/MSP? I haven´t tried. I´ll do it, but it´s the same with others VSTi: I can´t change programs, and I don´t know why, what I´m doing wrong…

Thank you and best regards.

Oct 03 2010 | 10:46 am

Here is a simple patch demonstrating how it should work.

-- Pasted Max Patch, click to expand. --

Oct 07 2010 | 3:53 pm

Yes, I´ve tried it with a lot of VSTs and VSTi and I can´t change programs… I don´t know what I´m doing wrong.

Thank you very much anyway. Best regards.

Feb 20 2011 | 12:16 am

Hi, same for me: program change messages do not work with Fm8 from maxmsp as a vst plugin. It works with standalone fm8 and midi….
any ideas?

Feb 20 2011 | 12:33 am

but in case you ever need it again: bank select is simply CC 0.

in opposite to program change it might even work in a few plug-ins,
such as the synths from arturia.

Jan 24 2015 | 7:33 pm

so is there really no bank change message you can send directly to vst~ object? It seems I have also run into cases where the midievent method doesn’t work. In any case I’d like to create a patch that I know will work with the most possible vsts..

Jan 25 2015 | 3:16 am

I don’t know how the following information relates with the implementation of VST instruments, but the MIDI implementation defines Control Change 0 (MSB) AND 32 (LSB) as Bank Select messages, to a achieve a theoretical maximum of 16384 different sound presets. In many hardware synthesizers you have to send these three values, in order: Control Change 0, Control Change 32, Program Change.

May 06 2015 | 11:19 am

Hi, I am trying to change the voice dynamically on my Roland synth. I have never used M4L before and the documentation makes no sense at all, just a lot of random values in examples that don’t seem to marry up with the MIDI spec. Is there a simple tutorial or code snippet that shows how to send these three messages in succession?

Many thanks

Viewing 19 posts - 1 through 19 (of 19 total)

Forums > MaxMSP