Progetto di Linguaggi e modelli computazionali M Prof. Enrico Denti Progetto di: Francesco Paci.

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

Interazione Uomo - Macchina
Linguaggi algoritmici
Recupero debito quarto anno Primo incontro
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
STRUTTURA DEL PERSONAL COMPUTER
MIDI e computer Lezione 17
Concetti fondamentali
Messaggi Control Change
Introduzione allo studio dell’informatica
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2000/2001.
1C2GRUPPO : HELPING1. 1C2GRUPPO : HELPING2 Una rete può essere definita un insieme di nodi dislocati in posti differenti, capace di consentire la comunicazione.
Reti Informatiche.
RETI INFORMATICHE.
I COMPONENTI DEL Computer
Optical Transport Network
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Reti e Sistemi operativi
electronic mail posta elettronica La posta elettronica, nota come (electronic - mail), è uno dei servizi Internet più utilizzato. Essa consente.
ICT (Information and Communication Technology):
1 Grafica ed eventi/2 Più movimento alle classi. 2 Esercizio n.1 Realizzare una applicazione che permette il trascinamento di una ellissi allinterno di.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Data: 08 maggio 2004 Le nuove Tecnologie per la disabilità Esempi, possibilità di utilizzo, prospettive.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2001/2002.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
GESTIONE DELLA TASTIERA
Relatore: Prof. Carla VACCHI Correlatore: Ing. Daniele SCARPA
Linguaggi e Modelli Computazionali LS - Prof E.Denti
Autori Giovanni Rossi e Matteo Tofacchi
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
Introduzione In questa lezione: Tipi di computer hardware.
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
Dispositivi MIDI in Java
Corso di Laurea Specialistica in Ingegneria Informatica Model Drive Applicazione per il pilotaggio di veicoli Esame di Linguaggi e Modelli computazionali.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Progetto di un linguaggio e interprete per giocare a MemoryPlus Progetto di:Docente: Vito La PortaEnrico Denti.
Reti Insieme di computer e di altri dispositivi che comunicano tra loro per condividere i dati, le applicazioni e lhardware Modulo 1.
SQL File Manager un nuovo modo di gestire il filesystem….
Linguaggi e modelli computazionali LS Manni Tiziano
1.1 Sistemi di elaborazione
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Programmazione ad oggetti
Creato da Riccardo Nuzzone
LE RETI INFORMATICHE Cosa sono?? A cosa servono??
Glossario d’ informatica Dargenio Michelangelo 3^ AP.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
Reti di computer Condivisione di risorse e
Metodologie e strumenti basati sulle TIC per l’inclusione scolastica “Lavorare sul testo e scrivere più velocemente un testo” 16/04/2015Modulo 1 – Valentino.
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Giannicola Spezzigu Accordo: sovrapposizione di 3 o più suoni Ogni sigla denota un accordo, ossia i suoni da cui esso è formato Accordi e.
Trading EToro Un linguaggio per descrivere e gestire operazioni di borsa Progetto di Linguaggi e Modelli Computazionali LS Prof. Enrico Denti Mancini Laura.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
Servizi Internet Claudia Raibulet
Eye Computer Sistema per l'interazione con un computer dotato di controllo oculare Linguaggi e modelli computazionali LS Realizzato da: Ciavarella Primiano.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Mots, programmazione collaborativa di Ettore Ferranti.
Work Office Gestione Documenti ERP su piattaforma ISeries. I.Soft Ingegneria del software Consulenza e progettazione.
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
Introduzione Misurare l’impatto che può avere l’aggiunta di traffico sulle prestazioni di un sistema di rete è molto utile. Nel testing di applicazioni.
Conoscersi online: la Rete diventa una grande piazza oppure un insieme di tante stanze in cui parlarsi o esprimsi. Ambienti accoglienti, interfacce funzionali:
Transcript della presentazione:

Progetto di Linguaggi e modelli computazionali M Prof. Enrico Denti Progetto di: Francesco Paci

Presentazione del progetto KeyBoard Pattern è un linguaggio per assegnare delle caratteristiche proprie del linguaggio Midi ad un set di tastiere. È possibile creare dei pattern di caratteristiche sonore. Il software realizzato permette di collegare una tastiera midi ad un Personal Computer e di elaborare il segnale che essa fornisce in ingresso secondo le caratteristiche volute, modellate dal linguaggio.

Standard Midi Lo standard midi è stato introdotto all’inizio degli anni ’80 Esso consiste di un insieme di hardware e software che concorrono alla standardizzazione della comunicazione di strumenti musicali. Nel contesto del mio lavoro è stato studiato come vengono inviate le informazioni all’interno del protocollo midi.

Messaggi Midi I messaggi scambiati tra i Midi Device sono di due tipi: Channel Message Channel Voice Message Channel System Message System Message I messaggi che scambiano le informazioni relative alla pressione dei tasti e al canale utilizzato sono i Channel Voice Message. Ogni midi Device può utilizzare 16 canali di trasmissione in modalità MONO (trasmette su un solo canale alla volta) Le caratteristiche che il midi consente di modellare su ogni tasto sono le seguenti: Banco (Timbro del suono) Transpose Pitch Wheel (valori tra e 8191) Modulation (valori tra 0 e 127)

Scopo del linguaggio Lo scopo del progetto è poter assegnare le caratteristiche dei channel voice message ad un insieme di tasti. L’insieme dei tasti a cui assegnarle è arbitrario e specificabile tramite il linguaggio. Quindi è possibile ognuno dei 16 canali in tanti gruppi di note ed assegnare ad ognuno di questi delle caratteristiche, indipendenti dalle altre. I gruppi possono essere composti da un numero qualsiasi di note compreso tra 1 e 128 per ogni canale. Non possono essere immessi dei gruppi sovrapposti Lo stesso banco può essere assegnato a più canali ed anche a più gruppi appartenenti allo stesso canale.

Midi in Java In java il protocollo midi può essere sfruttato tramite le classi appartenenti alla libreria javax.sound.midi Questa libreria mette a disposizione tutti i metodi per accedere ai Midi Device presenti nel sistema. Per intercettare i messaggi scambiati è stata implementata la classe astratta Receiver che permette di implementare il metodo send. Attraverso questo metodo è possibile intercettare i messaggi midi in ingresso e modificarli prima che vengano inviati al sintetizzatore.

Grammatica Non Terminali: : "{" ( )+ "}" : "{" "}“ : + : ";" : "(" ")" "{" "}“ : ? ? ? : ";“ : ";"

Grammatica alternativa Non Terminali: : "{" ( )+ "}" : "{" "}“ : + : ";" : "(" ")" "{" + "}“ : | | | : ";“ : ";"

Grammatica Terminali: ":" > ( | )*> )? ( )+ > |

Strumenti di realizzazione Java Tree Builder JavaCC eclipse plug-in Eclipse - ambiente di sviluppo

Esempi di utilizzo LiveSession{ keyboard tast1{ channel 1; options (1:50){ bank 56; transpose -4; }

Esempi di utilizzo LiveSession{ keyboard tast1{ channel 12; options (1:50){ bank 3; transpose 4; } keyboard tast2{ channel 2; options (1:100){ bank 12; transpose 4; pitch 23; }

Test Bome’s mouse keyboard– per comodità LoopBe virtual midi port – per far credere al sistema operativo che stiamo usando un ingresso midi “reale” Possibilità di utilizzo di qualsiasi tastiera come output Standard MIDI

Limiti del linguaggio Linguaggio di tipo 3 Seppure la grammatica sia in grado di generare un linguaggio infinito, il linguaggio in oggetto è limitato a causa delle caratteristiche modellate.

Sviluppi futuri Integrazione pannello di scelta input e output midi. Possibilità di definizione di tastiere non associate ad un canale per avere una più vasta gamma di scelta senza modificare la grammatica. Migliorare l’interfaccia grafica per interazione con l’utente, in conseguenza anche al punto precedente. Estendere le modifiche dei parametri al supporto di canali live controllati da tastiera