GM, GS and XG inside MIDI Locator

MIDI Locator
distinguishes between the MIDI mode of a loaded MIDI sequence and the current MIDI mode in your device as a result of MIDI events which arrived at the MIDI input of it. If you don't start a fresh loaded sequence and don't send anything to your MIDI device, both has nothing to do with each other. So you have two little information windows in the lower part of MIDI Locator's application window :




Different controller and instrument names in GM, GS and XG mode

In GM, GS and XG mode are some MIDI controllers which have the same internal controller number, but different meanings. In addition some controllers are only available in XG mode, some only in GS and XG mode but not in GM mode.

Another difference is the amount of instruments in your MIDI output device :

GM mode only offeres 128 different instruments, reachable by a program change event.


MIDI editor with open Databyte 1 combo box for selecting instrument program

GS and XG mode offer much more instruments, but because a program change event can only address 128 instruments, two additional controller events manage further choices :

Event controller with Databyte 1 bank LSB and event controller with Databyte 1 bank MSB. To make these controller names visible, you have first to enter a Sysex event which selects GS or XG mode.


MIDI editor with two controller events : Bank MSB and LSB

So you select an instrument in GS and XG mode with three MIDI events :

Controller event bank MSB with a selected bank between 0 and 127
Controller event bank LSB with a selected bank between 0 and 127
Program change event with a selected instrument between 0 and 127


MIDI editor with open Databyte 1 combo box for selecting instrument program

The values of MSB, LSB and program together address one of thousends of instruments.

E.g. if you address a specific instrument with the following 3 event values : MSB 1, LSB 0 and Program 2, then this unique three byte address selects an instrument which could have a different name in GS and XG mode.

If you build a MIDI sequence with the intention to be run in one of the three MIDI modes, MIDI Locator will help you in showing only controller and instrument names with their meaning of that MIDI mode.

MIDI Locator watches all MIDI events currently existing in your sequence, which determine to which MIDI mode it belongs.

If you have only GM events, MIDI Locator is thinking you make a GM file, if you have only GM and GS events, your file is supposed to be a GS file. One single XG event leads to the determination of a XG file.

Because a sysex event with a MIDI mode reset itself belongs to its kind of file mode (GS reset = GS file, as long as no XG specific events occur), the first thing you should do when creating a new file is to insert a GM, GS or XG mode reset. Therefore select inside the MIDI editor an event with the statusbyte sysex and the correct mode reset.

If you don't insert any MIDI mode reset, MIDI Locator supposes your file to be a GM file, if no GS or XG events occur.

Example :

Maybe you want to create a GS file. MIDI devices in GS mode don't understand the XG controller Brightness. If this controller is inserted in a GS file, it doesn't hang up your device, but at least stuffs your MIDI channel with unused bytes, unnecessarilly.

If you have inserted your GS mode reset and now go to add a controller event watch the possibilities of controller types :


GS controller in the MIDI editor

You see that the name of controller 74 is (not sup. in GS mode) (74). This is the Brightness controller, which is unusefull in GS mode.

Because till now your file is still a GS sequence (yet, you haven't selected controller 74) such XG controllers are titled not supported.

If you now select it, you have choosen a XG controller for your sequence. That makes your sequence to a XG sequence (watch the small information window Your File).

And now open the controller types again :


XG controller in the MIDI editor

Now all XG controller names are filled with text !

Because your file is now a XG file, the GS mode sysex event is wrong. Please insert the correct XG mode reset at the beginning instead of the GS mode reset.

Because MIDI Locator has to play all events in your file like they are created by author, it doesn't exchange a wrong mode reset. And a wrong mode reset can lead to wrong or unused controller settings.

Please always take a look at the window Current device mode while playing a sequence and confirm that your device switches to the mode which is shown at Your file.


Mode depending instrument names :

As soon as you determine a specific mode by a specific MIDI event of it, MIDI Locator also shows instruments with names of that mode.



The MIDI editor always shows the relevant instrument and controller names of the MIDI mode and bank selection which would be active when playing to this point. It does not show the name of the mode which is selected at your MIDI device, randomly.