Specifications

So now you know that all sysex starts with f0 and ends with f7
The next digit in our stream is 43 (hex)
This is the manufacturer ID for Yamaha (the other manufactures all use a different number)
And again this is common to all XG units
The next digit is 10, this is the device id number, again this can be common to all XG units
Then we have 4C which again is pretty much found in all Yamaha XG units and signifies that the
main body of the sysex data is about to being
So if you stick to F0,43,10,4c,your data goes here,f7
Then you begin to see that sysex isn't too hard after all.
The bit for your data is basically the address location (much like in computer programming
languages such as assembler or C) that the information you wish to change is to be looked for,
along with the value that you want to give to it. For example:
If I wished to change the High Pass filter cut-off on an SW1000XG, Yamaha MU90 or Mu100
module , and set it to maximum value of 127 I would type the following into my event list
F0,43,10,4c,0a,00,20,7f,f7
The f0,43,10,4c and the final f7 you should already understand
The 0a,00,20 is the address location of the parameter for the High Pass filter
The 7f equates to a value of 127 in decimal, and this is the maximum value that the filter may be
set to (on screen it appears as +63 as the filter can also be set to negative numbers down to -64)
(-64 to +63 = 127 discrete values)
7f will always be the largest value of any data byte in sysex for XG devices
If I wanted to set the value of the filter to a value of -64 I would send F0,43,10,4c,0a,00,20,00,f7
And as you can see the only thing that has changed is the second to last digit
Easy really
In the manual at the back for all Yamaha products is a full list of all
of the sysex data bytes shown as address locations and ranges (0-127 for
full range) (0 -1 for on/off switches)
To read them just look up the parameter you wish to edit or adjust, and
enter it in the bit shown earlier (the your data goes here bit!)
The easier way to do this is to get hold of XGEDIT or XGworks, whichworks it all out for you!
Some useful XG messages
All XG synths will respond to the following sysex messages:
GM Reset - F0 7E 7F 09 01 F7
This sysex string forces the synth to resets all parameters to their General Midi defaults. Since XG
is a superset of GM, the string should be included at the head of all XG song files to ensure non
XG synths can at least make a reasonable attempt at playing the file.
XG Reset - F0 43 10 4C 00 00 7E,00 F7
This string forces the synth to switch to XG mode and reset all parameters to their XG defaults.
The string should be included in all XG files after the GM reset.
XG Reset All - F0 43 10 4C 00 00 7F 00 F7
This string forces the synth to switch to XG mode and reset all parameters to their XG defaults. In
addition it forces any synth system parameters to be reset to their factory defaults (this includes
the SW60XG mixer and any User Performance memories). Since this string performs such a
catastrophic reset, it should only be used where absolutely necessary and NEVER EMBEDDED IN
A MIDI FILE.
GS Reset - F0 41 10 42 12 40 00 7F 00 41 F7