midi musical instrument digital interface · 2016-05-25 · dispositivi midi la workstation...
Post on 10-Mar-2020
7 Views
Preview:
TRANSCRIPT
1
MIDI Musical Instrument Digital Interface
L’interfaccia MIDI Il protocollo MIDI Il sequencer
Che cosa è il MIDI?
Protocollo per lo scambio d'informazioni in formato digitale fra diverse apparecchiature per applicazioni musicali Implementa una rappresentazione a livello simbolico della musica Definisce
hardware regole per la trasmissione e la ricezione semantica sintassi
Ossia che circuito deve avere l'interfaccia quale deve essere la velocità con la quale viaggiano i bit quali e quanti byte servono per effettuare istruzioni riconoscibili
2
Protocollo MIDI, MIDI file e General MIDI
il protocollo MIDI serve per la trasmissione di messaggi MIDI tra dispositivi differenti
lo Standard MIDI file è un formato che consente la memorizzazione dei messaggi MIDI su supporti permanenti
il General MIDI precisa il significato di alcuni messaggi MIDI (ad es. consente di specificare in maniera univoca un timbro musicale)
3
4
Come nasce il MIDI
Limitazioni dei primi sintetizzatori (monofonici e con pochi timbri) Integrazione di più sintetizzatori per produrre suoni più ricchi Problema della comunicazione
altezza e ampiezza di una nota sincronizzazione
Synth1 Synth2 Audio out Audio out
MASTER SLAVE
5
Cronologia
Inizio anni ‘80: necessità di uno standard per la comunicazione tra i sintetizzatorim di marche diverse problemi di cavi, differenze di volt, ... AES - primo tentativo: protocollo USI (Universal Synthesizer Interface), 1981 modifiche e integrazioni con la partecipazione dei maggiori produttori di strumenti elettronici 1983: MIDI 1.0 1991: General MIDI, per fornire al mercato di massa un approccio predefinito alla configurazione MIDI 1999: General MIDI Level 2 1999: Downloadable Sounds (DLS), per standardizzare il formato dei timbri scaricabili da rete
Si utilizza il formato RIFF Per il mercato dei videogiochi
6
Due concetti del MIDI
Interfaccia MIDI: hardware necessario per la comunicazione tra strumenti
Protocollo di comunicazione MIDI: insieme di regole per interpretare univocamente tutti i messaggi
Il MIDI permette di collegare DISPOSITIVI elettronici al fine di trasmettere INFORMAZIONI di natura musicale
Dispositivi MIDI
Generatori di dati midi: Master keyboard, computer, workstation, controller, etc.
I generatori di suono: Expander e sintetizzatori, batterie elettroniche, computer, etc.
Le interfacce: Sincronizzatori, midibox, patchbay, etc.
7
Dispositivi MIDI
La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera, i comandi e la parte elettronica per l'elaborazione in entrata ed uscita dei dati midi, ed una di generazione di suono. I modelli più evoluti possono svolgere funzioni di sequencer. La masterkeyboard è in grado di svolgere tutte le funzioni di controllo MIDI più o meno complesse, la caratteristica che la distingue dal sintetizzatore è l'assenza della sezione di generatore di suono. Il computer si è affiancato alle apparecchiature midi e con i software ed hardware presenti in commercio è in grado di svolgere le funzioni MIDI più complesse. L'expander o modulo sonoro è composto dalla sola sezione di generazione di suono di un sintetizzatore. Le interfaccie sono dispositivi di ausilio ad un sistema MIDI:
Sincronizzatori à servono a fare partire e camminare allineate diverse apparecchiature MIDI. Midibox à utili per filtrare, miscelare e collegare varie fonti MIDI. Troviamo tra le più importanti: Merge, Patch Bay, Thru
8
MIDI Box e Patch Bay
Midibox à utili per filtrare, miscelare e collegare varie fonti MIDI.
Thru Box: lo stesso ingresso su tutte le uscite Patch Bay: molti ingressi, molte uscite: routing, merging MIDI processor
9
10
Interfaccia MIDI 1/2
Interfaccia seriale asincrona Dati come sequenza di bit
Occorrono convertitori parallelo/ seriale (ACIA o UART) L’invio dei dati dipende dal momento in cui un dispositivo inizia a trasmettere
Velocità: 31.250 bit/sec Un byte (10 bit = 8 + bit di start + bit di stop) → 320 msec
Connettori di tipo DIN a 5 pin L’avvolgimenti è proprio del MIDI
non si possono usare cavi DIN standard Lunghezza massima: 6.6 m
oltre intervengono problemi di dispersione) 1
2
3
4 5
schermatura
+ 5 V
dati MIDI
11
Interfaccia MIDI 2/2
Porte fisiche (connettori) MIDI In: riceve segnali dall’esterno MIDI Out: trasmette dati MIDI all’esterno MIDI Thru: trasmette all’esterno la copia esatta dei dati ricevuti al MIDI In
Patch bay → consente di effettuare un routing, scegliendo tra più configurazioni ingresso/uscita
Permette di assegnare un solo ingresso a più uscite e più uscite ad un ingresso (merging)
IN OUT THRU
IN OUT THRU IN OUT THRU
12
Schema riassuntivo
µP ACIA
o UART
Dati
Comandi
Interrupt
5 2
4 5
4 Opto
isolatore
Tx
Rx
V cc
FIFO byte
bit
ACIA – Asynchronous Communication Interface Adapter UART – Universal Asynchronous Receiver/Transmitter
13
Sistema MIDI
Editor (sequencer): programmi per brani musicali come sequenze di eventi complessi Expander: generatori di suono (sintetizzatori, campionatori, …) Controller: generatori di messaggi MIDI (tastiere, MIDI-sax, MIDI-guitar, drum-pads, …)
Schemi di connessione MIDI
14
Synth1 Synth2
MIDI out MIDI in I)
II)
Master Keyboard
MIDI out MIDI in
Sequencer
MIDI Expander
Drum machine
MIDI out MIDI thru
MIDI in
MIDI in
Informazioni MIDI
Comunicazione attraverso messaggi I messaggi non rappresentano una forma d’onda
solo informazioni di controllo Note
Note on, Note off, key-number, key-velocity Canali
Al massimo 16 Patch Controlli Informazioni di tempo
15
16
Il protocollo MIDI: canali
Canali “Strade per la comunicazione” Ad ogni canale può essere associato un particolare timbro Indirizzano i messaggi agli expander Il MIDI ha 16 canali per la comunicazione I device possono rispondere a 1 o più canali Due esempi d’utilizzo di tutti 16 i canali Manuel De Falla, Quintetto (El Amor Brujo: Danza ritual del fuego):
3 diverse assegnazioni di timbri ai canali
17
Il protocollo MIDI (cont.)
Tracce Flusso autonomo di dati MIDI analogia: partitura per un esecutore Esempio: in un brano per 2 pianoforti, ogni traccia è uno strumento, pur mantenendo lo stesso timbro Può essere associata ad un canale, per poter modificare un timbro Riorchestrazione, modificando il timbro associato ad un canale
0 Grand piano; 4 Rhodes piano; 6 Harpsichord; 11 Vibraphone; 12 Marimba; 13 Xylophone; 21 Accordion; 22 Harmonica; 23 Tango accordion; 24 Acoustic guitar (nylon); 25 Acoustic guitar (steel); 26 Electric guitar (jazz); 32 Acoustic bass; 33 Electric bass (finger); 40 Violin; 41 Viola; 42 Cello; 46 Orchestral harp; 47 Timpani; 48 String ensemble 1;
56 Trumpet; 57 Trombone; 71 Clarinet; 73 Flute; 79 Ocarina; 80 Square Lead; 81 Sawtooth Lead; 94 Halo Pad; 104 Sitar; 105 Banjo; 118 Synth drum; 119 Reverse cymbal; 120 Guitar fret noise; 121 Breath noise; 122 Sea shore; 123 Bird tweet; 124 Telephone ring; 125 Helicopter; 126 Applause; 127 Gunshot
18
Patch
Patch controlli che definiscono un particolare timbro
I messaggi MIDI possono indirizzare sino a 128 timbri (patch) diversi Si possono utilizzare diversi bank di 128 patch l’uno. Alcune patch General MIDI:
Tracce, canali e patch
19
20
Temporizzazione
I messaggi MIDI includono l’informazione temporale (timestamp) Ogni dispositivo MIDI è dotato di un clock con unità di misura (timebase) particolare:
PPQ (parti per quarto) o ticks Relativa: dipende dalla durata di un quarto Il numero di quarti (semiminime) al minuto è indicato con BPM (beats per minute): tra 40 e 240
Valori tipici: 24, 96, 480 (tutti multipli di 24), sino a 4096
21
Esempio
120 BPM, Timebase = 24 ticks
120 BPM = 2 beat/sec, cioè 0,5 sec per 1 beat
24 ticks in un beat, cioè in 0,5 sec 0,5 / 24 = 0,020833 sec = circa 21 msec
Quindi 1 tick dura circa 21 msec
22
Sincronizzazione MIDI
MIDI Clock: Il device master “tiene il tempo” con il suo clock (internal sync): produce un clock message ogni 24 PPQ Devices slave con external sync: usano il clock message che arriva dal master
23
MIDI Timecode Quarter Frame
MIDI Time Code Per coordinare dispositivi MIDI con produzioni audio/video Traduzione in tempo assoluto Fondamentale in ambiente multimediale
Il timecode (SMPTE) hh:mm:ss:ff Si usa in televisione e video produzione è un codice speciale inviato (o registrato) insieme con i segnali video e audio risoluzione di circa 1–2 ms, sufficiente per sincronizzare audio con video, ma non per sincronizzare audio multitraccia.
24
Struttura generale di un messaggio MIDI
Parole di 10 bit (8 + start + stop) Status Byte – primo bit =1, identifica:
il tipo di messaggio (di canale o di sistema) il canale interessato (nei channel message) Il messaggio di sistema
ne esistono solo 11, quindi bastano i 4 bit meno significativi dello Status Byte
1 o 2 Data byte: il messaggio
La velocità di trasmissione è 31250 bit/sec.
Messaggi MIDI: livello logico
Il flusso di dati MIDI può essere diviso in byte che contengono dati (data bytes) byte che specificano il significato di tali dati (status byte).
I diversi tipi di messaggi (status byte) si possono dividere in system message sono indirizzati a tutti i canali e vengono quindi recepiti da tutti i dispositivi collegati channel message sono messaggi indirizzati ad un particolare canale, che vengono recepiti solo dai dispositivi che hanno quel particolare canale d’ascolto attivato.
Status byte: 1xxxyyyy xxx indica il tipo di messaggio yyyy indica il canale di destinazione (24=16)
Data byte: 0xxxxxxx xxxxxxx contiene il valore del parametro (27=127)
25
26
La tassonomia dei messaggi
Che cosa deve suonare uno strumento
Come si comporta uno strumento all’arrivo del voice message
Messaggi che riguardano un solo canale
Messaggi che non riguardano un canale
Indirizzati a tutti i device nel sistema
Codice di sincronizzazione tra i device
Indirizzati a uno specifico device nel sistema
Channel Voice
Message
Channel Mode
Message
Channel Message
System Common Message
System Real Time Message
System Exclusive Message
System Message
Message Type
27
Channel Message: Status byte
primi 4 bit: codice di identificazione del messaggio (tra 1000 e 1110)
secondi 4 bit: identificazione del canale
Sempre 1 negli status byte
MSB 6 5 4 3 2 1 Message type hex
1 0 0 0 Uno dei sedici canali: 4 bit (0..15)
Note off 8c 1 0 0 1 Note on 9c 1 0 1 0 Aftertouch Ac
28
Channel Message: Data Bytes
1 o più byte Iniziano con 0: 0xxx xxxx 128 valori a disposizione
29
Channel Voice Messages
Channel Voice
Message
Channel Mode
Message
Channel Message
System Common Message
System Real Time Message
System Exclusive Message
System Message
Message Type
descrivono che cosa deve suonare uno strumento (eventi musicali)
30
Note On - Note Off
Si invia per attivare una nota 0x9c tasto di una tastiera pad di una batteria elettronica
2 data bytes numero nota (Do centrale = 60) 0NNN NNNN velocity: forza con cui si pigia un tasto (ampiezza dell’output, eventualmente timbro) 0VVV VVVV
Note Off Si invia per disattivare una nota 0x8c 2 data bytes
numero della nota 0NNN NNNN velocity: applicata al rilascio 0VVV VVVV
Le note (key) (128)
31
C C# D D# E F F# G G# A A# B Ottava
0 1 2 3 4 5 6 7 8 9 10 11 -1
12 13 14 15 16 17 18 19 20 21 22 23 0
24 25 26 27 28 29 30 31 32 33 34 35 1
36 37 38 39 40 41 42 43 44 45 46 47 2
48 49 50 51 52 53 54 55 56 57 58 59 3
60 61 62 63 64 65 66 67 68 69 70 71 4
72 73 74 75 76 77 78 79 80 81 82 83 5
84 85 86 87 88 89 90 91 92 93 94 95 6
96 97 98 99 100 101 102 103 104 105 106 107 7
108 109 110 111 112 113 114 115 116 117 118 119 8
120 121 122 123 124 125 126 127 9
32
Codifica abbreviata
Poiché la velocity è poco significativa per il NoteOff → NoteOff = “NoteOn con velocity = 0”
non si ripete lo status byte del NotaOn: 144 47 50 144 47 0 → 144 47 50 47 0 144 = 1001 - 0000 (NoteOn – Canale 1)
Si risparmia una media di 33% di traffico sulla rete
33
Aftertouch (Polyphonic Key Pressure)
Solo per device che rilevano cambi di pressione Simula strumenti con afflusso continuo di energia Status Byte → 1010nnnn 0xAc 2 data Bytes:
numero della nota 0NNN NNNN valore di pressione 0VVV VVVV
Riguarda una sola nota!
34
Aftertouch (Channel Pressure)
Solo per device che rilevano cambi di pressione Non si specifica il numero di nota: modifiche timbriche su tutto il canale Status Byte: 1101nnnn 0xDc 1 data byte: valore di pressione 0VVV VVVV Effetti diversi a seconda del device usato
35
Pitch Bend
Sulla tastiera: Pitch Wheel variazione frequenziale intorno alla frequenza del tasto premuto corrisponde al vibrato
Status Byte: 1110nnnn 0xEc 2 data byte: variazione (14 bit)
36
Program Change
Per sintetizzatori multi-timbrici Status byte: 1100nnnn 0xCc 1 data byte: Program Number 0PPP PPPP Si seleziona il timbro associato al canale nnnn In una unità di effetti può indicare un particolare effetto (ad esempio, un chorus) da attivare sul canale nnnn
37
Control Change
Controller: pedale, ruota, leva, bocchino Status Byte: 1011nnnn 0xBc 2 data byte:
Il primo specifica il controller Il secondo il valore che deve assumere
Controller continui: funzione di controllo controller 7: volume generale dello strumento controller 10: panning stereofonico di un suono
Controller a switch (valore ON/OFF) 64 (DAMPER PEDAL): pedale sostegno (ON/OFF) 123 (ALL NOTES OFF): spegne tutti i NoteOn attivi
38
Riassunto Voice Messages
39
MIDI Message Formats
8 ch key# vel Key Up
9 ch key# vel Key Down
Program Change
Polyphonic Aftertouch
System Exclusive
A ch press key#
C ch index#
B ch ctrl# value Control Change
Channel Aftertouch D ch press
E ch lo 7 hi 7 Pitch Bend
F 0
F E
… DATA …
Channel Mode Messages
40
• descrivono il modo in cui un generatore di suoni interpreta i comandi NoteOn/NoteOff che riceve monofonia/polifonia, singolo canale/tutti i canali
Channel Voice
Message
Channel Mode
Message
Channel Message
System Common Message
System Real Time Message
System Exclusive Message
System Message
Message Type
41
I modi
Configurazioni sulla base delle quali i dispositivi MIDI interpretano le informazioni relative ai canali
“Modalità” con cui trattare il messaggio Un expander può generare più suoni in contemporanea (voci) e con più timbri
numero di voci possibili = grado di polifonia voci di strumenti diversi = grado di politimbrica
caso speciale di Control change Channel mode status byte 0xBn
42
OMNI ON/OFF
OFF: il device risponde ai messaggi appartenenti al singolo canale prescelto ON: il device risponde ai messaggi appartenenti a tutti i canali
43
POLY/MONO
Il device risponde monofonicamente o polifonicamente ai singoli canali MIDI
MONO: suona una nota singola per canale POLY: suona più note per canale (numero limitato dalle limitazioni HW)
44
Combinazioni di modi
OMNI ON + POLY (usato in fase di test del sistema) OMNI ON + MONO (non usato) OMNI OFF + POLY (un canale con il massimo grado di polifonia permesso dall’HW) OMNI OFF + MONO
Modo “multi”: pensato per gli strumenti multitimbrici Ogni patch riceve i dati di un singolo canale (da cui il nome omni off) In origine la risposta delle patch era monofonica (da cui mono), ora il modo “multi” è polifonico
45
System Messages
• si riferiscono a tutti i device • non includono quindi un numero di canale • sono utili per la sincronizzazione di più device
Channel Voice
Message
Channel Mode
Message
Channel Message
System Common Message
System Real Time Message
System Exclusive Message
System Message
Message Type
46
Esempio di messaggi di sistema
Status byte: 1111 xxxx 0xFx Poiché sono diretti a tutti i sistemi su tutti i canali, il secondo nibble non specifica il canale, ma i diversi messaggi di sistema Esempio: Più device con sequencer interno (pad + tastiera) memorizzano sequenze di dati MIDI → MIDI song memorizzata a pezzi su due device
batteria memorizza la parte di batteria della song tastiera memorizza la parte armonica e melodica →
Si definiscono master & slave device es. master batteria; slave tastiera START sulla batteria, anche tastiera parte
47
System Common Messages
Channel Voice
Message
Channel Mode
Message
Channel Message
System Common Message
System Real Time Message
System Exclusive Message
System Message
Message Type
• messaggi comuni a tutto il sistema
48
Song Position Pointer
status byte: 1111 0010 0xF2 2 data byte: 0LLL LLLL 0MMM MMMM 14 bit per indicare i beats dall’inizio della song → 214 posizioni diverse Indica il punto interno alla Song dove posizionare il puntatore
Registrazione o riproduzione iniziano da qual punto
status: 1111 0011 data: 0SSS SSSS seleziona una di 128 song possibili che un device può avere memorizzate il messaggio cambia la song corrente
Song Select
49
System Real Time Messages
Channel Voice
Message
Channel Mode
Message
Channel Message
System Common Message
System Real Time Message
System Exclusive Message
System Message
Message Type
• messaggi di sincronizzazione tra i device
50
Sincronismo tra i moduli
MIDI Clock è sincronizza l’intero sistema Viene generato dal master 24 volte per beat Controlla l’avanzamento degli slave Status Byte: 11110000 0xF0 Nessun Data Byte
Start/Continue/Stop dal master Start (11111010) tutti i dispositivi si alla locazione iniziale della song corrente Stop (11111100) blocca l’operazione in corso (play o rec) Continue (11111011) riprende l’operazione sospesa con stop
Active Sensing (11111111) mantiene attiva la connessione tra master e slave Inviato ogni 300 ms Se non viene ricevuto nessun byte (neppure l’Active Sensing) la comunicazione viene interrotta
System Reset Riporta tutti i dispositivi ai valori predefiniti
51
System Exclusive Messages
Channel Voice
Message
Channel Mode
Message
Channel Message
System Common Message
System Real Time Message
System Exclusive Message
System Message
Message Type
• messaggi esclusivi per device speciali
52
Messaggi esclusivi dei costruttori
Espedienti per comunicare qualsiasi cosa Di solito rivolti ai device di qualche particolare costruttore Struttura
Status byte: 1111 0000 ID byte: 0DDD DDDD (codice del costruttore) data bytes: quanti ne occorrono EOX byte: 1111 0111 (status byte finale)
53
General MIDI
General MIDI mode: regola a priori la corrispondenza canali, patch timbri (preset)
es. canale 4: melodia, canale 10: percussioni Presets per Program change
es. 2 per piano elettrico
54
Altri standard
Limitazione di GM: max 128 strumenti e controller Roland GS (General Standard)
messaggio Bank Select (aumenta i preset) controllo di effetti audio e parametri del suono
Yamaha XG strumenti, effetti, drum kit estesi scalabilità: approssimazione di messaggi non interpretati correttamente
55
Standard MIDI File (SMF)
Nasce nel 1988 Formato per memorizzare sequenze MIDI (song) Riconosciuto da tutti i programmi musicali
sequencer programmi per la stampa di partiture
Contiene informazioni necessarie per l’esecuzione
Lo Standard MIDI File (SMF)
Motivazioni Assente nel protocollo MIDI il concetto di tempo La gestione del tempo è affidata all’esecutore o al sequencer, i quali → Generano i messaggi in ben precisi istanti
Lo Standard MIDI File (SMF) Formato di memorizzazione e di scambio di brani musicali Sequenza di messaggi MIDI intercalati da informazioni sul ritardo di emissione Contiene informazioni necessarie per l’esecuzione Riconosciuto da tutti i programmi musicali
sequencer programmi per la stampa di partiture
56
57
Messaggio Bytes Tempo NoteOn0 90 4A 30 0 NoteOn1 91 40 30 0 | | | | NoteOff1 91 40 00 50 | | NoteOff0 90 4A 00 75 | | NoteOn1 91 41 30 100 | | | | NoteOff1 91 41 00 150 NoteOn0 90 48 30 150 | | NoteOff0 90 48 00 175 | | NoteOn0 90 47 30 200 NoteOn1 91 43 30 200 | | NoteOff1 91 43 00 225 | | NoteOff0 90 47 00 250 NoteOn1 91 41 30 250 | | NoteOff1 91 41 00 275 | | NoteOn0 90 47 30 300 NoteOn1 91 43 30 | …
Assunzione: una semiminima vale 1 sec (cioè 100 centesimi) L’informazione “tempo” non è del protocollo MIDI Informazione aggiuntiva dell’ intervallo tra un messaggio e il successivo: il MIDI file
Esempio
58
Il tempo
Ogni evento MIDI è preceduto da un numero (timestamp) che rappresenta l’intervallo di tempo (d-time) che separa un evento dal precedente. Può essere espresso in:
Tick: nel file viene anche specificata la durata DUR (in µs) di un quarto
tempo: DUR = 60.000.000 / BPM divisione: numero di tick in un quarto,
es. 96 con BPM=120: è 500.000/96 ≅ 5208 µs Secondo SMPTE: nel file viene anche specificato il numero di frame/secondo
59
Struttura di un MIDI file
Organizzazione in chunk due campi iniziali di 4 byte
ID = tipo di chunk dimensioni del chunk
data byte Due tipi di chunk
header chunk: 14 byte – posto all’inizio del file contiene le informazioni del formato, del numero di tracce e della temporizzazione.
track chunk: contiene gli eventi Midi relative ad una singola traccia, riferimento temporale (δ-time), che esprime il tempo trascorso tra ogni singolo evento, seguito da relativo messaggio
tipo lunghezza dati
4 bytes 4 bytes N bytes
60
Tre tipi di SMF:
Tipo 0 - una sola traccia General Header: identificazione del file, divisione, tempo metronomico, tempo musicale, chiave, ... Grande compatibilità
Tipo 1 - più tracce simultanee (<= 256) Il tempo solo sulla prima condiziona tutte le tracce Intestazione generale (General Header) + intestazioni di traccia
Tipo 2 - più tracce in cascata (<=256) Scarsa compatibilità – utilizzato nelle drum machine Il tempo su tutte le tracce Intestazione generale (General Header) + intestazioni di traccia
61
Il Sequencer
62
Interfaccia: Mixer
Muting Recording Soloing
Modifiche esecuzione Key+ Vel+ Time+
Porta Panning (stereo)
63
Interfaccia: Event List
Tick Tempo MeasureBeatTick
64
Interfaccia: Piano Roll
65
Editing
Editing di base Registrazione
Real time Step by step
Tempo e quantizzazione
66
Confronto Audio vs. MIDI
Un musicista suona 4 semiminime a un tempo di 60 beat/min (4 sec): Sintetizzatore MIDI
16 porzioni di informazione: 4 inizi, 4 fini, 4 altezze, 4 ampiezze 3 byte per informazione = 48 byte
Registratore digitale con microfono (stereo) Fc = 44.1 kHz 44100 x 2 canali x 4 secondi = 352.800 camp. campioni a 16 bit: 705.600 byte
67
Vantaggio della registrazione MIDI
Sequencer multitraccia MIDI a 48 tracce costa poche decine di dollari gestisce 4000 byte/sec
Registratore multitraccia digitale a 48 tracce costa (decine di) migliaia di dollari gestisce 4,6 Mb/sec
Rapporto 1 / 1000 sia per costo che per capacità
68
Vantaggio della registrazione digitale
Può registrare qualsiasi suono che un microfono può catturare (inclusa la voce) Descrive il segnale in tutte le sue sfumature (modulazioni, forma d’onda, …), mentre il MIDI è limitato a poche informazioni di controllo Portabilità della registrazione: cambiando il sintetizzatore, il suono di una registrazione MIDI può cambiare totalmente
Messaggi MIDI
Data byte(s) Status byte
System message
Channel message
Channel mode
Channel voice
System common
System Real Time
System Exclusive
⇒ Note-on ⇒ Note-off ⇒ Key aftertouch ⇒ Channel aftertouch ⇒ Control change ⇒ Pitch bend ⇒ Program change ⇒ Bank select
⇒ Local/remote keyboard control ⇒ All notes off ⇒ Reset all controllers ⇒ Mode select
⇒ Song position pointer ⇒ Song select ⇒ Tune request ⇒ End system exclusive ⇒ Quarter frame
⇒ Midi clock ⇒ Start ⇒ Stop ⇒ Continue ⇒ Active sensing ⇒ System reset
Schema riassuntivo dei messaggi MIDI
69
70
Vantaggi del MIDI
Non è necessario memorizzare i segnali sonori, soltanto i dati gestuali
(I dati MIDI NON sono campioni audio) Il musicista può cambiare alcuni aspetti dell’esecuzione dopo la registrazione La registrazione non ha distorsione, fruscio, …, nonostante tutte le possibili manipolazioni
71
Limiti del MIDI
Baud rate 31250 bit/sec, in 1 sec 500 note: pezzi complessi con molti strumenti richiedono velocità più elevate Numero limitato di canali, nessun indirizzamento dei device, difficoltà a configurare grandi reti MIDI Ridotto range dei valori (0 -- 127) Dipendenza dai dati MIDI: arbitrarietà delle patch (ora General MIDI)
Rappresentazione della musica focalizzata per musica pop per tastiera
General MIDI
MIDI + Instrument Patch Map + Percussion Key Map --> a piece of MIDI music sounds the same anywhere it is played
Instrument patch map is a standard program list consisting of 128 patch types. Percussion map specifies 47 percussion sounds. Key-based percussion is always transmitted on MIDI channel 10.
Requirements for General MIDI Compatibility: Support all 16 channels. Each channel can play a different instrument/program (multitimbral). Each channel can play many voices (polyphony). Minimum of 24 fully dynamically allocated voices.
72
General MIDI Instrument Patch Map
Prog# Instrument Prog# Instrument ----- ---------- ----- ---------- (1-8 PIANO) (9-16 CHROM PERCUSSION) 1 Acoustic Grand 9 Celesta 2 Bright Acoustic 10 Glockenspiel 3 Electric Grand 11 Music Box 4 Honky-Tonk 12 Vibraphone 5 Electric Piano 1 13 Marimba 6 Electric Piano 2 14 Xylophone 7 Harpsichord 15 Tubular Bells 8 Clav 16 Dulcimer (17-24 ORGAN) (25-32 GUITAR) 17 Drawbar Organ 25 Acoustic Guitar(nylon) 18 Percussive Organ 26 Acoustic Guitar(steel) 19 Rock Organ 27 Electric Guitar(jazz) 20 Church Organ 28 Electric Guitar(clean) 21 Reed Organ 29 Electric Guitar(muted) 22 Accoridan 30 Overdriven Guitar 23 Harmonica 31 Distortion Guitar 24 Tango Accordian 32 Guitar Harmonics
73
General MIDI Instrument Patch Map
Prog# Instrument Prog# Instrument ----- ---------- ----- ---------- (33-40 BASS) (41-48 STRINGS) 33 Acoustic Bass 41 Violin 34 Electric Bass(finger) 42 Viola 35 Electric Bass(pick) 43 Cello 36 Fretless Bass 44 Contrabass 37 Slap Bass 1 45 Tremolo Strings 38 Slap Bass 2 46 Pizzicato Strings 39 Synth Bass 1 47 Orchestral Strings 40 Synth Bass 2 48 Timpani (49-56 ENSEMBLE) (57-64 BRASS) 49 String Ensemble 1 57 Trumpet 50 String Ensemble 2 58 Trombone 51 SynthStrings 1 59 Tuba 52 SynthStrings 2 60 Muted Trumpet 53 Choir Aahs 61 French Horn 54 Voice Oohs 62 Brass Section 55 Synth Voice 63 SynthBrass 1 56 Orchestra Hit 64 SynthBrass 2
74
General MIDI Instrument Patch Map
Prog# Instrument Prog# Instrument ----- ---------- ----- ---------- (65-72 REED) (73-80 PIPE) 65 Soprano Sax 73 Piccolo 66 Alto Sax 74 Flute 67 Tenor Sax 75 Recorder 68 Baritone Sax 76 Pan Flute 69 Oboe 77 Blown Bottle 70 English Horn 78 Skakuhachi 71 Bassoon 79 Whistle 72 Clarinet 80 Ocarina (81-88 SYNTH LEAD) (89-96 SYNTH PAD) 81 Lead 1 (square) 89 Pad 1 (new age) 82 Lead 2 (sawtooth) 90 Pad 2 (warm) 83 Lead 3 (calliope) 91 Pad 3 (polysynth) 84 Lead 4 (chiff) 92 Pad 4 (choir) 85 Lead 5 (charang) 93 Pad 5 (bowed) 86 Lead 6 (voice) 94 Pad 6 (metallic) 87 Lead 7 (fifths) 95 Pad 7 (halo) 88 Lead 8 (bass+lead) 96 Pad 8 (sweep)
75
General MIDI Instrument Patch Map
Prog# Instrument Prog# Instrument ----- ---------- ----- ---------- (97-104 SYNTH EFFECTS) (105-112 ETHNIC) 97 FX 1 (rain) 105 Sitar 98 FX 2 (soundtrack) 106 Banjo 99 FX 3 (crystal) 107 Shamisen 100 FX 4 (atmosphere) 108 Koto 101 FX 5 (brightness) 109 Kalimba 102 FX 6 (goblins) 110 Bagpipe 103 FX 7 (echoes) 111 Fiddle 104 FX 8 (sci-fi) 112 Shanai (113-120 PERCUSSIVE) (121-128 SOUND EFFECTS) 113 Tinkle Bell 121 Guitar Fret Noise 114 Agogo 122 Breath Noise 115 Steel Drums 123 Seashore 116 Woodblock 124 Bird Tweet 117 Taiko Drum 125 Telephone Ring 118 Melodic Tom 126 Helicopter 119 Synth Drum 127 Applause 120 Reverse Cymbal 128 Gunshot
76
General MIDI Percussion Key Map
MIDI Key Drum Sound MIDI Key Drum Sound -------- ---------- ---------- ---------- 35 Acoustic Bass Drum 59 Ride Cymbal 2 36 Bass Drum 1 60 Hi Bongo 37 Side Stick 61 Low Bongo 38 Acoustic Snare 62 Mute Hi Conga 39 Hand Clap 63 Open Hi Conga 40 Electric Snare 64 Low Conga 41 Low Floor Tom 65 High Timbale 42 Closed Hi-Hat 66 Low Timbale 43 High Floor Tom 67 High Agogo 44 Pedal Hi-Hat 68 Low Agogo 45 Low Tom 69 Cabasa 46 Open Hi-Hat 70 Maracas 47 Low-Mid Tom 71 Short Whistle 48 Hi-Mid Tom 72 Long Whistle 49 Crash Cymbal 1 73 Short Guiro 50 High Tom 74 Long Guiro 51 Ride Cymbal 1 75 Claves 52 Chinese Cymbal 76 Hi Wood Block 53 Ride Bell 77 Low Wood Block 54 Tambourine 78 Mute Cuica 55 Splash Cymbal 79 Open Cuica 56 Cowbell 80 Mute Triangle 57 Crash Cymbal 2 81 Open Triangle 58 Vibraslap
77
top related