FORUM
UK Gig Guide
UK Music Venues
Music News
Directory
ENCYCLOPAEDIA
History
Composers
Quotations
World
Instruments
Calendar
TECHNICAL
Hardware
MIDI
Audio
Science
Programming
THEORY
Tutorials
Notation
Tools
Home | Technical | MIDI | XG Format

XG Format

Note: The article below is excerpted from Yamaha?s Introduction to XG booklet.

General MIDI is a terrific idea that has also proven to be a commercial success.
It has opened up the world of MIDI to thousands of musicians who do not wish to get involved in technical intricacies.
But GM is limited to basic MIDI functions and is unable to support the full powers of today?s multi-timbral tone generators.
As we enter the multimedia age, it is time for the introduction of an enhanced format that builds on the foundation laid by General MIDI? and that format is XG.
Yamaha?s development of the XG format has focused on the following three key goals:

1. Compatibility

- Any XG instrument, regardless of model or manufacturer, will provide faithful reproduction of XG music files and will also be completely 100% General MIDI-compatible, since it is an enhancement to, and not a replacement for, General MIDI.
You can think of General MIDI as being a kind of minimum building code all XG instruments are built to code but then add a large number of new features that make them more like luxury condos!

2. Scalability

- There are several differ-ent levels of XG compatibility.
One level is implemented in high-end instruments such as the Yamaha MU80; another is imple mented in mid-range instruments such as the Yamaha MU50; and details of additional levels will be announced in the future.
These different levels mean that we?ll be seeing a wide range of XG instruments in the years ahead, each with its own characterand each offering a unique feature set at a different price point.
Each, however, will faithfully replay XG data in accordance with its level of sophistication?if a particular instrument doesn?t support a variation voice, for example, it will automatically substitute the corresponding basic GM voice.

3. Expandability

- The XG format like MIDI itself is an open architecture, which will allow for the addition of new enhancements as future technology continues to evolve.
The XG format expands on the General MIDI standard in the following major areas:

Number of voices

- GM supports 128 voices (accessed via MIDI program change messages 0 - 127), which seemed like a lot back in 1991.
But reduced memory costs enable today?s MIDI instruments to store many hundreds (or even thousands!) of voices, giving musicians a much broader sonic palette from which to work.
The XG format enables access to literally thousands of voices by utilizing MIDI Bank Select (Control change #0 and #32) messages.

Voice organization

- GM stipulates that its 128-voice sound set be organized into 16 groupings of 8 presets each. XG instruments take things many steps further by using the Bank Select MSB (Control change #0) to select any of four bank types:
Melody voices,
SFX (Special Effects) voices,
SFX kit (the SFX voices, mapped one to a key),
Rhythm kit (various drum and percussion voices, mapped one to a key).
The Bank Select LSB (Control change #32) is then used to select any of 128 banks of Melody voices, each containing 128 presets (which are accessed by standard MIDI program change messages). Program change messages are also used to select different SFX voices, SFX kits or Rhythm Kits.
Note that, in all XG instruments, Melody voices Bank 0 contains the standard GM Sound Set (other banks contain what are known as variation voices) and Rhythm Kit #1 utilizes the standard GM note mapping (other variation Rhythm Kits are accessed with program change messages).
Because these are the defaults selected when a GM System On message is received by an XG instrument, you can be sure of complete compatibility when playing back GM music files.

Bank Select MSB (cc #0) is used to select one of four bank types:

MSB = 00h Melody voices
MSB = 40h SFX voices
MSB = 7Eh SFX kit
MSB = 7Fh Rhythm kit

If MSB = 00h, Bank Select LSB (cc #32) is used to select one of 128 banks:
Bank 0
Bank 1
Bank 2
.
.

Bank 127

Program change message (0 - 127) is then used to select desired voice or kit.

Polyphony

- GM instruments are required to have only a 24-note minimum polyphony, while XG instruments are required to have at least 32.
This facilitates the creation of dense instrumentations and the use of multiple complex sounds.

Optional Support for Additional MIDI channels

- The XG format supports up to 32 MIDI channels, enabling full 32-way multitimbral operation.

Additional Rhythm Channels

-Following the GM convention, XG instruments normally use MIDI channel 10 for rhythm parts (though, unlike GM, channel 10 can optionally be designated for melody parts).
However, the XG format allows additional channels to be designated for rhythm parts as well, allowing the musician to easily create complex drum and percussion parts.

Support for Internal Effects

- GM has no provision for the usage of internal effects processors.
The XG format addresses this deficiency by providing support for a minimum of three different internal effects (Reverb, Chorus, and a switchable global or ?insertion? effect) as well as for a fourth internal insertion effect and an optional internal master graphic equalizer.
Standardized MIDI messages are used to set the send levels of each of these effects (per channel, and, in the case of Rhythm or SFX kits, per individual voice) as well as the parameters of internal effects.
This allows the musician to create complete, finished productions in one XG instrument, all under complete MIDI control.

Optional Support for External Audio (A/D) Input

- The XG format provides optional support for external audio input. XG instruments that utilize this fea-ture have an audio input jack into which you can plug a microphone, electric guitar,
or any line-level source.
This signal is digitized by a chip called an Analog-to-Digital (A/D) converter and is then routed to the internal effects processors.

Voice Modification

- GM specifies the use of only a handful of control sources for the realtime modification of voices.
XG supplements these with more than a dozen additional control change messages, including Sostenuto and Soft pedal, data increment/decrement, and portamento time.
There is also support for realtime control of voice filter and envelope set-tings, as well as effects levels.
In addition, XG uses a series of Non-Registered Parameter Numbers (NRPNs) for realtime control over variables such as vibrato rate, depth and delay, and for enabling the user to alter filter cutoff frequency, envelope, pitch, level, pan, and effects send levels of individual drum voices within a Rhythm or SFX kit.


Errors, omissions, comments? Send us your feedback