General MIDI
Lezione 11
Programmazione MIDI (Prof. Luca A. Ludovico)
Prospettiva storica
• Nei primi anni ‘80 nasce lo standard MIDI 1.0
• Carenze:– Non esiste set di patch standard– Non vi sono specifiche per gli strumenti multitimbrici
• Nel 1991 MMA (Midi Manufacturers Association) e JMSC (Japan MIDI Standard Committee) emanano le specifiche chiamate General MIDI System Level 1, o GM
• GM è stato integrato nelle specifiche MIDI 2.0
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Esempio
• Collegamento di 2 sintetizzatori:– tastiera Yamaha DX-7– modulo sonoro EMU Proteus XR
• Invio di un messaggio di ProgramChange, di valore 32
• Sul DX-7 corrisponde a timbro di basso, ma sul Proteus?
• In assenza di uno standard, due moduli sonori MIDI non hanno lo stesso elenco di timbri, come numero, tipologia e ordine.
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Yamaha DX-7
MIDI In
EMU Proteus XR
MIDI Out
General MIDI
• Un dispositivo GM compatibile deve aderire ai requisiti General MIDI System Level 1
• General MIDI è una prassi consigliata per i costruttori, ma non vincolante
• Contesti d’uso:– Hobby, applicazioni semi-professionali– Distribuzione e scambio di brani– NON produzione di suoni, perché non potrebbero essere salvati al di fuori dei 128 program predefiniti GM
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Le patch General MIDI
• GM definisce un elenco di timbri (detti program o patch)
• GM non definisce con precisione le forme d’onda, che restano a discrezione del costruttore. Piuttosto, si cerca di creare un bank di suoni di buona qualità e aderenti allo standard GM
• Conseguenza: due diversi moduli sonori, entrambi GM, possono avere nette discrepanze nelle prestazioni e nella qualità della performance di uno stesso brano
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Organizzazione dei timbri GM
• Standard comune a tutti i dispositivi GM compatibili
• 128 preset timbrici, numerati da 0 a 127
• 16 famiglie, ciascuna fatta di 8 preset
• Lo standard prevede timbri acustici, elettronici, percussivi ed effetti sonori
• Sono inclusi i timbri e gli effetti più comuni, ma l’elenco non è esaustivo
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Tabella delle famiglie dei timbri GM
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Famiglia (eng) Famiglia (ita)
1 ÷ 8 Piano Pianoforti
9 ÷ 16 Chromatic Percussion Strumenti cromatici a percussione
17 ÷ 24 Organ Organi
25 ÷ 32 Guitar Chitarre
33 ÷ 40 Bass Bassi
41 ÷ 48 Strings Strumenti ad arco
49 ÷ 56 Ensemble Ensemble
57 ÷ 64 Brass Ottoni
65 ÷ 72 Reed Strumenti ad ancia
73 ÷ 80 Pipe Strumenti a fiato
81 ÷ 88 Synth Lead Sintetizzatori (suoni guida)
89 ÷ 96 Synth PadSintetizzatori (suoni d'accompagnamento)
97 ÷ 104 Synth Effects Effetti sintetizzati
105 ÷ 112 Ethnic Strumenti etnici
113 ÷ 120 Percussive Percussioni
121 ÷ 128 Sound Effects Effetti sonori
Tabella dei timbri GM (pianoforti e percussioni)
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Strumento (eng) Strumento (ita)
1 Acoustic Grand Piano Gran piano Acustico
2 Bright Acoustic Piano Piano acustico brillante
3 Electric Grand Piano Gran Piano Elettrico
4 Honky-tonk Piano Piano honty-tonk
5 Electric Piano 1 Piano elettrico 1
6 Electric Piano 2 Piano elettrico 2
7 Harpsichord Clavicembalo
8 Clavinet Clavicordo
9 Celesta Celesta
10 Glockenspiel Campanelli
11 Music Box Music Box
12 Vibraphone Vibrafono
13 Marimba Marimba
14 Xylophone Xylofono
15 Tubular Bells Campane tubolari
16 Dulcimer Dulcimer
Tabella dei timbri GM (organi e chitarre)
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Strumento (eng) Strumento (ita)
17 Drawbar Organ Organetto
18 Percussive Organ Organo a percussione
19 Rock Organ Organo rock
20 Church Organ Organo da chiesa
21 Reed Organ Organo ad ancia
22 Accordion Fisarmonica
23 Harmonica Armonica
24 Tango Accordion Fisarmonica da tango
25 Acoustic Guitar (nylon) Chitarra acustica (corde in nylon)
26 Acoustic Guitar (steel) Chitarra acustica (corde in acciaio)
27 Electric Guitar (jazz) Chitarra jazz
28 Electric Guitar (clean) Chitarra elettrica (suono neutro)
29 Electric Guitar (muted) Chitarra elettrica (stoppata)
30 Overdriven Guitar Chitarra con overdrive
31 Distortion Guitar Chitarra distorta
32 Guitar harmonics Chitarra armonnica
Tabella dei timbri GM (bassi e archi)
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Strumento (eng) Strumento (ita)
33 Acoustic Bass Basso acustico
34 Electric Bass (finger) Basso elettrico (pizzicato)
35 Electric Bass (pick) Basso elettrico (a plettro)
36 Fretless Bass Basso senza tasti
37 Slap Bass 1 Basso slappato 1
38 Slap Bass 2 Basso slappato 2
39 Synth Bass 1 Basso sintetizzato 1
40 Synth Bass 2 Basso sintetizzato 2
41 Violin Violino
42 Viola Viola
43 Cello Violoncello
44 Contrabass Contrabbasso
45 Tremolo Strings Tremolo d’archi
46 Pizzicato Strings Pizzicato d’archi
47 Orchestral Harp Arpa
48 Timpani Timpani
Tabella dei timbri GM (ensemble e ottoni)
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Strumento (eng) Strumento (ita)
49 String Ensemble 1 Ensemble di archi 1
50 String Ensemble 2 Ensemble di archi 2
51 SynthStrings 1 Archi sintetizzati 1
52 SynthStrings 2 Archi sintetizzati 2
53 Choir Aahs Coro "Aahs"
54 Voice Oohs Voci "Oohs"
55 Synth Voice Voce sintetizzata
56 Orchestra Hit Colpo d'orchestra
57 Trumpet Trombe
58 Trombone Trombone
59 Tuba Tuba
60 Muted Trumpet Tromba con sordina
61 French Horn Corno
62 Brass Section Ensemble di ottoni
63 SynthBrass 1 Tromba sintetizzata 1
64 SynthBrass 2 Tromba sintetizzata 2
Tabella dei timbri GM (strumenti ad ancia e fiati)
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Strumento (eng) Strumento (ita)
65 Soprano Sax Sassofono soprano
66 Alto Sax Sassofono alto
67 Tenor Sax Sassofono tenore
68 Baritone Sax Sassofono baritono
69 Oboe Oboe
70 English Horn Corno inglese
71 Bassoon Fagotto
72 Clarinet Clarinetto
73 Piccolo Ottavino
74 Flute Flauto
75 Recorder Recorder
76 Pan Flute Flauto di Pan
77 Blown Bottle Soffio nella bottiglia
78 Shakuhachi Shakuhachi
79 Whistle Fischio
80 Ocarina Ocarina
Tabella dei timbri GM (synth principali e d ’accompagnamento)
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Strumento (eng) Strumento (ita)
81 Lead 1 (square) Suoni guida 1 (square)
82 Lead 2 (sawtooth) Suoni guida 2 (sawtooth)
83 Lead 3 (calliope) Suoni guida 3 (calliope)
84 Lead 4 (chiff) Suoni guida 4 (chiff)
85 Lead 5 (charang) Suoni guida 5 (charang)
86 Lead 6 (voice) Suoni guida 6 (voice)
87 Lead 7 (fifths) Suoni guida 7 (fifths)
88 Lead 8 (bass + lead) Suoni guida 8 (bass + lead)
89 Pad 1 (new age) Pad 1 (new age)
90 Pad 2 (warm) Pad 2 (warm)
91 Pad 3 (polysynth) Pad 3 (polysynth)
92 Pad 4 (choir) Pad 4 (choir)
93 Pad 5 (bowed) Pad 5 (bowed)
94 Pad 6 (metallic) Pad 6 (metallic)
95 Pad 7 (halo) Pad 7 (halo)
96 Pad 8 (sweep) Pad 8 (sweep)
Tabella dei timbri GM (effetti sintetizzati e suoni etnici)
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Strumento (eng) Strumento (ita)
97 FX 1 (rain) FX 1 (pioggia)
98 FX 2 (soundtrack) FX 2 (colonna sonora)
99 FX 3 (crystal) FX 3 (cristallino)
100 FX 4 (atmosphere) FX 4 (atmosfera)
101 FX 5 (brightness) FX 5 (luminoso)
102 FX 6 (goblins) FX 6 (goblin)
103 FX 7 (echoes) FX 7 (eco)
104 FX 8 (sci-fi) FX 8 (sci-fi)
105 Sitar Sitar
106 Banjo Banjo
107 Shamisen Shamisen
108 Koto Koto
109 Kalimba Kalimba
110 Bag pipe Cornamusa
111 Fiddle Fiddle
112 Shanai Shanai
Tabella dei timbri GM (percussioni ed effetti sonori)
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
PC# Strumento (eng) Strumento (ita)
113 Tinkle Bell Campana suonata
114 Agogo Agogo
115 Steel Drums Batteria con suono metallico
116 Woodblock Percussioni con legni
117 Taiko Drum Percussioni Taiko
118 Melodic Tom Tom da batteria
119 Synth Drum Percussione sintetizzata
120 Reverse Cymbal Cimbalo rovescio
121 Guitar Fret Noise Rumore di chitarra
122 Breath Noise Rumore del respiro
123 Seashore Onde del mare
124 Bird Tweet Canto di uccelli
125 Telephone Ring Trillo del telefono
126 Helicopter Elicottero
127 Applause Applauso
128 Gunshot Sparo
Proprietà multitimbriche
• Standard minimi per moduli sonori multitimbrici
• Dispositivi GM consentono di suonare e registrare contemporaneamente fino a 16 canali MIDI
• Ciascun canale supporta un numero variabile di voci (polifonia) e strumenti differenti (timbri)– Numero variabile di voci polifoniche a seconda del modello, ma esiste un numero minimo (vedi slide successiva)
• Canale MIDI 10 riservato alle parti ritmiche e percussive
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Polifonia GM
• Per assicurarsi che tutte le note registrate siano eseguite, standard minimi sul numero di voci di polifonia
• Polifonia minima a 16 voci, assegnabili tutte a un solo canale così come una a ciascuno dei 16 canali– Rispettare la polifonia massima a 16 voci garantisce compatibilità con tutte le applicazioni e i dispositivi GM compatibili
• Non esiste valore massimo, dipende dal modello– Esempi: Roland JV-1080 e Yamaha MU80 sono GM compatibili, ma supportano 64 voci di polifonia
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Numeri di nota e set di suoni percussivi (batteria GM)
• Convenzione sui numeri di nota: 60 corrisponde al Do centrale (261,6 Hz), 69 al La centrale (440 Hz)
• Per i suoni percussivi, GM riserva il canale MIDI 10 e assegna 48 numeri di nota MIDI ad altrettanti timbri
• I suoni di batteria GM non fanno parte dei 128 program definiti nel bank GM, ma sono un set aggiuntivo presente su tutti i moduli sonori GM compatibili
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Mappa della batteria GM 1/3
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Pitch Suono (eng) Suono (ita)
35 Acoustic Bass Drum Batteria acustica
36 Bass Drum 1 Cassa
37 Side Stick Bacchette
38 Acoustic Snare Acoustic Snare
39 Hand Clap Battito di mani
40 Electric Snare Electric Snare
41 Low Floor Tom Tom molto basso
42 Closed Hi Hat Hit Hat chiuso
43 High Floor Tom Tom molto alto
44 Pedal Hi Hat Hit Hat a pedale
45 Low Tom Tom basso
46 Open Hi Hat Hit Hat aperto
47 Low-Mid Tom Tom medio basso
48 Hi-Mid Tom Tom medio alto
49 Crash Cymbal 1 Crash 1
50 High Tom Tom alto
Mappa della batteria GM 2/3
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Pitch Suono (eng) Suono (ita)
51 Ride Cymbal 1 Ride Cymbal 1
52 Chinese Cymbal Chinese Cymbal
53 Ride Bell Campana
54 Tambourine Tamburello
55 Splash Cymbal Splash Cymbal
56 Cowbell Campanaccio
57 Crash Cymbal 2 Crash 2
58 Vibraslap Vibraslap
59 Ride Cymbal 2 Ride Cymbal 2
60 Hi Bongo Bongo alto
61 Low Bongo Bongo basso
62 Mute Hi Conga Conga stoppata alta
63 Open Hi Conga Conga aperta alta
64 Low Conga Conga bassa
65 High Timbale Timbalo alto
66 Low Timbale Timbalo basso
Mappa della batteria GM 3/3
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Pitch Suono (eng) Suono (ita)
67 High Agogo Agogo alto
68 Low Agogo Agogo basso
69 Cabasa Cabasa
70 Maracas Maracas
71 Short Whistle Fischio corto
72 Long Whistle Fischio lungo
73 Short Guiro Guiro corto
74 Long Guiro Guiro lungo
75 Claves Claves
76 Hi Wood Block Legni alti
77 Low Wood Blook Legni bassi
78 Mute Cuica Cuica stoppata
79 Open Cuica Cuica aperta
80 Mute triangle Triangolo stoppato
81 Open triangle Triangolo aperto
Messaggi MIDI supportati
• Per garantire la riproduzione corretta di un brano MIDI, ogni dispositivo GM deve essere in grado di rispondere ai seguenti messaggi MIDI
– Control Change 1 (Modulation Wheel)– Control Change 7 (Channel Volume)– Control Change 10 (Pan)– Control Change 11 (Expression)– Control Change 64 (Sustain)– Control Change 121 (Reset All Controllers)– Control Change 123 (All Notes Off)– …
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Laboratorio 2
• Dimostrazione dei timbri GM con Program Change su Canale 1• Modulazione tramite pitch dei timbri a suono non determinato
• Esempio: telefono (125), applauso (127)
• Significato dei pitch sul Canale 10• Potenzialità XG dello Yamaha MU-80
Programmazione MIDI (Prof. Luca A. Ludovico)7. Laboratorio 1
Altre caratteristiche standardizzate
• Tutti i moduli GM devono rispondere alla velocity
• L’intervallo della rotella di pitch bend di default è compreso nell’intervallo [-2..+2] semitoni
• I moduli devono rispondere alla pressione del canale
• Almeno un connettore MIDI In, un MIDI Out, un MIDI Thru
• Accesso al controllo di volume master, 2 uscite audio (canale sx e dx) e un connettore per cuffie
• All’accensione, tutti i livelli di volume del canale impostati a 99, controller ed effetti off, intonazione sul La a 440 Hz
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Ampliamento dello standard GM
• Osservazioni sul GM da parte di alcuni produttori: bank di timbri troppo limitato
• Versioni custom del GM– Roland > GS Standard– Yamaha > XG Standard
• Sono superinsiemi dello standard GM, quindi:– Compatibilità totale– Maggior numero di timbri– Maggior numero di controlli sui parametri dei suoni
• Come vengono veicolati i messaggi non supportati dallo standard MIDI? Tramite messaggi SysEx
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Roland GS
• Aggiunge suoni e controller supplementari– Ad esempio, rapporto di inviluppo di attacco e di rilascio per i sintetizzatori
• Bank di suoni aggiuntivi, tra cui variazioni del GM e simulazione del modulo sonoro Roland MT-32
• In ciascun bank, i suoni sono mappati come in GM: 128 timbri, però suddivisi in 8 famiglie
• Se in un modulo GS giunge una richiesta per un bank di suoni o per un program che non esiste, il modulo lo riassegna automaticamente allo strumento principale della famiglia
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Esempi di aggiunte in Roland GS
• 9 Drum kit aggiuntivi, accessibili da ogni canale tramite messaggi di Bank Select MSB [0] e LSB [32]
[1] Standard Kit, [9] Room Kit, [17] Power Kit, [25] Electronic Kit, [26] TR-808 Kit, [33] Jazz Kit, [41] Brush Kit, [49] Orchestra Kit, [57] Sound FX Kit, [128] CM-64/CM-32L
• 14 note percussive aggiuntive
[27] High Q, [28] Slap, [29] Scratch Push, [30] Scratch Pull, [31] Sticks, [32] Square Click, [33] Metronome Click, [34] Metronome Bell
[35..81] valori predefiniti nel set di batteria GM
[82] Shaker, [83] Jingle Bell, [84] Belltree, [85] Castanets, [86] Mute Surdo, [87] Open Surdo
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Yamaha XG
• Aggiunge suoni e controller supplementari– Minimo 480 timbri a fronte dei 128 del GM
• Bank di suoni aggiuntivi accessibili tramite messaggi di Bank Select MSB [0] e LSB [32]
• Set di suoni predefinito in XG è diviso in 4 bank– Melody Voices– SFX Voices (set di effetti sonori)– SFX Kits (due set di effetti sonori aggiuntivi)– Rhythm Kits (selezione di 9 kit di batteria e percussioni)
• Reinterpretazione dei numeri di control change già assegnati per ottenere maggior controllo sui timbri e maggior realismo– Esempio: parametro brightness (control change 74) e risposta alla velocity tramite uso di filtri
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Yamaha XG
• Effetti applicabili ai suoni MIDI, sulla voce, sul canale o sul mixaggio generale:– Riverbero con differenti tipi di ambiente– Chorus– Effetti di spazializzazione– Tremolo– …
• Presenza di ingressi audio, che permettono di utilizzare il dispositivo anche come processore di effetti sonori esterni.
• I dispositivi XG hanno mixer digitale integrato.
Programmazione MIDI (Prof. Luca A. Ludovico)11. General MIDI
Esercizi sul General MIDI
• Domanda 1:Creare un messaggio di Program Change sul canale 2 per selezionare il timbro di xylofono (program 14 in GM)
Soluzione: 1100nnnn 0ppppppp > 11000001 00001101
• Domanda 2:A cosa corrisponde il seguente comando MIDI in ambito GM?10011001 00111100 01000000
Soluzione: in ambito non GM si tratterebbe di un Note On sul canale 10, con Pitch 60 (Do centrale) e Velocity 64; ma in GM il canale 10 è riservato ai suoni percussivi, quindi si tratta di un suono di Bongo alto con altezza non determinata e Velocity 64.
Piè di pagina: spazio libero per eventuale nome struttura o altro
Top Related