WebSocket Symphony Orchestra Studente/i Relatore Correlatore Committente Stefano Motti Nicola Rizzo Giancarlo Corti Nicola Rizzo Corso di laurea Modulo Anno Data Ingegneria informatica M00002 Progetto di diploma 2017/2018 13/12/2018 Abstract Obbiettivi Conclusioni Il progetto presenta un architettura divisa in tre componenti principali, ognuno dei quali ha un compito preciso all'interno del ciclo di vita dell'applicazione. L'utente utilizzando un'applicazione android per smartphone è in grado di produrre delle note musicali utilizzando il touchscreen del device oppure il sensore di prossimità. Inoltre è in grado di produrre due melodie: Fra Martino e l'Aria sulla quarta corda di Bach. Le note vengono trasmesse ad un server centrale con il protocollo socket e dal server sono trasmesse ad una pagina web tramite protocollo websocket. Nella pagina web le note sono riprodotte in tempo reale rispetto alle azioni che l'utente compie sul suo smartphone. Il sistema supporta la connessione di più dispositivi che producono note, in questo modo si può ottenere l'effetto di un orchestra dove gli strumenti sono i device collegati alla rete locale. Ottenere un sistema la cui latenza sia tanto bassa da permettere l’esecuzione di almeno un motivo elementare. Il sistema ottenuto presenta una latenza tanto bassa da permettere di controllare l’esecuzione di una nota in realtime: quando l’utente decide di riprodurre una nota il sistema la riproduce, quando l’utente decide di sospendere l’esecuzione di quella nota il sistema la sospende. Inoltre permette di eseguire una melodia elementare controllando l’esecuzione di ogni singola nota. Il sistema è anche in grado di seguire una melodia polifonica, cioè una melodia in cui contemporaneamente sono ascoltabili note diverse riprodotte con strumenti diverse. Il server deve permettere l’esecuzione contemporanea di più note quindi di polifonia.