Transcript
Page 1: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

1

MIDI Musical Instrument Digital Interface

L’interfaccia MIDI Il protocollo MIDI Il sequencer

Page 2: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 3: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 4: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 5: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 6: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 7: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 8: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 9: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 10: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 11: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 12: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 13: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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, …)

Page 14: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 15: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 16: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 17: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 18: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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:

Page 19: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

Tracce, canali e patch

19

Page 20: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 21: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 22: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 23: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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.

Page 24: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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.

Page 25: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 26: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 27: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 28: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

28

Channel Message: Data Bytes

1 o più byte Iniziano con 0: 0xxx xxxx 128 valori a disposizione

Page 29: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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)

Page 30: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 31: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 32: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 33: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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!

Page 34: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 35: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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)

Page 36: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 37: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 38: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

38

Riassunto Voice Messages

Page 39: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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 …

Page 40: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 41: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 42: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 43: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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)

Page 44: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 45: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 46: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 47: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 48: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 49: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 50: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 51: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 52: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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)

Page 53: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 54: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 55: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 56: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 57: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 58: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 59: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 60: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 61: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

61

Il Sequencer

Page 62: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

62

Interfaccia: Mixer

Muting Recording Soloing

Modifiche esecuzione Key+ Vel+ Time+

Porta Panning (stereo)

Page 63: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

63

Interfaccia: Event List

Tick Tempo MeasureBeatTick

Page 64: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

64

Interfaccia: Piano Roll

Page 65: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

65

Editing

Editing di base Registrazione

Real time Step by step

Tempo e quantizzazione

Page 66: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 67: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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à

Page 68: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 69: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 70: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 71: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 72: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la 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

Page 73: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 74: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 75: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 76: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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

Page 77: MIDI Musical Instrument Digital Interface · 2016-05-25 · Dispositivi MIDI La workstation all'interno è divisa in due sezioni distinte: una di controllo, che comprende la tastiera,

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