Lezione 11
General MIDI
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 Program
Change, di valore 32
• Sul DX-7 corrisponde a timbro
di basso, ma sul Proteus?
MIDI Out
Yamaha DX-7
MIDI In
EMU Proteus XR
• 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
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
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 Pad
Sintetizzatori (suoni d'accompagnamento)
97 ÷ 104
Synth Effects
Effetti sintetizzati
105 ÷ 112
Ethnic
Strumenti etnici
113 ÷ 120
Percussive
Percussioni
121 ÷ 128
Sound Effects
Effetti sonori
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Tabella dei timbri GM (pianoforti e percussioni)
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Tabella dei timbri GM
(organi e chitarre)
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Tabella dei timbri GM
(bassi e archi)
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Tabella dei timbri GM
(ensemble e ottoni)
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Tabella dei timbri GM
(strumenti ad ancia e fiati)
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Tabella dei timbri GM
(synth principali e d’accompagnamento)
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)
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Tabella dei timbri GM
(effetti sintetizzati e suoni etnici)
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Tabella dei timbri GM
(percussioni ed effetti sonori)
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
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
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Mappa della batteria GM
2/3
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
Mappa della batteria GM
3/3
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
Programmazione MIDI (Prof. Luca A. Ludovico)
11. General MIDI
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] TR808 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
Scarica

General MIDI