GM to XG MIDI File Conversion
(Using Cakewalk Pro Audio Ver. 9)
PART TWO - CONVERSION & SYSEX
![]()
| COMMENTS: Many MIDI files
have up to 16 channels of data. Number of notes sounding at one time
may require a polyphony of up to 64 notes. Each channel requires a separate
sound module in your Synth to reproduce the Patch (program change).
It stands to reason that if you have a low-priced synth with only 4 to 6 sound modules, that is the maximum number of channels you can play. You may have to delete some tracks from a midi file to be able to use it. Also, if your maximum polyphony is only 20 to 28 notes, there may be some cut-off of sounds when the maximum polyphony exceeds that total. A modern sound card such as Creative Labs SoundBlaster Audigy 2 can play 16 channels and up to 64 notes of polyphony. This is why many MIDI authors use their sound card instruments for creating and playing back files. Check your manual to find out
these details for your particular instrument.
|
| GM/GS to XG CONVERSION. |
| Open Cakewalk 9. From the menu, select File | Open. Browse to the "GMtoXG" folder which you have installed, and click on the sample file "S48kgm.mid" to select, then click the "Open" button. |
![]() |
| This is a perfect GM File.
There is no sysex included, and the Bank select is blank "---". When a
GM file is created using a Roland synth, the Bank select would show as
zero (0). This has no impact on Yamaha equipment, but some Synths,
such as a Korg, have no instruments in Bank 0, so the file would only play
"garbage".
You will notice that the "DRUMS"
track (channel 10) is showing as "0". This is not valid for Yamaha
XG, and we will fix it after we rename the file.
|
| To preserve this original file, click on File | Save As, and the following screen will open. Insert cursor just before ".mid" and add "-XG" to the name portion. Make sure "Save as type:" is set to MIDI Format 1. Click the "Save" button. |
![]() |
| After saving, the revised name
will already be loaded in Cakewalk.
Scroll down the Track View, keeping your eye on the channel numbers, and look for Channel 10, which in this example is track 10. Note that the patch number is 0 and the Bank is blank ("---). Both the Patch and Bank must be corrected for use with XG devices. Double-click on track 10 under the "Patch" or "Bank " heading, and the Track Properties window will open. |
![]() |
| During initial Cakewalk setup
we assigned Yamaha XG Drum Kits to Channel 10, as correctly indicated beside
Port: and Channel: above.
Leave Bank Select Method: at Normal * |
![]() |
| Click the down arrow in the
Bank: select box and select "16256-XG Drum Kits". A little explanation
is required. Yamaha Drums and Drum kits are located in Bank 127.
(The Bank select controllers MSB = 127, LSB = 0). HOWEVER, Cakewalk
has a unique method that uses a formula:
128 x MSB + LSB. Translated this equals, 128 x 127 + 0 = 16256. Therefore, in Cakewalk, the XG Drum Kits are shown as Bank 16256. |
![]() |
| Notice that the Bank has changed
to 16256-XG Drum Kits, and the Patch number has changed to 1 Standard Kit.
Click the "OK" button to close this window. From the main menu, click File
| Save.
There is no Sysex file currently
loaded. Depending on your Synth, it may not be required. Play
the file now and make sure that the drums are playing normally. Also that
the instruments sound right. If not, you need to Double-Click under the
"Bank" heading, one track at a time, and select Bank = "0-XG Bank 0", then
the OK button, until it appears as in the image below:
|
![]() |
| If your Synth supports XG,
you need to load "xg-reset.syx".
From the Cakewalk main menu, click on View | Sysx (or the sysx button). |
![]() |
| You will notice above, that all the Sysex banks are shown as <empty>, indicating there is no Sysex message associated with this file, as we stated above. If you know your Synth supports "XG", then we must load the proper sysex now. Refer to the icons in the toolbar at the top of the Sysx screen you just opened and Click on the File folder icon (which I have circled in red). Files of type Sysx Binary will now be showing in the cw9 folder. Click on "xg-reset.syx" then on the "Open" button. |
![]() |
| Final step is to set the "Auto Send" for this bank of sysex, see below. |
![]() |
| Click the green "up-arrow" (6th
from the left on the Sysx window tool bar) and a check mark will appear
under the "Auto" heading. Click on the "x" in the title bar (upper right
corner) to close this screen.
Again, from the main menu, click
on File | Save and the sysex will be saved with the MIDI file.
|
![]() |
| Click the "OK" button. PLAY YOUR REVISED FILE~~ BE PATIENT, THIS FILE DOES NOT START UNTIL MEASURE 7. |
|
|
| A DIFFERENT VARIATION! |
| Close "S48kgm-XG.mid"
Browse to the "GMtoXG" folder
and click on the sample file "100498.mid" to select, then click the "Open"
button.
|
![]() |
| Scroll down the Track View,
keeping your eye on the channel numbers, and look for Channel 10, which
in this example is tracks 8 and 9. Note that the patch number on
track 8 (Drums) is 0 and the Bank is 0-No Drums. On track 9 (Percussion)
there is no patch number and no Bank entry. Track 8 is the main drum track,
and the author has added some additional drum notes on Track 9. Both
are on channel 10, which is the required channel for drums and percussion
instruments.
One difference in this file is that instead of the Bank being blank ("---"), all instrument banks are showing as 0-XG Bank 0. Bank zero was already in the file, and since we have defined our instruments as being XG, "-XG Bank 0" has been added automatically. This is a good indication that the file was created using a Roland synthesizer. The number 0 for patch on track 8 is because a Yamaha Bank has not yet been assigned and Cakewalk is using the default 0-127 numbering system. This difference will be fixed automatically by Cakewalk. Double-Click Track 8, channel
10 to open the Properties dialogue box.
Double-Click Track 9, channel
10 to open Properties again.
|
![]() |
| Notice in the new image above,
both tracks 8 and 9 now indicate a patch number of 1 (Standard Kit) and
a Bank of 16256-XG Drums. This completes any corrections required,
with the exception of Sysex.
From the Cakewalk menu, click on View | Sysx and the following screen will appear: |
![]() |
| This has a GM system on, a GS
Reset, and some setup information in Bank 3 for the Roland synth. We want
to delete all of these. Click on the 4th. button from the left in
the Sysx window toolbar (like an X) to delete. Then click OK in the pop-up
box. Next select Bank 1 and repeat. Same thing for Bank 2, until
all banks show as <empty>. Move the cursor back to Bank 0.
Click the File folder icon and load "xg-reset.syx". Don't forget to click the 6th. icon (Up-Arrow) to turn "Auto-Send" on. From the menu, click File | Save.
Then, File | Close.
You can confirm the sysex by again clicking on View | Sysx and it should appear as in the following: |
![]() |
| There are MANY more variations of GM/GS MIDI Files that you will run across and may have difficulties with. We suggest you read on a little futher to see what you may encounter. |
|
|