General MIDI

General MIDI (GM) on syntetisaattoreita ja muita MIDI-soittimia varten tehty luokitus, joka on tarkoitettu MIDI-standardin jatkeeksi. MIDI itse antaa protokollan, jonka avulla soittimen antamat nuotit yhdistyvät äänilaitteen tietynkorkuisiin ja pituisiin nuotteihin, ja General MIDI lisää standardiin vaatimuksen 24 nuotin samanaikaisesta polyfoniasta, sekä muita data-viestien määrittelyjä, joista tärkeimpänä 128 soitinäänen standardivalikoima.

General MIDIn standardoi vuonna 1991 MIDI laitteiden kehittäjien yhdistys (MIDI Manufactures Association) ja Japanin MIDI-standardikomitea, ja siitä on sen jälkeen tullut johtava MIDI-laitteiden standardi.

Eri valmistajat ovat tehneet omia GM-äänimoduuleitaan, joista selvästi tunnetuin on Roland Sound Canvas moduuli. Roland ja Yamaha ovat myös kehittäneet laajennuksia GM-standardiin (Roland GS ja Yamaha XG). GM-standardin vuonna 1999 hahmoteltuun seuraavaan vaiheeseen on otettu muutamia GS:n ja XG:n jakamia ominaisuuksia.

GM-standardin minimivaatimukset 
General MIDI Level 1 yhteensopivien laitteiden on täytettävä seuraavat vaatimukset:

 24 samanaikaista ääntä, joista ainakin 16 on melodisia ja 8 perkussiivisia
 Nuotin keston rekisteröiminen
 Samanaikainen tuki 16 midi-kanavalle, joista kanava numero 10 on aina varattu rumpusetille ja muille lyömäsoittimille
 Polyfonian tuki (monta ääntä soi samaan aikaan) joka kanavalla

MIDI-datan parametrien merkitykset 
GM yhteensopivien soittimien täytyy myös sisältää seuraavat komennot:

Ohjelman vaihto 
Eri ohjelmien numeroiden on vastattava seuraavia soitinääniä:

Melodiset soitinäänet

Piano:

Kromaattiset perkussiosoittimet:

Urut:

Kitara:

Bassokitarat:

Jousisoittimet:

Ensemble:

Vaskipuhaltimet:

Ruokolehdykkäsoittimet:

Puupuhaltimet:

Synth Lead:

Synth Pad:

Syntetisaattori-efektit:

Etniset soittimet:

Lyömäsoittimet:

Ääniefektit:

Perkussioäänet
Kanava 10 on varattu perkussiosoittimille; kanava soi aina perkussioina riippumatta siitä mitä ohjelmanumeroita siihen lähetetään ja eri nuotit tulkitaan omina instrumentteinaan:

Controller events 
GM also specifies which operations should be performed by several controllers:

RPN

Setting Registered Parameters requires sending (numbers are decimal):

The following global Registered Parameter Numbers (RPNs) are standardised  (the parameter is specified by RPN LSB/MSB pair and the value is set by Data Entry LSB/MSB pair):

For example: RPN control sequence to set coarse tuning to A440 (parm 2, value 64):
101:0, 100:2, 6:64, 101:127, 100:127

Lähteet 

Sähköiset soittimet
Äänentoistotekniikka
MIDI