Official MIDI Specifications

General MIDI 2

General MIDI 2 is a group of extensions made to General MIDI (Level 1) allowing for expanded standardized control of MIDI devices. This increased functionality includes extended sounds sets and additional performance and control parameters.
General_MIDI_Level_2_07-2-6_1.2a.pdf
General MIDI 2
is a group of extensions made to General MIDI (Level 1) allowing for expanded standardized control of MIDI devices. This increased functionality includes extended sounds sets and additional performance and control parameters.

New MIDI Messages:
Numerous new MIDI messages were defined specifically to support the desired performance features of General MIDI 2.
  • MIDI Tuning Bank/Dump Extensions (C/A-020)
  • Scale/Octave Tuning (C/A-021)
  • Controller Destination Setting (C/A-022)
  • Key-Based Instrument Controll SysEx Messages (C/A-023)
  • Global Parameter Control SysEx Message (C/A-024)
  • Master Fine/Course Tuning SysEx Messages (C/A-025)
  • Modulation Depth Range RPN (C/A-026)
General MIDI 2 Message:
Universal Non-Realtime System Exclusive sub-ID #2 under General MIDI sub-ID #1 is reserved for General MIDI 2 system messages
MIDI Tuning Updated Specification.pdf

incorporating the following:
  • MIDI Tuning Bank/Dump Extensions (CA-020)
  • MIDI Tuning Scale/Octave Extensions (CA-021/RP-020)
  • Defaults for Scale/Octave Tuning (RP-020)
The MIDI Tuning specification allows the sharing of "microtunings" (user-defined scales other than 12-tone equal temperament) among instruments, and the switching of these tunings during real-time performance.

The MIDI Tuning messages include:

• Bulk Tuning Dump Request (non-real-time)
• Bulk Tuning Dump (non-real-time)
• Single-note Tuning Change (real-time)

Scale/Octave Tuning is micro-tuning that is automatically repeated in every octave by calibrating a single octave of notes in small fractions of an equal-tempered half-step. The original MIDI tuning dump message had to define a frequency to each of 128 keys. This proposal defines an easier micro tuning that sets offsets from an equal-tempered half-step by the cent.
ca22 Controller Destination SysEx Message.pdf
This proposal enables selecting the destination for Control Change messages, plus Channel Pressure and Polyphonic Key Pressure, using Universal Real Time System Exclusive messages. When coupled with specific recommended practices for response to these controllers, these messages will provide common controller response among a variety of playback devices. See General MIDI 2 Recommended Practice for examples of how the response can be standardized.
ca23 Key-based Instrument Controller SysEx Message.pdf
The Key-Based Instrument Controller message is intended to be a standard method of providing individual key-based instruments with the same performance control that is available for Channel-based instruments. Specific responses to this message may be defined in a separate recommended practice, such as General MIDI 2.
ca24 Global Parameter Control SysEx Message.pdf
This proposal allows the editing of global parameters in a device using Universal Real-Time System Exclusive messages. These global parameters may include effects parameters, system control parameters, or other non-channel-specific parameters. Because there may be more than one instance of an object containing global parameters in the same device, and these multiple instances may have similar parameters or even contain additional objects in an object hierarchy, an optional mechanism is provided for uniquely identifying the "slot" within the object hierarchy containing the global parameters.

When coupled with specific recommended practices for parameters and values, these messages will provide common parameter editing among a variety of playback devices.
ca25 Master Fine & Coarse Tuning SysEx Message.pdf
These two new Universal Real Time SysEx messages are additional Device Control messages which control the overall tuning of a device. The “Master Fine Tuning” and “Master Coarse Tuning” messages are intended to produce the same effect as the pitch shift control on a tape recorder.
ca26 RPN05 Modulation Depth Range.pdf
This proposal defines Registered Parameter Number (RPN) #05 as Modulation Depth Range to be used to scale the effective range of Control Change 1 (Modulation Wheel). The correlation between Modulation Depth Range values and modulation depth is defined by individual manufacturers or MMA/AMEI recommended practices.