General MIDI

General MIDI，簡稱GM，是MIDI的統一規格。雖然MIDI自己本身提供了使不同儀器能夠在基礎水平上互用的協定，但General MIDI提供了更進一步的規範：它要求所有的GM相容儀器達到一些共同的特點，像是能夠同時演奏至少24個音符（複音），而且它包含了許多未在MIDI中規範，關於參數和控制訊息的解釋，像是定義儀器可以擁有128個發聲數。

最初標準化General MIDI是在1991年，由MIDI製造商協會（MMA）以及日本MIDI標準化委員會（JMSC）共同制定，此後就獲採用作為MIDI標準的追加。該標準要求至少能滿足以下條件：

- 允許同時24個發聲數（包含16個旋律，和8個打擊樂的聲音）
- 能對應音符力度
- 能同時使用16個頻道（頻道10預留為打擊樂用）
- 每個頻道能夠演奏複音

## 概要

在制定GM之前，MIDI的音色訊號以及控制訊息會因MIDI音源的製造商以及機種而不同。這使的不同的儀器之間並沒有互換性。由不同的MIDI儀器做出來的曲子，在其他的MIDI儀器上播放會導致與結果可能與作者原本想表達的不同的問題。為了解決這樣的問題，在1991年時，MIDI Manufacturers Association（MMA）與Japan MIDI Standards Committee（JMSC）共同制定了GM。

除了GM以外的規格，還有Roland推展的GS、YAMAHA推展的XG等。

這些幾乎都是為了擴張GM的衍生規格，對GM來說是能夠向上相容的。

現在有了GM2（General MIDI Level 2）規格，也是對GM的延伸。

## 參數

GM儀器必須遵循以下關於樂器音色（program）以及控制事件（controller events）的慣例：

### 音色轉換事件（Program change events）

以下的表單，列出各樂器音與與相應的音色編號（program change number）。

### 旋律音色（Melodic sounds）

No.｜英語｜中文

Piano（鋼琴）

1｜Acoustic Grand Piano｜平臺鋼琴

2｜Bright Acoustic Piano｜亮音鋼琴

3｜Electric Grand Piano｜電鋼琴

4｜Honky-tonk Piano｜酒吧鋼琴

5｜Electric Piano 1｜電鋼琴1

6｜Electric Piano 2｜電鋼琴2

7｜Harpsichord｜大鍵琴

8｜Clavinet｜電翼琴

Chromatic Percussion（固定音高敲擊樂器）

9｜Celesta｜鋼片琴

10｜Glockenspiel｜鐘琴

11｜Musical box｜音樂盒

12｜Vibraphone｜顫音琴

13｜Marimba｜馬林巴琴

14｜Xylophone｜木琴

15｜Tubular Bell｜管鐘

16｜Dulcimer｜洋琴

Organ（風琴）

17｜Drawbar Organ｜音栓風琴

18｜Percussive Organ｜敲擊風琴

19｜Rock Organ｜搖滾風琴

20｜Church organ｜教堂管風琴

21｜Reed organ｜簧風琴

22｜Accordion｜手風琴

23｜Harmonica｜口琴

24｜Tango Accordion｜探戈手風琴

Guitar（吉他）

25｜Acoustic Guitar(nylon)｜木吉他（尼龍弦）

26｜Acoustic Guitar(steel)｜木吉他（鋼弦）

27｜Electric Guitar(jazz)｜電吉他（爵士）

28｜Electric Guitar(clean)｜電吉他（原音）

29｜Electric Guitar(muted)｜電吉他（悶音）

30｜Overdriven Guitar｜電吉他（破音）

31｜Distortion Guitar｜電吉他（失真）

32｜Guitar harmonics｜吉他泛音

Bass（貝斯）

33｜Acoustic Bass｜民謠貝斯

34｜Electric Bass(finger)｜電貝斯（指奏）

35｜Electric Bass(pick)｜電貝斯（撥奏）

36｜Fretless Bass｜無格貝斯

37｜Slap Bass 1｜捶鉤貝斯 1

38｜Slap Bass 2｜捶鉤貝斯 2

39｜Synth Bass 1｜合成貝斯1

40｜Synth Bass 2｜合成貝斯2

Strings（弦樂 器）

41｜Violin｜小提琴

42｜Viola｜中提琴

43｜Cello｜大提琴

44｜Contrabass｜低音大提琴

45｜Tremolo Strings｜顫弓弦樂

46｜Pizzicato Strings｜彈撥弦樂

47｜Orchestral Harp｜豎琴

48｜Timpani｜定音鼓

Ensemble（合奏）

49｜String Ensemble 1｜弦樂合奏1

50｜String Ensemble 2｜弦樂合奏2

51｜Synth Strings 1｜合成弦樂1

52｜Synth Strings 2｜合成弦樂2

53｜Voice Aahs｜人聲「啊」

54｜Voice Oohs｜人聲「喔」

55｜Synth Voice｜合成人聲

56｜Orchestra Hit｜交響打擊樂

Brass（銅管 樂器）

57｜Trumpet｜小號

58｜Trombone｜長號

59｜Tuba｜大號（吐巴號、低音號）

60｜Muted Trumpet｜悶音小號

61｜French horn｜法國號（圓號）

62｜Brass Section｜銅管樂

63｜Synth Brass 1｜合成銅管1

64｜Synth Brass 2｜合成銅管2

Reed（簧樂 器）

65｜Soprano Sax｜高音薩克斯風

66｜Alto Sax｜中音薩克斯風

67｜Tenor Sax｜次中音薩克斯風

68｜Baritone Sax｜上低音薩克斯風

69｜Oboe｜雙簧管

70｜English Horn｜英國管

71｜Bassoon｜低音管（巴頌管）

72｜Clarinet｜單簧管（黑管、豎笛）

Pipe（吹管 樂器）

73｜Piccolo｜短笛

74｜Flute｜長笛

75｜Recorder｜直笛

76｜Pan Flute｜排簫

77｜Blown Bottle｜瓶笛

78｜Shakuhachi｜尺八

79｜Whistle｜哨子

80｜Ocarina｜陶笛

Synth Lead（合成音主旋律）

81｜Lead 1(square)｜方波

82｜Lead 2(sawtooth)｜鋸齒波

83｜Lead 3(calliope)｜汽笛風琴

84｜Lead 4(chiff)｜合成吹管

85｜Lead 5(charang)｜合成電吉他

86｜Lead 6(voice)｜人聲鍵盤

87｜Lead 7(fifths)｜五度音

88｜Lead 8(bass + lead)｜貝斯吉他合奏

Synth Pad（合成音和弦襯底）

89｜Pad 1(new age)｜新世紀

90｜Pad 2(warm)｜溫暖

91｜Pad 3(polysynth)｜多重合音

92｜Pad 4(choir)｜人聲合唱

93｜Pad 5(bowed)｜玻璃

94｜Pad 6(metallic)｜金屬

95｜Pad 7(halo)｜光華

96｜Pad 8(sweep)｜掃掠

Synth Effects（合成音效果）

97｜FX 1(rain)｜雨

98｜FX 2(soundtrack)｜電影音效

99｜FX 3(crystal)｜水晶

100｜FX 4(atmosphere)｜氣氛

101｜FX 5(brightness)｜明亮

102｜FX 6(goblins)｜魅影

103｜FX 7(echoes)｜回音

104｜FX 8(sci-fi)｜科幻

Ethnic（民族 樂器）

105｜Sitar｜西塔琴

106｜Banjo｜五絃琴（斑鳩琴）

107｜Shamisen｜三味線

108｜Koto｜十三絃琴（古箏）

109｜Kalimba｜卡林巴鐵片琴

110｜Bagpipe｜蘇格蘭風笛

111｜Fiddle｜古提琴

112｜Shanai｜印度嗩吶

Percussive（打擊 樂器）

113｜Tinkle Bell｜叮噹鈴

114｜Agogo｜阿哥哥鼓

115｜Steel Drums｜鋼鼓

116｜Woodblock｜木魚

117｜Taiko Drum｜太鼓

118｜Melodic Tom｜定音筒鼓

119｜Synth Drum｜合成鼓

120｜Reverse Cymbal｜逆轉鈸聲

Sound effects（特殊 音效）

121｜Guitar Fret Noise｜吉他滑弦雜音

122｜Breath Noise｜呼吸雜音

123｜Seashore｜海岸

124｜Bird Tweet｜鳥鳴

125｜Telephone Ring｜電話鈴聲

126｜Helicopter｜直升機

127｜Applause｜拍手

128｜Gunshot｜槍聲

### 打擊樂音符（Percussion notes）

在General MIDI中，頻道10保留作為打擊樂器使用，不論音色編號為何。不同的音符對應到不同的打擊樂器。見下表：

No.｜English｜中文

35｜Bass Drum 2｜大鼓2

36｜Bass Drum 1｜大鼓1

37｜Side Stick｜小鼓鼓邊

38｜Snare Drum 1｜小鼓1

39｜Hand Clap｜拍手

40｜Snare Drum 2｜小鼓2

41｜Low Tom 2｜低音筒鼓2

42｜Closed Hi-hat｜閉合開合鈸

43｜Low Tom 1｜低音筒鼓1

44｜Pedal Hi-hat｜腳踏開合鈸

45｜Mid Tom 2｜中音筒鼓2

46｜Open Hi-hat｜開放開合鈸

47｜Mid Tom 1｜中音筒鼓1

48｜High Tom 2｜高音筒鼓2

49｜Crash Cymbal 1｜強音鈸1

50｜High Tom 1｜高音筒鼓1

51｜Ride Cymbal 1｜打點鈸1

52｜Chinese Cymbal｜鈸

53｜Ride Bell｜響鈴

54｜Tambourine｜鈴鼓

55｜Splash Cymbal｜小鈸銅鈸

56｜Cowbell｜牛鈴

57｜Crash Cymbal 2｜強音鈸2

58｜Vibra Slap｜噪音器

59｜Ride Cymbal 2｜打點鈸2

60｜High Bongo｜高音邦加鼓

61｜Low Bongo｜低音邦加鼓

62｜Mute High Conga｜悶音高音康加鼓

63｜Open High Conga｜開放高音康加鼓

64｜Low Conga｜低音康加鼓

65｜High Timbale｜高音天巴雷鼓

66｜Low Timbale｜低音天巴雷鼓

67｜High Agogo｜高音阿哥哥鈴

68｜Low Agogo｜低音阿哥哥鈴

69｜Cabasa｜鐵沙鈴

70｜Maracas｜沙槌

71｜Short Whistle｜短口哨

72｜Long Whistle｜長口哨

73｜Short Guiro｜短刮瓜

74｜Long Guiro｜長刮瓜

75｜Claves｜擊木

76｜High Wood Block｜高音木魚

77｜Low Wood Block｜低音木魚

78｜Mute Cuica

79｜Open Cuica

80｜Mute Triangle｜悶音三角鐵

81｜Open Triangle｜開放三角鐵

### 控制器事件（Controller events）

GM也同時規範了數個控制器的工作

No.｜功能

1｜Modulation（顫音）

6｜Data Entry MSB

7｜Volume（音量）

10｜Pan（相位）

11｜Expression（表情踏板）

38｜Data Entry LSB

64｜Sustain（延音踏板）

100｜RPN LSB

101｜RPN MSB

121｜Reset all controllers（重設所有控制器）

123｜All notes off（消音）

### RPN（Registered Parameter Number登錄參數）

「登錄參數」是一系列參數，可以提供改變滑音輪的滑音範圍、顫音輪的顫音範圍、進入第二層音色庫……等較高階的功能。

設定「登錄參數」，需要以固定的格式傳送訊號（訊號的數字是十進位）：

- 啟動登錄參數功能（Control Change messages），必須先同時使用「控制碼」（CC）101和100，以選擇想要控制的參數（如下表）
- 接下來輸入數字資料（Data Entry messages，MSB = 控制器#6, LSB = 控制器#38）
- 最後若是「End of RPN」（CC 38）訊息，即表示結束訊息

以下的全球Registered Parameter Numbers (RPNs)是經過標準化的（參數由RPN LSB/MSB對規範，值則由Data Entry LSB/MSB對設定）：

MSB｜LSB｜意義

0｜0｜滑音範圍

0｜1｜Channel Fine tuning（頻道細調）

0｜2｜Channel Coarse tuning（頻道粗調）

0｜3｜Tuning Program Change（轉換調節音色）

0｜4｜Tuning Bank Select（轉換調節群組）

0｜5｜Modulation Depth Range（顫音深度範圍）

127｜127｜RPN Null

例：用RPN控制串設定彎音輪（Pitch Bend）為八度（參數6，值12）

```
101:0, 100:0, 6:12, 38:0
```

例：用RPN控制串設定粗調（coarse tuning）至A440（參數2，值64）

```
101:0, 100:2, 6:64, 101:127, 100:127
```

### 系統排除訊息（System Exclusive messages）

定義兩個系統排除（System Exclusive，"SysEx"）訊息：一個是決定使不使用General MIDI在同樣允許非GM相容模式之設備上的相容性；另一個用來修正樂器的整體音量。

## 關聯項目

- General MIDI Level 2