GM to XG MIDI File Conversion

(Using Cakewalk Pro Audio Ver. 9)

PART THREE - MORE VARIATIONS

 
CAUTION: All of these exercises require that your Output Device connects to your Yamaha keyboard or module.  If, for any reason, you have changed the output to your soundcard wavetable, the Instruments assigned to 0- Yamaha XG will be lost.  Your must re-assign all channels to Yamaha XG, and Channel 10 to Yamaha XG Drum Kits, as described in Part One, before proceeding.
 
Trouble-shooting may still be required to make your particular model of Yamaha Synth be able to play the file you have just converted, after adding the xg-reset.syx.   If the file does not play correctly, It may also require a gmsystem.syx. However, the gmsystem must be in Bank 0 and the xg-reset in Bank 1. DO NOT ADD THE GMSYSTEM IF IT IS NOT REQUIRED..

With a MIDI file still loaded, click on View | Sysx.  You must first DELETE the xg-reset.syx.  Then with Bank 0 selected, click on the File folder, and select gmsystem.syx. Click "Open". Don't forget to click the Icon to "Auto-Send Bank"
Now Click on Bank 1.  Click the File folder and select xg-reset.syx.  Click Open, and again the Up-Arrow for "Auto-Send Bank". Sysex screen will now appear as below:

Again, from the main menu, select File | Save to include the new sysex.
Then File | Close
Re-open file from the history list by clicking on File.
When the Auto-Send Sysx window opens, click "OK".
To confirm your new Sysex, click on View | Sysx and it should appear as follows:
 
 
Open the file, "BestOfMyLove.mid".  On the "Auto-Send Sysx" screen, click "Cancel".
At this point, click on View | Sysx. Your will see Bank 0 contains a message that has nothing under the "Name" heading.

To see what it actually contains, click on the "Edit" button (8th. from the left).
You will see: F0 41 10 42 12 40 00 7F 00 41 F7 F0 41 10 42 12 40 00 7F 00 41 F7
The first byte is "F0" which means "pay attention I am sending a message". The second byte "41" means that the message is for Roland instruments. If it were meant for Yamaha instruments, the second byte would be "43". The eleventh byte is "F7" which means the message is complete.
You will see that in this unamed sysex the same message has been repeated twice. If the second message were different, it must be in a separate Bank.
Click "OK" to close the edit screen.
Select Bank 0 and delete this message.

Click File | Save As  ... append "-XG" to the name and click "OK".
CAUTION: Do not close file at this point as the Patch information will be lost on all tracks that are showing 0-General MIDI as the Bank!

This file has several tracks with no channels indicated, and the Bank is showing as 0-General MIDI, as illustrated below. This is because the assignment of XG Bank 0 is determined by the channel number.  As there is no channel indicated, no assignment has been made.

Under the "Chn" (channel) heading, you will notice that none are indicated between 2 and 6, and if you scroll down, none between 6 and 9. There are also 3 Tracks indicating channel 10. Since all the channels seem to have been arranged in numeric order, we can assume that the missing numbers should follow in sequence.  However, we do not want to "guess" so we have another tool to use which will confirm or deny our assumption. 

On Track 4, click once under the "Chn" heading to select the track.

Selection is indicated above by the Red square.

Now for our new tool.  With track 4 selected, click on View | Event List.  This will show all the MIDI events for that track.

This shows every event for the channel, which you can see by scrolling down.  Although it is track 4, under the "Ch" heading you will note that the actual channel is "3". This confirms our original assumption that the channels would follow in sequence. 
Just to be sure, select each track that has no channel indicated, Open the Event List for each and confirm under the "Ch" heading. You will see that all channels are indeed in order.

Now double-click each blank channel and enter the channel number in the Track Properties dialogue box.  Click "OK" to close each entry.  As you do so, you will notice that the Bank will change from "0-General MIDI" to "0-Yamaha XG".

Scroll down so that all three Channel 10 tracks are visible.  First one indicates Patch 0, and the next two are blank.

Double click Track 11 (Drums) to open the Properties dialogue.  Make sure the Bank Select Method is set to "Standard *" as another file may have changed the method to Controller 0. In the Bank: drop-down list box, select "16256 XG Drum Kits". Notice that Patch 0 changes to Patch 1 Standard Kit.

Do the same on Tracks 12 and 13.  Making sure Bank Select Method is set to "Standard *", select Bank: 16256 XG Drum Kits, select Patch: 1 Standard Kit, in that order.

Final step is to add the sysex or combination that works for you.
View | Sysx then select the correct file(s).

Now, File | Save
File | Close
Re-open file. Click File and from the history list click on item "1 BestOfMyLove-XG.mid".  This list at the bottom of the file menu always has the last saved file in position 1 so it is easy to re-open.
Click OK to Auto-Send Sysx.
File should play just fine now.

 
 
The next screen shot is of a file that is next to impossible to fix.  I have not included the MIDI file for that reason.  It is my guess that someone has messed with this file since I can not believe a professional backing tracks MIDI would be in this condition.
The only clue to instruments (Patch) is on track 1, Rock Organ, but you will notice that no channel is assigned. Also there are no clues under the "Name" heading for any of the channels.

With Track 1 selected, click on our new tool, View | Event List.

Here is a clue! Channel is indicated as 4, but there is no note data!!  There is a Bank Select, control 0 with data of 0, and control 32 with data of 46.  This is invalid for a Yahama instrument.  Both lines must be deleted.  However, go immediately to Channel 4 and double-click to reveal track properties.  For Bank, select 0-Yamaha XG and for Patch, select 19 Rock Organ.

Now try and find a channel that could be a Bass track.  Select Channel 1. View | Event List. 

Scroll down a little until you come to several notes.  You will see they are in the range of  F6, Bb4, G#5, D6, Bb5, AND all were played at the same starting time of 3:02:128.  This could be a Piano track, Guitar chords, or?

Now select Channel 2 - Track 3. View Event List.

Looks like it could be a Bass.  Low range of Bb2, and each note is at a different time, indicating a single note instrument. I Tried this and it seems to be true, we just don't know which type of Bass was used. 

Select Channel 3 - Track 4. View Event List with file right at beginning.

I find this track confusing.  The Sysex file was a GS Reset.  However the two Bank selects are not typical for Roland.  Continuous Controller 0 (the MSB) is 127, and Continous Controller 32 (the LSB) is also 127.  This could be for a Korg, or a non-GS compatible Synth.  The author did not have GM/GS compatibility in mind.
As I scroll down, the note events are single notes in the upper range, and there are many Pitch Wheel, Channel Aftertouch, and Modulation events, indicating it could be one of the Wind instruments, but who knows which one.  I tried a Tenor Sax, after deleting the two Bank Select controllers. 

The file still sounded pretty "terrible" so I just gave up on this one.
 

 
Final Example.  Open "Winelight_Cm.mid".  Append "-XG" to name and Save AS.
Scroll down all the tracks, checking them for completeness as you go, until you reach Track 16, channel 10.  The author has kindly noted that a Jazz Set is to be used for the drum track. This is showing as Patch 32, and a Bank of 0-No Drums.
Since ch. 10 has not yet been assigned to a Yamaha instrument, the 0-127 numbering system is used by Cakewalk. the Jazz Set should be 33. Cakewalk will fix this.

Double-click track 16 to open the Track Properties.  With Bank Select Method still set to Standard, select Bank: 16256-XG Drums, and the Patch will automatically change to 33 Jazz Kit, the Yamaha equivalent of Roland Jazz Set.

View | Sysx.  Delete the GS - Reset, add  XG - Reset.
File | Save
File | Close
Re-open from the File history list (item 1.)
This one should work just fine.

To get an education on the use of MIDI controllers on a specific track, click on Track 1, Channel 1, Soprano Sax. View | Event List.  Play the song and watch the large number of Modulation and Pitch Bend events that give an authentic sound to the Sax.  This is a professional MIDI File, well organized and well balanced.
You can stop the song and just scroll through the Events to get a feel for what has been done in Inserting a Series of Events.

 
Following is a partial listing/comparison of the various Drum Sets available.  There are available by Program Change (Patch #), and a Bank Select. 
Program
(Patch #)
Roland SC-55
GM (MSB not used)
Roland SC-88
GS (MSB=0)
Yamaha MU80
XG  (MSB=127)
 1 Standard Set Standard Set1 Standard Kit
 2  (none) Standard Set2 Standard2 Kit
 9 Room Set Room Set Room Kit
17 Power Set Power Set Rock Kit
25 Electronic Set Electronic Set Electro Kit
26 TR-808 Set TR 808/909 Set Analog Kit
33 Jazz Set Jazz Set Jazz Kit
41 Brush Set Brush Set Brush Kit
49 Orchestra Set Orchestra Set Classic Kit
Please note that a MIDI file has to be created using a particular Drum Set, otherwise the notes would not be correct.  Switching from a Stadard Kit to an Electro Kit will NOT change the original notes, so will not sound right.
 
 
As you progress through the conversion of other files, you will find many uses for the Event List, both as a learning tool and to make actual repairs to certain tracks. 

I am quite sure you will run into other variations that you can not fix 100%, but in most cases you will be able to play them on your Yamaha equipment.

Many MIDI authors create Sysex files specifically designed to set up their own synthesizer, and do not take into consideration that other users will not have the same equipment. They many not have been authored for use on the internet, but many times they end up there and we have the frustating job of making them playable on many types of equipment and a variety of sound cards.

Good Luck as your knowledge increases.  We sincerely hope this has given you a little insight into some of the problems with MIDI files that can be purchased or downloaded from the internet.

Les Gorven, MIDI Studio Consortium

 
 <--Back             MIDI Studio Help Index-->

 ©2005 MidiStudio.com. All Rights Reserved
Last Update: September 16, 2005
This site is owned, designed and produced by Les Gorven
dba Business Technologies