Changing presets/patches/voices/instruments/programs on your MIDI gear was rather easy in the early 80's. Having more the 128 instruments on a digital synth was unbelievable. So unbelievable that the original MIDI standard got a special command number( 192+channel #-1 ) and a 7bit number (0 - 127) to made the change.
The MIDI Music System software provided the command Sn to accomplish this. Insert Sn between two notes in a voice and the patch magically changes.
Then the future happened and synthesizer manufacturers added banks of 128 instruments. The MIDI controller 32 was assigned the task of controlling the least significant number and controller 0 as the most significant number to designate 128 banks of 128 banks of 128 patches. That's 128*128*128=2097152 patches.
Accessing that many instrument voices in MMS requires these commands
P32,LSB
P0,MSB
Sn
It is pretty simple as far as MIDI standards are concerned. But..... it seems every manufacture displays patch codes in their own way and deriving these numbers may require a close examination of the manual.
I've gone through my MIDI equipment and documented how to calculate the numbers from the front panel displays of the patch information. Your equipment will more then likely be different but you may find this of interest and I'll be able to use it as reference when next I forget.
--------------------
MIDIPlus miniEngine USB- a simple midi device with MIDI standard instruments, 127 possible sounds. Three digit display shows sound number. The miniEngine is supplied with a card with the MIDI numbers and names of the patches.
MMS command: Sn where n = 0 to 127.
Could it be any easier?
--------------------
KORG - MicroKorg - This MIDI device contains 128 user definable patches. The patches can be accessed by setting the Dial(bank select) , A/B button(bank side) and the 1-8 buttons(program numbers). These 3 settings define a 7 bit number that sets the patch.
The patch displays as (A/B bank side)(Bank Select Dial)(Program button).
display = (A/B) (X) (Y)
n = (A=0 or B=64)+((X-1)*8))+(Y-1)
MMS command: Sn
------------------
Yamaha TG33 - There are 5 banks of 64 voices. 1 - internal programable, 2- Card (card can hold 1 or 2 banks), and 2 - presets. Controller Command 00 and 32 are used to set MSB and LSB for bank.
Voice Display = (bank)X.Y Name
Set bank (page 104)
bank |
Voice Mode |
Multi Mode (?) |
Internal |
0 |
10 |
Card 1 |
1 |
11 |
Card 2 |
4 |
14 |
Preset 1 |
2 |
22 |
Preset 2 |
5 |
25 |
MMS commands
P0,0 MSB
P32, bank LSB
Sn ,where n = (X-1)*8 + (Y-1)
Have not worked with Multi Mode.
-----------------
E-MU Proteus 2000 - The Proteus 2000 ships with 4 banks of USER programable memory and 7 banks of COMPSER presets. More programed ROMs can be added.
Display: preset location, preset numbers, bank number, name (page 19)
MMS command:
P0,n |
Preset location (MSB) |
USER = 0 COMPSR = 4 more ROM = ? |
P32,n |
Bank (LSB) |
USER = 0-3 COMPSR = 0-7 |
Sn |
|
0-127 |
-----------------
KAWAI K1r - Patches can be made as Single(a combination of 4 wave forms) or Multi(a combination of 4 samples. Changing between internal memory and external (card M8) is done on the front panel(I,i,E,e).
Single = 0, Multi = 64
Capital letter = 0, Lower case = 32 (I = internal, E = external)
A=0,B=8,C=16,D=24
Number = n-1
Single iB-6 = 0 + 32 + 8 + (6-1) = 45 Command S45
Multi IC-4 = 64 + 0 + 16 + (4-1) = 83 Command S83
Switching between internal and card memory during MMS play - unknown how/if it can be done.
-----------------
This data is correct until I learn otherwise.
1 Comment
Recommended Comments