Allmänt MIDI eller GM är en standardiserad specifikation för elektroniska musikinstrument som svarar på MIDI-meddelanden . GM-standarden utvecklades av American MIDI Manufacturers Association i samarbete med Japans MIDI Standards Committee och demonstrerades första gången 1991 .
GM innehåller nya krav som går utöver den mer abstrakta MIDI 1.0-specifikationen. Medan MIDI 1.0 i sig tillhandahåller ett kommunikationsprotokoll som säkerställer att olika instrument kan kommunicera på en grundläggande nivå (om man till exempel trycker på tangenter på ett MIDI-keyboard kommer en ansluten MIDI -ljudmodul att spela musiknoter), går GM längre på två sätt: för det första: , det kräver att alla GM-kompatibla instrument uppfyller en viss minimiuppsättning funktioner, såsom förmågan att spela minst 24 toner samtidigt (polyfoni); och för det andra ger den specifika tolkningar av många parametrar och kontrollmeddelanden som inte demonstrerades i MIDI 1.0, som att specificera instrumentljud för vart och ett av de 128 möjliga programnumren).
GM-verktyg har förmågan att:
GM-instrument måste också respektera följande konventioner för program- och controllerhändelser:
I MIDI väljs instrumentljudet eller "programmet" för var och en av de 16 möjliga MIDI-kanalerna med ett programändringsmeddelande med en programnummerparameter. Tabellen nedan visar vilket instrumentljud som motsvarar vart och ett av de 128 möjliga programnumren för endast GM. Det finns 128 programnummer. Siffrorna kan representera antingen värden från 1 till 128 eller från 0 till 127. Numreringen från 0 till 127 används oftast, huvudsakligen endast av den inbyggda synthesizern , medan de allra flesta MIDI-enheter , digitala ljudarbetsstationer och professionella MIDI-sequencers visar programnummer som visas i tabellen, från 1 till 128.
PianoI GM-standarden är trummor endast registrerade på kanal 10. Toner inspelade på kanal 10 producerar alltid slagverksljud när de sänds till en klaviatur eller synthmodul som använder GM-standarden. Var och en av de 128 olika möjliga notnumren korrelerar till ett unikt slaginstrument, men tonhöjden på ljudet är inte relaterad till notnumret.
Om MIDI-filen är programmerad till ett generiskt MIDI-protokoll kommer resultaten att vara förutsägbara, men ljudkvaliteten kan variera beroende på kvaliteten på GM-syntesen:
I MIDI kan konfigurerbara parametrar för var och en av de 16 möjliga MIDI-kanalerna ställas in med hjälp av ett Control Change-meddelande, som har en Control Number-parameter och en Control Value-parameter. GM specificerar också vilka operationer som ska utföras av flera kontrollnummer: [1]
1 Modulationshjul
7 Volym
10 Balans
11 Expression
64 Sustainpedal
100 Registrerad LSB-parameternummer
101 Registrerad MSB-parameternummer
121 Alla kontroller av
123 Alla toner avstängda
GM definierar flera registrerade parametrar som fungerar som styrenheter men som behandlas olika. I MIDI tilldelas varje registrerad parameter ett registrerat parameternummer, eller RPN. Registrerade parametrar kallas vanligtvis för korta RPN.
Att ställa in registrerade parametrar kräver sändning (decimaltal):
Följande Global Registered Parameter Numbers (RPN) är standardiserade [2] (parametern ges av RPN LSB/MSB-paret och värdet ställs in av LSB/MSB-dataingångsparet):
0.0 Pitch bend-område
1.0 Kanalfininställning
2.0 Kanalgrovjustering
Till exempel: RPN-kontrollsekvens för att ställa in grovjustering till A440 (Pr. 2, värde 64):
101: 0, 100: 2, 6:64, 101: 127, 100: 127
Två GM System Exclusive ("SysEx") meddelanden definieras: ett för att aktivera och inaktivera det allmänna MIDI-kompatibilitetsläget (för synthesizers som också har icke-GM-lägen); och den andra är för att ställa in huvudsynthesizerns volym.
GS är en förlängning av General MIDI-standarden som lägger till flera proprietära tillägg. Det mest anmärkningsvärda tillägget var möjligheten att komma åt flera banker av program (instrumentljud) med hjälp av ytterligare ett par Bank Select-kontroller för att specificera upp till 16 384 "variations" ljud (cc#0 är Bank Select MSB och cc#32 är Bank Select LSB ). Andra anmärkningsvärda funktioner var 9 trumset med 14 extra trumljud, upp till 2 samtidiga trumset (kanal 10/11), kontrolländringsmeddelanden för att kontrollera sändningsnivån för ljudeffektblock (cc#91-94), mata in ytterligare parametrar ( cc #98-101), portamento, sostenuto, mjukpedal (c#65-67) och modellspecifika SysEx-meddelanden för att ställa in olika synthesizerparametrar.
GS introducerades 1991 av Roland Sound Canvas -linjen , som också var Rysslands första General MIDI-synthesizermodul.
1999 dök en uppdaterad version av GM-standarden upp, inklusive ännu fler kontroller, patchar, RPN:er och SysEx-meddelanden i ett försök att förena de motstridiga och proprietära tilläggen av Roland GS och Yamaha XG. Här är en snabb översikt över GM2-ändringar jämfört med GM/GS:
Ytterligare melodiska instrument kan erhållas genom att ställa in CC#0 till 121 och sedan använda CC#32 för att välja bank innan man byter program.