Condividi questa pagina su:

altraSoluzione piace a:

Interfaccia e protocollo MIDI spiegati in modo semplice

Stampa

Il "misteri" del MIDI a portata di musicista! Smile

Interfaccia e protocollo MIDIL'interfaccia MIDI e il protocollo MIDI sono due cose completamente diverse che hanno lo stesso scopo: far dialogare tra loro gli strumenti musicali. In questo articolo vorrei spiegare come funziona il MIDI in modo semplice... ed esauriente, per aiutare tutti quei musicisti che vogliono beneficiare delle grandi possibilità artistiche e tecniche che il MIDI offre.

La prima cosa che bisogna comprendere che l'interfaccia MIDI riguarda l'hardware mentre il protocollo MIDI attiene al software.

Compresa questa differenza, possiamo addentrarci nel fantastico mondo del MIDI che, nonostante la sua apparente complessità, cercherò d'illustrare nel modo più semplice possibile.

L'articolo è un po' lungo, quindi ritengo utile inserire un indice degli argomenti trattati e che ho selezionato per importanza, nella consapevolezza che il MIDI è un argomento troppo vasto per essere trattato in modo completo in un singolo articolo:

Visualizza l'offerta su Amazon

Cos'è il MIDI?

Rullo pianoforteLo standard MIDI (Musical Instrument Digital Interface) è nato negli anni '80 e ha cominciato a diffondersi negli anni '90 come un insieme di protocolli hardware e software per permettere agli strumenti musicali di dialogare tra loro e con i computer.

In buona sostanza, con la nascita degli strumenti musicali elettronici e con l'avvento dei primi personal computer, in campo musicale si è pensato a come sfruttare queste due tecnologie facendole dialogare tra loro, con lo scopo di memorizzare e riprodurre le note suonate dal musicista.

Ti starai chiedendo: «Ma non c'erano già i dischi e i nastri per questo?». La risposta, ovviamente, è "sì", ma qui stiamo parlando di un argomento diverso.

Infatti io ho scritto «...memorizzare e riprodurre le note suonate dal musicista», non i suoni!

Ora cominci a capire? Smile

In pratica, il MIDI è la versione elettronica e informatica dei rulli di una pianola o di un organo a rullo, inventati secoli prima del MIDI, che permettevano di riprodurre un brano suonato da un musicista, inciso praticando dei fori su un rullo di carta (o tramite chiodi e altri metodi meccanici) in corrispondenza delle note, ciascuna con la giusta durata, stabilita dalla lunghezza del foro.

Cos'è l'interfaccia MIDI?

L'interfaccia MIDI è l'insieme dei dispositivi hardware che si occupa di trasmettere dei messaggi MIDI, cioè dei codici facenti parte del protocollo MIDI che costituiscono il "linguaggio" di comunicazione tra due strumenti musicali elettronici o tra strumento musicale e computer.

L'interfaccia MIDI, dal punto di vista prettamente hardware, è un'interfaccia seriale, unidirezionale, a "loop di corrente" che permette di raggiungere una velocità di circa 31'250 bps.

Paroloni tecnici a parte, l'interfaccia MIDI "classica", a seconda del suo scopo, può avere un connettore d'ingresso (MIDI IN) e/o un connettore d'uscita (MIDI OUT) e/o un secondo connettore d'uscita con funzione di replica dei messaggi che arrivano sul connettore d'ingresso (MIDI THRU).

Più avanti spiegherò le funzioni di questi connettori più dettagliatamente.

Connettore MIDI femminaQuesti connettori, sempre nella versione "classica", sono di tipo DIN "femmina" pentapolare 180°, simili a quello rappresentato in figura.

Connettore MIDI maschioI collegamenti tra i dispositivi MIDI che montano questo tipo di connettori sono fatti tramite cavi maschio-maschio, ovviamente sempre DIN pentapolare 180°.

Cavo MIDI maschio-maschioUn tipico cavo MIDI è simile a quello in figura ed è disponibile su Amazon, in diverse lunghezze.

Perché ho specificato più volte la parola "classica" riferendomi all'interfaccia MIDI? Il motivo è che, pur essendo ancora molto diffusa, alla connessione con cavo pentapolare si sono affiancate, negli ultimi anni, anche altri tipi di connessione, come quella USB, ma si già sta pensando di utilizzare le comuni connessioni Ethernet e, quindi, di trasmettere i messaggi MIDI su Internet!

Ecco com'è fatto un gruppo di porte MIDI classico:

Porte MIDI

Ma di qualunque tipo sia la connessione, il risultato non cambia: un'interfaccia MIDI trasmette codici MIDI da un dispositivo a un altro.

MIDI IN, MIDI OUT e MIDI THRU

Come promesso, cerco di spiegare meglio le differenze tra questi tre connettori che possiamo trovare su un dispositivo MIDI.

Abbiamo detto che l'interfaccia MIDI è un'interfaccia unidirezionale, cioè è in grado di trasmettere messaggi da A a B, ma non da B ad A;

MIDI unidirezionale

Quindi, i dati viaggeranno sempre in una sola direzione, dalla "sorgente" (MIDI OUT) alla "destinazione" (MIDI IN).

Se volessi permettere il dialogo tra i due apparati come, per esempio, nel caso di una tastiera collegata a un computer, per permettere d'inviare al computer le note suonate sulla tastiera e contemporaneamente al computer d'inviare note alla tastiera, avrei bisogno di due porte midi per ciascun dispositivo, una MIDI IN e una MIDI OUT:

MIDI bidirezionale

Ok, ora che abbiamo compreso lo scopo delle connessioni IN e OUT nell'interfaccia MIDI, affrontiamo il terzo tipo di connettore: il MIDI THRU intorno al quale, tra i miei amici musicisti, aleggia da sempre un alone di mistero. Smile

Se volessi controllare due o più dispositivi MIDI con un'unica tastiera, per esempio, collegare la tastiera a un sintetizzatore (expander) e contemporaneamente anche al computer per registrare gli eventi MIDI e se la tastiera avesse una sola porta MIDI OUT (alcuni apparati ne hanno più di una) avrei soltanto due possibilità:

  1. Acquistare un MIDI Splitter con 1 ingresso (IN) e diverse uscite (OUT).
  2. Utilizzare la porta MIDI THRU del mio expander.

Infatti, la porta MIDI THRU non fa altro che replicare tutti i codici che arrivano sulla porta MIDI IN. In pratica è una sorta di ripetitore.

Quindi, nella situazione descritta, potrei collegare i dispositivi in questo modo:

MIDI THRU

In questo modo, i messaggi generati dalla tastiera dalla porta OUT arrivano alla porta IN dell'expander, il quale suona le note richieste e, inoltre, le replica sulla porta THRU, che è collegata al computer che, a sua volta, ha la porta OUT collegata alla porta IN della tastiera per poterle inviare i suoi codici.

Lo so, sembra un po' complicato, ma una volta afferrato il concetto di "chain" o "catena", i collegamenti ti verranno spontanei.

MIDI THRU concettoTi starai chiedendo perché non è possibile collegare la porta OUT dell'expander alla porta IN del computer, invece di utilizzare THRU. Il motivo sta proprio nella differenza tra OUT e THRU, dove OUT invia i codici generati dallo strumento stesso mentre il THRU non fa altro che replicare i codici che arrivano sulla porta IN, come se ci fosse un invisibile cavo MIDI interno allo strumento che collega le due porte.

Spero che questa figura possa aiutarti a comprendere meglio.

Alcuni strumenti sprovvisti della porta THRU, tramite un'apposita impostazione, possono simulare una porta THRU attraverso la loro porta OUT, cioè copiano i dati ricevuti dalla porta IN sulla porta OUT.
In questo modo, se non ti serve la porta OUT ma ti serve una porta THRU, puoi comunque risolvere il problema.

Non approfondisco ulteriormente questo argomento (ci sarebbe ancora molto da scrivere) per non confonderti le idee, ma spero che ora tu conosca, almeno in linea di principio, la differenza tra MIDI IN, MIDI OUT e MIDI THRU.

I canali MIDI

Lo standard MIDI è in grado di trasmettere, su una singola porta, messaggi destinati a 16 canali.

Questi canali funzionano un po' come i canali della televisione sulla quale, tramite la stessa antenna, è possibile ricevere trasmissioni diverse. Solo che, mentre sulla TV, a meno che non abbia la funzione PIP (Picture In Picture), possiamo vedere soltanto un canale alla volta, il MIDI trasmette e riceve "contemporaneamente" su tutti i 16 canali.

"Contemporaneamente" per modo di dire, perché in realtà nel MIDI non c'è nulla di contemporaneo. Infatti, tutti i messaggi sono trasmessi uno dopo l'altro, in serie. Solo che la velocità di trasmissione è abbastanza elevata da rendere l'intervallo di tempo tra il primo messaggio e i successivi impercettibile dall'orecchio umano, almeno in condizioni normali.

Se, invece, il traffico dati è elevato, magari a causa di numerosi messaggi Controller o SysEx, può capitare di percepire un ritardo delle note suonate.

Grazie ai 16 differenti canali, posso di decidere di trasmettere alcuni messaggi a uno strumento, per esempio "sintonizzato" sul canale 1 e messaggi completamente diversi a un altro strumento impostato per ricevere messaggi, sempre per esempio, sul canale 12, per un massimo teorico totale di 16 strumenti:

Canali MIDI

Non solo: esistono strumenti cosiddetti "multitimbrici" in grado di riprodurre suoni diversi contemporaneamente.

Per esempio, possiamo configurare questi strumenti per suonare col timbro di pianoforte le note ricevute sul canale 2 e col timbro di flauto quelle ricevute sul canale 5... e così via fino a utilizzare tutti i 16 canali.

Nota: in genere il canale 10 è riservato agli strumenti percussivi, ma non è obbligatorio.

I messaggi MIDI

Arriviamo alla parte più complessa di questo articolo in cui cerco di spiegare gli aspetti "software" del protocollo MIDI, cioè i messaggi MIDI, organizzati secondo uno standard ben preciso che tutti gli strumenti MIDI devono riconoscere e rispettare.

Nota: non è importante ai fini della comprensione di questo articolo ma può esserti utile sapere che nel MIDI sono impiegati soltanto 7 bit su 8 per la trasmissione dati.
Quindi, i valori trasmessi, composti da uno o due byte, potranno andare da 0 a 127 (7 bit) oppure da 0 a 16383 (14 bit) oppure, infine, da -8192 a +8191 (14 bit con valori negativi), a seconda del tipo di messaggio trasmesso.

Possiamo suddividere i messaggi in due categorie principali: i messaggi di controllo e le note vere e proprie.

Note ON e Note OFF

Partendo da queste ultime, per ogni nota suonata (e trasmessa), saranno inviati almeno due messaggi: Note ON e Note OFF.

Nel momento in cui premo il tasto viene trasmesso il Note ON mentre, quando lascio il tasto, parte un secondo messaggio, il Note OFF.

In entrambi i messaggi sono codificati:

  • Canale MIDI (1-16)
  • Numero di nota (0-127)
  • Velocità (0-127)

Del canale MIDI abbiamo già parlato nel paragrafo "I canali MIDI".

Il numero di nota (note number) è un valore che va da 0 a 127 che identifica l'altezza del suono, la nota sulla tastiera, dal DO -2 (C-2, nella notazione anglosassone) al SOL 8 (G8), dove il LA 3 (numero di nota 69) rappresenta il LA centrale (440 Hz nell'accordatura moderna) e ogni incremento di numero di nota corrisponde a un semitono.

In realtà esistono diverse interpretazioni dell'estensione MIDI. Alcuni costruttori indicano la nota più bassa come DO -1 anziché DO -2, di conseguenza il LA centrale diventa LA 4. Ma questo non è un problema perché quando userai il MIDI sarà semplicissimo cambiare ottava tramite la funzione di transpose (trasposizione) presente praticamente su ogni dispositivo.

Comunque avrai già capito che si tratta di un'estensione molto più ampia di quella di qualunque strumento esistente. Infatti, un pianoforte a 88 tasti (7 ottave e mezza), che è lo strumento con estensione maggiore, si estende dal LA -1 (A-1) al DO 7 (C7), come evidenziato in questa figura che lo compara con l'estensione MIDI, nelle due differenti interpretazioni dell'ottava, con il DO -2 o il DO -1:

Numeri note MIDI

Tornando al messaggio MIDI trasmesso, in pratica per ogni nota suonata saranno trasmessi tre byte: 9n hh vv

Nota: negli esempi utilizzerò spesso la notazione esadecimale per esprimere i dati trasmessi. Se non conosci questo sistema t'invito a leggere l'articolo "Bit, Byte, KiloByte, MegaByte, GigaByte, TeraByte: AIUTO!".

Primo byte 9n: il gruppo è composto da due "nibble" (metà byte = 4 bit). 9 indica, appunto, il messaggio Note ON, la n, invece, indica il canale MIDI (MIDI channel) sul quale viene trasmesso il messaggio e può andare da 0 a f esadecimale, cioè da 0 a 15 in decimale.
Ovviamente bisognerà sommare 1 per ottenere il canale in lingua "umana", cioè da 1 a 16. Smile

Secondo byte hh: indica, tramite i 7 bit meno significativi, il numero di nota (note number) da suonare, da 0 a 127.

Terzo byte vv: indica, sempre tramite i 7 bit meno significativi, la velocità (velocity), anch'essa con valori da 0 a 127.

È importante spendere qualche parola per spiegare cosa s'intende con velocità (velocity): non ha nulla a che vedere con la velocità d'esecuzione del brano ma riguarda, invece, la forza con cui viene suonata una nota che, su un pianoforte, appunto, si percepisce con un suono più o meno forte.

Nota: dal punto di vista prettamente tecnico, in genere la velocità si ottiene utilizzando due sensori su ogni tasto e misurando il tempo che impiega il tasto a passare da un sensore all'altro.
Se il tasto viene premuto con forza impiegherà meno tempo a passare dal sensore 1 al sensore 2 mentre, se viene pigiato con "delicatezza", questo tempo sarà più lungo.

Quindi, un DO 4 trasmesso sul canale 11 con una velocità di 97 sarà codificato in questo modo: 9a 48 61 dove:

  • 9 = note on, a esadecimale = 10 decimale a cui va sommato 1, ottenendo 11, perché i canali vanno da 1 a 16 mentre il codice esadecimale va da 0 a 15
  • 48 esadecimale = 72 decimale, che è il numero di nota del DO 4
  • 61 esadecimale = 97 decimale, cioè la velocità

Ora è facile intuire che per trasmettere una singola nota sono necessari tre byte.
Però, il MIDI prevede una modalità particolare, utile quando si devono trasmettere messaggi dello stesso tipo in sequenza, che permette di evitare di ripetere la trasmissione del primo byte, risparmiando circa un terzo dei dati e limitando il ritardo nelle note.

La modalità si chiama Running status. Per esempio, se si devono trasmettere 4 messaggi di Note ON perché stiamo suonando un accordo, anziché trasmettere 12 byte, ne trasmetterò soltanto 9, inviando il primo byte (note on + canale midi) e poi soltanto i byte che si riferiscono ai numeri di nota e velocità, in questo modo: 9n hh vv hh vv hh vv hh vv.

Proprio per agevolare l'utilizzo del Running status, comunemente i dispositivi MIDI accettano come messaggio di note off un note on con velocità = 0, in modo da poter inviare note on e off nello stesso blocco di dati, utilizzando sempre il byte 9n di note on.

Non tutti i dispositivi MIDI riconoscono il Running status, ma quasi tutti quelli di più recente costruzione lo supportano.

Tranquillo, non ho intenzione di annoiarti a lungo con sfilze di numeri e codici esadecimali! Smile
Però mi sembrava corretto fornirti almeno un esempio di codifica dei messaggi MIDI.
D'ora in avanti farò soltanto riferimento ai valori che possono assumere i diversi messaggi MIDI, senza convertirli né mostrandoti le sequenze di byte trasmesse, in modo da agevolare la lettura e la comprensione dell'articolo.

Il Note OFF, ovviamente, indica il rilascio del tasto sulla tastiera. È sicuramente altrettanto ovvio il fatto che il tempo che intercorre tra un Note ON e il successivo Note OFF indica la durata della nota.

I suoni di percussioni

I suoni percussivi, nel MIDI, sono trattati in modo del tutto analogo alle note musicali, con una piccola variazione: a diversi numeri di nota non corrispondo diverse intonazioni dello stesso strumento ma suoni di percussioni diverse.

Per esempio, secondo la tabella General MIDI relativa alle percussioni, la nota 36 (DO 1) suonerà con un timbro di cassa, la nota 38 (RE 1) con un rullante, le note 42, 44 e 46 (FA# 1, SOL# 1 e LA# 1) suoneranno rispettivamente un charleston chiuso, charleston pedale e charleston aperto e così via.

Inoltre, sempre secondo lo standard General MIDI, alle percussioni è riservato il canale MIDI 10.

Quanto detto vale per i suoni di una tipica batteria e altre percussioni comuni (tamburello, cabasa, bongo, triangolo, ecc...).
Le percussioni "a suono determinato" come, per esempio, marimba, vibrafono, campane tubolari, ecc..., invece, sono trattate esattamente come gli altri strumenti e a ciascun numero di nota (tasto) corrisponde una nota diversa dello stesso strumento.

Il Program Change

Cominciamo ora ad affrontare i messaggi di controllo più importanti.

I Program Change sono messaggi che permettono di cambiare suono sugli strumenti multitimbrici (es. Piano, Sax, Tromba, Chitarra, ecc...). Il valore di un Program Change può andare da 1 a 128.

Esiste uno standard, detto General MIDI (GM o GM2), che associa i 128 program change ad altrettanti strumenti musicali. I costruttori non sono obbligati a rispettarlo, anche perché i moderni strumenti hanno molto più di 128 timbri, però la maggior parte di essi cerca di farlo, soprattutto per gli strumenti destinati all'intrattenimento tipo piano bar/karaoke.

La tabella General MIDI dei timbri associati ai program change è presente su Wikipedia, ma in genere è riportata anche nei manuali degli strumenti musicali che l'adottano.

Come dicevo, con il program change è possibile scegliere uno tra 128 suoni diversi su ogni canale MIDI. Ma cosa succede se il mio strumento ne ha molti di più? Come faccio a selezionare gli altri suoni?

Qui entra in ballo un altro tipo di messaggi: i Controller.

I messaggi Controller

I Controller sono dei particolari tipi di messaggi MIDI che si occupano di "controllare", cioè impostare, alcuni particolari parametri della nostra sorgente di suoni.

I controller sono decine ma alcuni esempi dei controller più utilizzati sono il Volume (controller #7), il Pan (controller #10), la Modulation (controller #1), il Sustain (controller #64) e il Bank Select (controller #0 + #32).

Quest'ultimo ci permette di scegliere diversi banchi di suoni, ciascuno con 128 suoni.

La sequenza di Bank Select è composta da due messaggi chiamati Bank Select MSB (#0 - Most Significant Byte) e Bank Select LSB (#32 - Least Significant Byte) più, ovviamente, il Program Change.

Quindi, grazie ai messaggi di Bank Select, uniti al messaggio di Program Change, è possibile scegliere tra più di due milioni di suoni diversi (128×128×128 = 2.097.152), ammesso che lo strumento li supporti, ovviamente!

Quindi, per scegliere un timbro di un banco diverso da quello attualmente in uso, potrò semplicemente far precedere il program change dai messaggi di bank select, per indicare quale timbro e in quale banco voglio selezionare.

Il controller Volume (#7) fa esattamente quello che ci si aspetta: regola il volume master tra 0 e 127.

Pedale SustainIl controller Sustain (#64) si riferisce all'azione del pedale del sustain nei pianoforti e può assumere soltanto due valori: 0 (pedale non attivo) e 127 (pedale attivo). Il pedale sustain attivo prolunga la nota anche dopo il rilascio del tasto (messaggio di Note OFF), così come avviene sul pianoforte.

Modulation WheelIl controller Modulation trasmette i messaggi relativi ai movimenti della modulation wheel, cioè quella "rotella", di solito presente sulla sinistra della tastiera del sintetizzatore, che permette di regolare l'intensità della modulazione o del vibrato sul suono.
La Modulation è regolabile per valori che vanno da 0 a 127.

Il controller Pan permette di regolare la "posizione" del suono all'interno del panorama stereofonico e può andare da 0 a 127, dove 64 corrisponde al centro, 0 corrisponde a 100% sinistra e 127 a 100% destra.

Esistono tanti altri controller (sono 128 in tutto!) ma credo di aver spiegato quelli più importanti.

I messaggi Pitch Bend

Pitch BendHo voluto inserire questo tipo di messaggi tra gli esempi perché il Pitch Bend è uno di quelli più utilizzati e perché è un ottimo esempio di messaggio a doppio byte con valori negativi.

Il pitch bend permette di regolare l'intonazione di una nota, in modo continuo, sopra e sotto la sua frequenza naturale.

Lo si trova molto spesso nei sintetizzatori, sempre a sinistra della tastiera, vicino alla modulation wheel vista poco fa.

In genere permette di scendere 2 toni sopra e salire di 2 toni ma questa escursione, di solito, è regolabile tramite una sequenza di controller MIDI detta Pitch Bend Range.

I valori del Pitch Bend vanno da -8192 a +8191 con 0 che corrisponde a "nessun pitch bend", cioè alla posizione centrale della rotella nella foto.

I messaggi Aftertouch

Ho voluto inserire questa parte non perché gli aspetti MIDI di questo messaggio siano particolarmente interessanti (ti basti sapere che il valore di after touch può andare da 0 a 127) ma perché il concetto stesso di Aftertouch, anche detto Channel Pressure (monofonico) o Key Pressure (polifonico), è sconosciuto a molti musicisti.

Molti sintetizzatori, oltre al normale rilevamento dei tasti attivati (note on/off + velocity), dispongono di sensori che sono in grado di rilevare una eventuale pressione della mano sulla tastiera, dopo che è stato premuto il tasto della nota (after=dopo, touch=tocco) e di trasmetterlo come messaggio MIDI.

Questo messaggio può essere usato per controllare diversi parametri nel sintetizzatore come, per esempio, il vibrato, il volume, il valore di un filtro, ecc... aggiungendo una possibilità espressiva per il musicista.

Per esempio, potrei suonare una o più note e poi, tenendo le dita sulla tastiera, pigiare più a fondo per attivare il vibrato, "colorando" la nota da un certo istante in poi.

Come dicevo, l'aftertouch può essere monofonico o polifonico. La differenza consiste nel fatto che, mentre il controllo monofonico sarà unico per tutte le note suonate nel momento dell'attivazione (channel pressure), quello polifonico permetterà di trasmettere un aftertouch diverso per ogni tasto (key pressure).

Chiaramente, dal punto di vista costruttivo, l'aftertouch polifonico è molto più costoso perché bisogna disporre di un sensore per ogni tasto invece di uno unico per tutta la tastiera e per questo motivo, oltre al fatto che è di difficile utilizzo (controllare la pressione applicata su ogni dito dopo aver suonato un accordo può... sfuggire di mano Smile), è molto poco diffuso.

I messaggi System Exclusive (SysEx)

I messaggi MIDI System Exclusive (o SysEx) sono gli unici messaggi MIDI che non devono rispettare nessuno standard se non quello strettamente legato al protocollo di trasmissione MIDI. Sono a lunghezza variabile, iniziano con il codice f0, seguito da un codice (nn nell'esempio che segue) che identifica il costruttore e terminano con f7, in questo modo: f0 nn xx xx xx xx xx... xx f7

Il motivo è che i messaggi SysEx devono essere "compresi" soltanto dallo stesso strumento che li ha generati o da strumenti della stessa marca e modello.

Infatti, sono spesso utilizzati per inviare dati di configurazione, per esempio per la copia o il salvataggio (backup) delle impostazioni, che hanno un senso soltanto per strumento che ha generato i dati SysEx.

I messaggi System Exclusive sono quelli che vengono generati quando, sui moderni strumenti MIDI, si chiede di fare il DUMP di una patch, di un intero banco o di tutte le impostazioni dello strumento. I dati SysEx che lo strumento genererà possono essere salvati in un file, tramite un computer, per essere poi ricaricati nel caso lo strumento "perda la memoria" (per esempio a causa della batteria di mantenimento o tampone) oppure inviati a un'unità simile per creare un "clone" della prima.

Il Diagramma d'implementazione MIDI

Il Diagramma d'implementazione MIDI o MIDI Implementation chart, è una tabella sinottica nella quale sono riportate tutte le funzioni e i messaggi MIDI che l'apparato supporta.

È molto utile perché, grazie al fatto che ha un formato standard, permette in pochi secondi e senza leggere tutto il manuale, di sapere se un certo dispositivo supporta o meno dei messaggi MIDI, in ingresso e/o in uscita.

Questo è un esempio di un tipico Diagramma d'implementazione MIDI:

MIDI Implementation Chart

Conclusioni

In questo articolo ho cercato di fornirti le informazioni essenziali nel modo più chiaro possibile ma, per approfondire maggiormente le tue conoscenze sul MIDI, t'invito a leggere questa pagina su Wikipedia.

Se vuoi chiedere ulteriori spiegazioni o se vuoi esprimere la tua opinione, non esitare a farlo lasciando un commento Facebook, oppure contattandomi in privato!

Grazie per avermi letto fin qui! Smile

E non dimenticare di mettere il tuo "Mi piace" qui sotto! Smile

Fabio Donna

OFFERTE Amazon di oggi
selezionate per te da altraSoluzione!
Vota l'articolo:
1 1 1 1 1 Media: 5.00
Condividi l'articolo su:

Condividi questo articolo su:

Iscriviti alla Newsletter
per ricevere offerte e notizie via email!

Se hai delle domande o se vuoi esprimere un'opinione, contattami oppure lascia un commento Facebook!

Non hai trovato quello che cercavi? Prova la ricerca Google su altraSoluzione:

OFFERTE Amazon di oggi

N.B.: i prezzi delle offerte su Amazon potrebbero variare nel corso della giornata. Verifica sempre prima dell'acquisto!

Condividi questo articolo su: