Basic Considerations 
When Sequencing for the Web

Having listened to, and examined thousands of MIDI files, it became apparent that not all files were tailored for use on the Internet. Some of the problems encountered were the use of invalid Bank Select and  invalid Sysex Messages for the General Midi Standard. A large number of files do not have the correct instrument balance (volume levels) to work with the large assortment of sound cards and synthesizers utilized by visitors to a web site.
Bear in mind that most Visitors to web pages employ a Sound Card for listening, and not an external  Synth. 
This presents many difficulties with Instrument balance, Midi Implementation and Continuous Controllers.
The MIDI Specification and General Midi Standard 
The MIDI Specification defines the method of transmitting data,  Sysex Messages, and 128 Controllers (some being Continuous Controllers). 

Think of the GM standard as a MINIMAL implementation of the MIDI specs. 

The GM Standard defines 128 instruments (Patches), and 46 Drum sounds. Nearly all of the modern Sound Cards and most of the MIDI files on this site conform to the GM (General Midi) standard.
Only the most basic Controllers are required to conform to the GM Standard.
MIDI & Controller Implementation for most Sound Cards. 
Following is a list of the GM Controllers received by the SoundBlaster AWE 32/64 cards, and is typical for all the other cards. 
  •  0       Bank Select
  •  1       Modulation
  •  6, 38 Data entry
  •  7       Volume
  • 10      Pan
  • 11      Expression
  • 64      Pedal Hold (Sustain)
  • 91      Reverb Depth
  • 93      Chorus Depth
  • 120    All Sounds Off
  • 121    Reset All Controllers
  • 123    All Notes Off
Additionally, controllers 98, 99, 100 and 101 are received, but are beyond the scope of this document. 
As well as the normal midi messages, Channel Aftertouch and Pitch Bend are also received. 
The AWE32/64 can also emulate Roland MT-32 and in GS mode, the Roland Sound Canvas and its additional banks of instruments. Also under GS, a total of 11 different Drum kits are available. 
Avoid the use of Continous Conroller 0 for General Midi. A Good example is the use of CC0 set to Bank 56. The Yamaha SoftSynth will switch to Bank 56, but since there are no Sound Patches there, you will hear only the drum track, which is not affected by a CC0 message.
If you sequence with a Roland Sound Canvas, and included a Bank Select of  8 to access the additional instruments, the results will be disastrous when the file is played back through an external sound module or synthesizer that does not have Bank 8 instruments. Some of the older Synths had only 2 banks. 
Other MIDI Standards
In addition to the GM Standard, there are two others at present. The Roland GS which implements additional instruments and Drum kits, as does the Yamaha XG standard.
The GM Reset Sysex Message
It is good practice to include  a GM Reset Sysex message in all GM files  used on the Internet. If a visitor is using the Yamaha SoftSynth and has just left a site that switched the state of his card to XG, and then he visits your page with GM files, without a GM Reset the card will not play the correct instruments. 

The GM Reset is a simple 6-Byte message as follows:

F0 7E 7F 09 01 F7.  This is what this message means to your  Sound Card or Synth. 
  • F0 = Begin Sysex
  • 7E = Non-realtime message
  • 7F = Means:  no channel, "pay attention to this message".
  • 09 = Sub-ID :  GM System Enable/Disable
  • 01 = Sub-ID2: (01 = Enable, 00 = Disable)
  • F7 = End of Sysex
The next seminar covers Mixing for a variety of Sound Cards and Synths used for listening both on and off the web. 
Les Gorven 
July 9, 1998 
Questions or comments? Contact Les
Download in ZIP format (including images). 

THIS PAGE (9 KB) 
 
Index:  the Faculty of MIDI Music
 

©1998-2003 MidiStudio.com. All Rights Reserved
Created: July 5, 1998 - Last Update: February 1, 2003
This site is owned, designed and produced by Les Gorven
dba Business Technologies & MIDI-Studio Publishing