General MIDI sau GM este o specificație standardizată pentru instrumentele muzicale electronice care răspund la mesaje MIDI . Standardul GM a fost dezvoltat de Asociația Americană a Producătorilor MIDI în colaborare cu Comitetul de Standarde MIDI din Japonia și a fost demonstrat pentru prima dată în 1991 .
GM include noi cerințe care depășesc specificațiile MIDI 1.0 mai abstracte. În timp ce MIDI 1.0 însuși oferă un protocol de comunicare care asigură că diferite instrumente pot comunica la un nivel fundamental (de exemplu, apăsarea tastelor de pe o tastatură MIDI va face ca un modul de sunet MIDI conectat să redea note muzicale), GM merge mai departe în două moduri: mai întâi: , necesită ca toate instrumentele compatibile cu GM să îndeplinească un anumit set minim de caracteristici, cum ar fi capacitatea de a cânta cel puțin 24 de note simultan (polifonie); și în al doilea rând, oferă interpretări specifice multor parametri și mesaje de control care nu au fost demonstrate în MIDI 1.0, cum ar fi specificarea sunetelor instrumentelor pentru fiecare dintre cele 128 de numere posibile de program).
Uneltele GM au capacitatea de a:
Instrumentele GM trebuie, de asemenea, să respecte următoarele convenții pentru programe și evenimente de control:
În MIDI, sunetul instrumentului sau „programul” pentru fiecare dintre cele 16 canale MIDI posibile este selectat cu un mesaj Program Change având un parametru Program Number. Tabelul de mai jos arată ce sunet al instrumentului corespunde fiecăruia dintre cele 128 de numere posibile de program numai GM. Există 128 de numere de program. Numerele pot reprezenta fie valori de la 1 la 128, fie de la 0 la 127. Numerotarea de la 0 la 127 este folosită cel mai adesea, în principal numai de sintetizatorul încorporat, în timp ce marea majoritate a dispozitivelor MIDI , stațiilor de lucru audio digitale și secvențierele MIDI profesionale afișează numerele programelor așa cum se arată în tabel, de la 1 la 128.
pianÎn standardul GM, tobele sunt înregistrate doar pe canalul 10. Notele înregistrate pe canalul 10 produc întotdeauna sunete de percuție atunci când sunt transmise la o tastatură sau un modul de sinteză care utilizează standardul GM. Fiecare dintre cele 128 de numere de notă posibile diferite se corelează cu un instrument de percuție unic, dar înălțimea sunetului nu este legată de numărul notei.
Dacă fișierul MIDI este programat pe un protocol MIDI generic, rezultatele vor fi previzibile, dar fidelitatea sunetului poate varia în funcție de calitatea sintetizatorului GM:
În MIDI, parametrii configurabili pentru fiecare dintre cele 16 canale MIDI posibile pot fi setați folosind un mesaj Control Change, care are un parametru Control Number și un parametru Control Value. GM specifică, de asemenea, ce operațiuni ar trebui efectuate cu mai multe numere de control: [1]
1 Roată de modulație
7 Volum
10 Balans
11 Expresie
64 Pedală sustain
100 Număr parametru LSB înregistrat
101 Număr parametru MSB înregistrat
121 Toate controlerele dezactivate
123 Toate notele dezactivate
GM definește mai mulți parametri înregistrați care acționează ca controlori, dar sunt tratați diferit. În MIDI, fiecărui parametru înregistrat i se atribuie un număr de parametru înregistrat sau RPN. Parametrii înregistrați sunt de obicei denumiți pe scurt RPN.
Setarea parametrilor înregistrați necesită trimiterea (numere zecimale):
Următoarele numere globale de parametri înregistrate (RPN) sunt standardizate [2] (parametrul este dat de perechea RPN LSB/MSB, iar valoarea este setată de perechea de date LSB/MSB):
0.0 Interval de înclinare a înălțimii
1.0 Reglaj fin
canal 2,0 Reglaj grosier de canal
De exemplu: secvență de control RPN pentru a seta acordul grosier la A440 (Pr. 2, valoare 64):
101: 0, 100: 2, 6:64, 101: 127, 100: 127
Sunt definite două mesaje GM System Exclusive ("SysEx"): unul pentru a activa și dezactiva modul general de compatibilitate MIDI (pentru sintetizatoarele care au și moduri non-GM); iar celălalt este pentru setarea volumului sintetizatorului principal.
GS este o extensie a standardului General MIDI care adaugă mai multe extensii proprietare. Cea mai notabilă adăugare a fost capacitatea de a accesa mai multe bănci de programe (sunete de instrument) folosind o pereche suplimentară de controlere Bank Select pentru a specifica până la 16.384 de sunete „variație” (cc#0 este Bank Select MSB și cc#32 este Bank Select LSB ). Alte caracteristici notabile au fost 9 seturi de tobe cu 14 sunete de tobe suplimentare, până la 2 kituri de tobe simultane (canale 10/11), mesaje de modificare a controlului pentru a controla nivelul de trimitere al blocurilor de efecte sonore (cc#91-94), parametri adiționali de intrare ( cc #98-101), portamento, sostenuto, pedală moale (c#65-67) și mesaje SysEx specifice modelului pentru setarea diverșilor parametri ai sintetizatorului.
GS a fost introdus în 1991 de linia Roland Sound Canvas , care a fost și primul modul de sintetizator General MIDI din Rusia.
În 1999, a apărut o versiune actualizată a standardului GM, incluzând și mai multe controlere, patch-uri, RPN și mesaje SysEx în încercarea de a reconcilia adăugările conflictuale și de proprietate ale Roland GS și Yamaha XG. Iată o scurtă prezentare generală a modificărilor GM2 în comparație cu GM/GS:
Instrumente melodice suplimentare pot fi obținute prin setarea CC#0 la 121 și apoi folosind CC#32 pentru a selecta banca înainte de a schimba programul.