The Complete MIDI 1.0 Detailed Specification (2)


  [2008-07-09]
Recommended Practice (RP-021)

Sound Controller Defaults (Revised)


CC # 70 through 79 are defined as Sound Controllers. Some have default names, and some are left undefined. Details:


Control Change (CC) #75-78 (Sound Controllers 6-9) have been given the following default names.


CC# (hex) Control Function Default Name

============================================

70 (46H) Sound Controller 1 *Sound Variation

71 (47H) Sound Controller 2 *Timbre/Harmonic Intensity

72 (48H) Sound Controller 3 *Release Time

73 (49H) Sound Controller 4 *Attack Time

74 (4AH) Sound Controller 5 *Brightness

75 (4BH) Sound Controller 6 Decay Time

76 (4CH) Sound Controller 7 Vibrato Rate

77 (4DH) Sound Controller 8 Vibrato Depth

78 (4EH) Sound Controller 9 Vibrato Delay

79 (4FH) Sound Controller 10 undefined

*Items marked with an asterisk are unchanged from the current MIDI Specification.


Comments

Pages of the MIDI Specification will be revised to strike the language about forbidding Sound Controllers. This is an inconsistency in the MIDI Specification that was overlooked when the existing Sound Controllers were defined.


Any default assignment specified by this proposal may be changed using Universal Real Time System Exclusive message "Controller Destination Setting". This new message enables selecting the destination for any controller message.


Recommended Practice (RP-023)

Renaming of CC91 and CC93


Due to the fact that so many manufacturers use Control Change #91 and #93 in the same way, they should be renamed according to their common usage.


Details: Sets Control Function names as follows:


CC# (hex) [Old Name] [New Name]

===================================

91 (5BH) [Effect 1 Depth] Reverb Send Level

93 (5DH) [Effect 3 Depth] Chorus Send Level


The actual response is dependent on a formal R/P such as General MIDI Level 2 Recommended Practice.


http://www.midi.org/techspecs/ca18.pdf

http://www.midi.org/techspecs/ca19.pdf

http://www.midi.org/techspecs/ca22.pdf

http://www.midi.org/techspecs/ca23.pdf

http://www.midi.org/techspecs/ca24.pdf

http://www.midi.org/techspecs/ca25.pdf

Recommended Practice (RP-022)

Redefinition of RPN 01/02


With the approval of CA-025 ("Master Fine/Coarse Tuning") there arises a naming conflict with existing Registered Parameter Numbers (RPNs) in the MIDI 1.0 Detailed Specification called Master Tuning. The original message is by definition Channel-based, which supports renaming those messages "Channel Fine Tuning" and "Channel Coarse Tuning" under the heading of Channel Tuning.


Details:

1) Change current and future versions of the MIDI 1.0 Detailed Specification to reflect the new name for RPN 01 to "Channel Fine Tuning" and RPN 02 to "Channel Coarse Tuning" under the renamed heading of "Channel Tuning". (See page 18 of the MIDI 1.0 Detailed Specification v 4.2)


2) Also change Table IIIa, Registered Parameter Numbers, to 01-"Channel Fine Tuning" and 02-"Channel Coarse Tuning".


http://www.midi.org/techspecs/ca26.pdf

http://www.midi.org/techspecs/ca28.pdf


Recommended Practice (RP-036)

Default Pan Formula


Over the course of the development of MIDI, different manufacturers have implemented their own responses to CC#10. In addition, various AMEI/MMA Specification (such as GM2 and DLS2) have recommended response curves that are not all the same. The different pan curves produce an equal power distribution between the left and right channels, but in some cases, a true center could not be achieved by following the recommended equation directly.


The formula in this RP does achieve a true center and uses an equal power distribution, which is desirable.


Details:


The default desired synthesizer response to CC#10 – Pan for AMEI/MMA specifications shall be as follows, and shall override all previous recommended practices, including, but not limited to, GM1, GM2, DLS1, and DLS2.


[CC#10: Pan]


Default Value: 64 (40H)


[Note] 64 (40H) is Center.


Sets the stereo position for notes of the specified channel. This message causes subsequent notes on that channel to be positioned anywhere in the stereo field from hard left (value 0,1) to hard right (value 127). It is not necessary to pan a note that is currently sounding. However, if a currently sounding note is panned, the panning shall be done without audible artifacts, clicks or “zipper” noise.


[Note] Since MIDI controller values range from 0 to 127, the exact center of the range, 63.5, cannot be represented. Therefore, the effective range for CC#10 is modified to be 1 to 127, and values 0 and 1 both pan hard left. The recommended method is to subtract 1 from the value of CC#10, and saturate the result to be non-negative.


The following formulas are recommended:


Left Channel Gain [dB] = 20*log (cos (Pi/2* max(0,CC#10 – 1)/126))


Right Channel Gain [dB] = 20*log (sin (Pi /2* max(0,CC#10 – 1)/126))


The General MIDI 2 Specification (RP-024) is amended by this RP.


http://www.midi.org/techspecs/ca31.pdf


The SMF Specification is included in the Complete MIDI document and will also be available as a free download (schedule TBD). The download version includes these additions:


SMF Lyric Events Definition

SMF Device/Program Name Meta-events

SMF Language and Display Extensions

XMF Patch Prefix Meta Event



The MIDI Tuning Specification in the Complete MIDI document has been updated as it appears here. The updated specification includes these additions:


Scale/Octave Tuning w/Defaults

MIDI Tuning Bank/Dump Extensions



The General MIDI Specification has been updated to Level 2, and a General MIDI Lite version has been developed for mobile MIDI devices (such as cell phones). All three GM Specifications (with Developer Guidelines) are expected to be republished together in a new document sometime in 2008.


General MIDI 1, 2 and Lite Specifications

Order Printed Documents



General MIDI (GM1)

"General MIDI" is not the same as MIDI. Where MIDI is a language, a file format, and a connector specification, the "General MIDI System Level 1" specification -- also known as "GM" and later renamed General MIDI 1 or "GM1") defines specific features of a MIDI instrument. Without General MIDI, playback of MIDI files created on one MIDI instrument might sound totally different on a different MIDI instrument, because the only sound definition in MIDI is the sound number (Program Number), not the actual characteristics of the sound. GM helped establish a consistent level of performance compatibility among MIDI instruments by establishing that specific sounds should be selected by certain Program Numbers, paving the way for MIDI data to be used in computer games and cell phones.


Note: The General MIDI (GM1) specification was superceded in 1999 by General MIDI 2 which supports additional features and capabilities commonly available. However, GM1 remains a popular format for lower-cost synthesizers and is commonly used for music distributed as Standard MIDI Files. General MIDI Lite is an even lower-cost version of GM developed specifically for use in low-power portable devices such as cell phones.


GM1 Features


To be GM1 compatible, a GM1 sound generating device (keyboard, sound module, sound card, IC, software program or other product) must meet the General MIDI System Level 1 performance requirements outlined below, instantaneously upon demand, and without additional modification or adjustment/configuration by the user.


Voices: A minimum of either 24 fully dynamically allocated voices are available simultaneously for both melodic and percussive sounds, or 16 dynamically allocated voices are available for melody plus 8 for percussion. All voices respond to velocity.


Channels: All 16 MIDI Channels are supported. Each Channel can play a variable number of voices (polyphony). Each Channel can play a different instrument (sound/patch/timbre). Key-based percussion is always on MIDI Channel 10.


Instruments: A minimum of 16 simultaneous and different timbres playing various instruments. A minimum of 128 preset instruments (MIDI program numbers) conforming to the GM1 Instrument Patch Map and 47 percussion sounds which conform to the GM1 Percussion Key Map .


Channel Messages: Support for continuous controllers 1, 7, 10, 11, 64, 121 and 123; RPN #s 0, 1, 2; Channel Pressure, Pitch Bend.


Other Messages: Respond to the data entry controller and the RPNs for fine and course tuning and pitch bend range, as well as all General MIDI Level 1 System Messages.


GM1 Developer Information

The MMA's GM Developer Guidelines document describes additional recommendations and clarifications of the GM Specification for content producers and device makers, to insure improved compatibility among GM products.


The GM1 Logo was created to insure consumer recognition for products that meet the General MIDI Level 1 Specification. The GM Logo is the property of the MMA and AMEI and must be used in accordance with guidelines established to insure the value of the GM Logo for our members and for the consumer.



General MIDI 2 (GM2)

General MIDI 1 made great strides in the music industry by providing a platform for compatibility between device manufacturers and content providers. Still, by 1999 many manufacturers felt there needed to be additional functionality. General MIDI 2 (GM2) is a group of extensions made to General MIDI 1, which increases both the number of available sounds and the amount of control available for sound editing and musical performance. All GM2 devices are also fully compatible with General MIDI 1.


New MIDI Messages


To support new features in GM2 devices, the MIDI specification was also extended with numerous new control messages, include MIDI Tuning, Controllers, RPNs, and Universal System Exclusive Messages. Of particular significance are the new Universal System Exclusive Messages, including Controller Destination Setting, Key-Based Instrument Controllers, Global Parameter Control, and Master Fine/Coarse Tuning.


Controller Destination SysEx Message (.pdf)

Key-based Instrument Controller SysEx Message (.pdf)

Global Parameter Control SysEx Message (.pdf)

Master Fine/Course Tuning SysEx Message (.pdf)

Redefinition of RPN01 and RPN02 (Channel Fine/Course Tuning)

RPN05 Modulation Depth Range (.pdf)

GM2 Specification Update 1.1


In September 2003 a new version of the General MIDI 2 Specification document was made available, reflecting changes to the specification mandated by two new Recommended Practices:


RP-036: Sets a default Pan Curve for future AMEI/MMA specifications (equivalent to the Pan Curve defined in GML and DLS) and amends GM2 to include this curve.

RP-037: Adds a recommendation that GM2 devices support the MIDI Tuning Extension "Scale/Octave Tuning Real Time One-Byte form" message.

GM2 Specification Update 1.2


In 2007 Recommend Practice RP-044 was adopted for implementing the Mod Depth Range RPN message on GM2 devices. This recommendation does not apply to other device specifications (i.e. SP-MIDI) that refer to GM2. For those devices, the recommended response to Mod Depth Range RPN is either undefined or should be defined in those specifications.


GM2 Features


Requirements

Number of Notes: 32 simultaneous notes

MIDI Channels: 16

- Simultaneous Melodic Instruments = up to 16 (all Channels)

- Simultaneous Percussion Kits = up to 2 (Channel 10/11)


Control Change Messages (Some Optional)

- Bank Select (cc#0/32)

- Modulation Depth (cc#1)

- Portamento Time (cc#5)

- Channel Volume (cc#7)

- Pan (cc#10)

- Expression (cc#11)

- Hold1 (Damper) (cc#64)

- Portamento ON/OFF (cc#65)

- Sostenuto (cc#66)

- Soft (cc#67)

- Filter Resonance (Timbre/Harmonic Intensity) (cc#71)

- Release Time (cc#72)

- Attack time (cc#73)

- Brightness (cc#74)

- Decay Time (cc#75) (new message)

- Vibrato Rate (cc#76) (new message)

- Vibrato Depth (cc#77) (new message)

- Vibrato Delay (cc#78) (new message)

- Reverb Send Level (cc#91)

- Chorus Send Level (cc#93)

- Data Entry (cc#6/38)

- RPN LSB/MSB (cc#100/101)


Registered Parameter Numbers

- Pitch Bend Sensitivity

- Channel Fine Tune

- Channel Coarse Tune

- Modulation Depth Range (Vibrato Depth Range)

- RPN NULL


Universal System Exclusive Messages

- Master Volume

- Master Fine Tuning

- Master Coarse Tuning

- Reverb Type

- Reverb Time

- Chorus Type

- Chorus Mod Rate

- Chorus Mod Depth

- Chorus Feedback

- Chorus Send to Reverb

- Controller Destination Setting

- Scale/Octave Tuning Adjust

- Key-Based Instrument Controllers

- GM2 System On


GM 2 Instrument Sound Set

GM 2 Percussion Sound Set

GM2 Developer Information


Developers of GM2 compatible devices or content are urged to consult the GM1 Developer Guidelines (included in the Complete MIDI 1.0Specification) which describe recommendations for content producers and device makers to insure improved compatibility among GM products.


The GM2 Logo was created to insure consumer recognition for products that meet the General MIDI 2 Specification. The GM Logos are the property of the MMA and AMEI and must be used in accordance with guidelines established to insure the value of the GM Logos for our members and for the consumer.



General MIDI "Lite" (GML)

plus Guidelines for Mobile Applications

The General MIDI Lite Specification describes one of two platforms for mobile MIDI communication that have been approved and adopted as a standard by the MIDI industry. This document has three primary components:


A specification called General MIDI Lite (GM Lite), which defines a new level of tone generation (sound module) device

Authoring guidelines for music data in SMF (Standard MIDI File) format that is intended for playback on GM Lite devices

Implementation guidelines for GM Lite file players .

GM Lite vs. SP-MIDI


The General MIDI Lite specification defines a fixed-polyphony MIDI device, intended to meet a particular set of current and future market needs. The Scalable Polyphony MIDI (SP-MIDI) Specification compliments GML by defining flexible polyphony MIDI devices and content. Developers of GM Lite players are strongly advised to keep as much flexibility as possible in how their players handle channel priorities, drum channels and other System messages. This will make it far easier for their products to be compatible with song data authored for the Scalable Polyphony MIDI specification.


GM Lite vs. GM 1


The General MIDI Lite device specification is intended for equipment that does not have the capability to support the full feature set defined in General MIDI 1.0, on the assumption that the reduced performance may be acceptable (and even required) in some mobile applications. GM Lite represents just one standardized set of performance capabilities for portable applications - other performance levels are likely to be standardized in the future.


GM Lite Features


Requirements

Number of Notes: 16 simultaneous notes

MIDI Channels: 16

- Simultaneous Melodic Instruments = up to 15

- Simultaneous Percussion Kits = 1 (Channel 10)


Control Change Messages

- Modulation Depth (cc#1)

- Channel Volume (cc#7)

- Pan (cc#10)

- Expression (cc#11)

- Data Entry (cc#6/38)

- Hold1 (Damper) (cc#64)

- RPN LSB/MSB (cc#100/101)

- Pitch Bend

- All Sound Off, All Notes Off, Reset All Controllers


Registered Parameter Numbers

- Pitch Bend Sensitivity


Universal System Exclusive Messages

- GM1 System On


GM Lite Instrument Sound Set

GM Lite Percussion Sound Set

For complete details on GML features and MIDI message syntax, please consult the General MIDI Lite Specification (see below to order).


GM Lite Developer Information


Recommended guidelines for Using GM Lite in Mobile Applications are included in the GM Lite Specification document. Developers are also urged to consult the GM1 Developer Guidelines (included in the Complete MIDI 1.0 Specification).


The GML Logo was created to insure consumer recognition for products that meet the General MIDI Lite Specification. The GM Logos are the property of the MMA and AMEI and must be used in accordance with guidelines established to insure the value of the GM Logos for our members and for the consumer.



Document Publishing Information


The General MIDI 1 Specification (RP-003) and GM Developer Guidelines are in the "Complete Detailed MIDI 1.0 Specification" Document.


Buy Now: "General MIDI Lite Specification plus Guidelines for Mobile Applications" (RP-033) and "General MIDI 2 Specification" (RP-024 with RP-036 and RP-037 enhancements).




理论探讨 返回