From within or outside of the Montage, what is the sequence of commands to do the following:
1. Call up a performance with all 16 channels defunded
2. Change the patch on each channel without changing the performance.
I believe this would answer many of those issues folks are having, especially me, with midi.
Thanks.
Hi
You have to send 'Bank select MSB' + 'Bank select LSB' + 'Program change' messages.
Note: all the commands are written in hexadecimal.
To load the Mutli/GM performance, send these 3 messages in this order:
B0 00 40
B0 20 1F
C0 7F
It will display the performance Multi/GM
Then, for each of the 16 parts, send on its channel:
Bx 00 MM
Bx 20 LL
Cx PP
with:
x = channel from 0 to F
MM = Bank MSB from data list,
LL = Bank LSB from data list,
PP = Program change from data list.
EG1: GM 'CP 2007' piano for part 5:
B4 00 00
B4 20 00
C4 02
EG2: Preset 'Barcelona' guitar for part 11:
BA 00 3F
BA 20 07
CA 4A
You can choose from preset or user or library for each part.
Hope that helps
To understand what and when you are recalling a Performance MULTI (all 16 Parts change); or when you are recalling an individual (Single) Part on an individual channel, please see page 187 of the latest DATA LIST Booklet: “montage_en_dl_g0” released about a week ago...
As you may know the General MIDI methodology is where each MIDI channel has a Bank Select (MSB/LSB) and Program Change. GM gear could be made inexpensive because the protocol made it possible to avoid having to use the expensive type of memory that stores your setups internally... GM uses a “Setup Bar” in which all your edits were written as Sysex and cc messages. This is similar to what the Data List refers to as “TYPE = Performance Single Part; Can be used when only specified Part is changed”.
All of these locations are given an MSB of 63. Then the LSB defines the MONTAGE Bank... followed by the Program Change 0-127
Non-General MIDI gear, (so called, “pro” gear because it’s more expensive) typically has enough memory to store your edits and sound selections as a group, recalling all 16 Parts with a message that addressed the entire unit... recalling the selections you’ve ‘stored’ in the Performance - the Data List refers to as TYPE = Performance Multi Part; Can be used when all Parts are changed”.
All of these location are given as MSB of 64. Then the LSB defines the MONTAGE Bank... followed by the Program number 0-127
Now just to complete the concept, you can assign a Performance to a LIVE SET, each LIVE SET location, like the MULTI recall, has an MSB 62. Then the LSB defines the Page... followed by the Live Set slot number
When attempting to send the MONTAGE Bank Select and Program Changes, the format is MSB-LSB-PC
MSB is Control Change 0... the value is always between 000-127
LSB is Control Change 32... the value is always between 000-127*
PC is it’s own category of Midi message and is 000-127*
* Live Sets have only 16 Pages, each Page has 16 slots
Giving Midi protocol 16,384 possible Banks of 128 Programs...