MIDI Modem (Introduzione)

Disclamer: se questo post vi annoierà, prendetevela con Lorenzo (e con la mia intramontabile passione per… le idee balsane!)

E’ da un po’ di tempo che mi “trastullo” con un progetto che potrebbe rivelarsi presto del tutto inutile. Tutto nasce da una richiesta a Lorenzo, che per non smentirsi (non a caso è “Il genio del male”) mi offre un diniego e un’alternativa.

Ma ripartiamo con ordine. Per chi non mi conosce, sono un vecchietto arzillo che sta facendo correre il tempo sia avanti (per un fatto ineluttabile che non dipende da me…) sia indietro: quest’anno ho ricominciato a frequentare l’Università di Ingegneria delle Comunicazioni e al contempo anche un corso di batteria elettronica.

E le due cose si sono collegate quando ho pensato di realizzare un programma su Windows Phone 7 per studiare la batteria.

L’idea è quella di una sorta di Rhythm Coach che proponga degli esercizi e “ascolti” l’esecuzione del discente per verificare la corretta esecuzione dell’esercizio stesso, evidenziando eventualmente gli errori. Per stabilire un collegamento tra la batteria e lo smartphone occorre utilizzare la porta MIDI OUT della batteria. Per chi non conoscesse il sistema MIDI (Musical Instrument Digital Interface), è uno standard industriale che consente di connettere tra loro strumenti musicali e altri apparecchi, come ad esempio un PC. Quello che viene trasmesso non è il suono prodotto dallo strumento, quanto piuttosto lo spartito, inteso come sequenza di note corredate di tutte le proprietà necessarie per la loro esecuzione, quali “tono”, “durata” e “timbro” (ovvero il tipo di strumento virtuale che andrà utilizzato per eseguire tale nota).

Quindi, se fosse possibile collegare l’uscita MIDI della batteria elettronica al Windows Phone, il mio programma potrebbe ricevere la sequenza delle note (colpi di piatti, rullante, tom, grancassa, etc. etc.) e della loro disposizione nell’asse dei tempi, oltre ad altre informazioni preziose che riguardano la forza con cui è stato eseguito ciascun colpo. Tutte informazioni necessarie ed utili per verificare la corretta esecuzione dell’esercizio.

Ma qui sorge il problema: pur esistendo svariati convertitori da MIDI a USB (e viceversa) da poche decine di euro per connettere la batteria elettronica con un PC e pur avendo il Windows Phone una porta USB come ogni buon smartphone che si rispetti, al momento non è disponibile un’API che consenta di gestire il flusso dei dati della porta USB, ne da Silverlight ne tantomeno da XNA.

Ed è proprio su questo punto che il “perfido” Lorenzo entra in gioco: Non potendomi accontentare per quanto riguarda l’API, suggerisce un approccio alla “vecchia maniera”, quando col Commodore 64 si salvavano i file dei programmi nelle cassette audio collegandolo a un registratore a cassette.

Dunque ecco l’idea balsana: creare un sistema hardware e software che consenta di modulare il segnale MIDI uscente dalla batteria elettronica in un segnale audio da far entrare nel Windows Phone mediante ingresso audio (il jack audio ovviamente comprende l’uscita stereo per le cuffie, ma anche l’ingresso microfono), per poi demodulare l’audio in segnale MIDI, da utilizzare come poc’anzi descritto:

image

Al momento ho completato la realizzazione dell’interfaccia hardware MIDI IN, che sarà oggetto del mio prossimo post:

WP_000161

Per quanto riguarda la modulazione e demodulazione del segnale MIDI in segnale audio e viceversa, sto attingendo a piene mani dallo studio di “Teoria dei Segnali” e di “Fondamenti di Comunicazione”, e appena avrò tempo dedicherò a questi due aspetti fondamentali del progetto un post ciascuno.

Per finire, spiego perché il progetto potrebbe rivelarsi una totale perdita di tempo: è evidente che se da qui a breve dovesse uscire l’API di gestione della porta USB, allora tutto questo ambaradam non servirebbe più!

posted @ giovedì 19 maggio 2011 04:21

Print

Comments on this entry:

# re: MIDI Modem (Introduzione)

Left by Pietro L. at 19/05/2011 09:24
Gravatar
Nick, sei un mito! (Tranne per il vecchietto...)

# re: MIDI Modem (Introduzione)

Left by Marco Lai at 19/05/2011 13:16
Gravatar
Notevole!!

# re: MIDI Modem (Introduzione)

Left by fremsoft at 19/05/2011 17:28
Gravatar
Interessante, veramente una applicazione da smanettoni tecnologici... forse può bastarvi convertire il flusso MIDI in stringhe formate da numeri decimali separati da asterischi e terminati da cancelletti e usare una modulazione stra-consolidata, la DTMF :)

# re: MIDI Modem (Introduzione)

Left by anonimo at 20/05/2011 13:26
Gravatar
Sei un gigante

# re: MIDI Modem (Introduzione)

Left by fremsoft at 20/05/2011 17:48
Gravatar
Beh se riuscite a sfruttare la V.34 nulla da ridire.

Comunque non credo che il vostro progetto rimarrà in un cassetto. Secondo me se implementate una buona compressione dei dati su TX, con riparazione automatica dell'errore sull'RX e tenendo un buon rapporto segnale rumore può venir fuori qualcosa di particolamente utile ed anche vendibile seppur a bassi baudrate.

Chissà che i produttori di smart-phone con Windows Phone non decidano di aumentare la banda passante degli I/O audio in seguito al vostro brevetto.
Comments have been closed on this topic.
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011