What's the midi change mssg for bank change?

davidestevens's icon

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! http://bit.ly/d5AGoQ (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?

thanks

davidestevens's icon

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]

MBM's icon

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.

broc's icon

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

MBM's icon

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

Thanks and best regards.

Roman Thilenius's icon

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.

-110

davidestevens's icon

[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.

MBM's icon

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.

broc's icon

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.

MBM's icon

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

Best regards.

broc's icon

Does it work when sending program changes to Massive standalone?

MBM's icon

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.

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

Here is a simple patch demonstrating how it should work.

MBM's icon

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.

miguelvb's icon

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?

Roman Thilenius's icon

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.

to_the_sun's icon

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..

Pedro Santos's icon

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.

Matthew White's icon

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