midi musical instrument digital interface · 2016-05-25 · dispositivi midi la workstation...

of 77/77
1 MIDI Musical Instrument Digital Interface L’interfaccia MIDI Il protocollo MIDI Il sequencer

Post on 10-Mar-2020

0 views

Category:

Documents

0 download

Embed Size (px)

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 (

  • 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