Corso di Informatica Applicata alla Musica

Slides:



Advertisements
Presentazioni simili
Introduzione all’HTML
Advertisements

WWW XML-Namespace Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Lesigenza e il funzionamento dei Namespace in XML.
Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
SEMANTIC WEB Antonio Bucchiarone FBK-IRST Trento, Italy 13 Novembre 2009.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Codifica Digitale della Partitura
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Document Type Definition per XML Presentazione 8.1 Informatica Generale (Prof. Luca A. Ludovico)
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico
Query OQL e XQUERY a confronto
Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.
Il Sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente d integrazione.
Re-engineering del wrapper XML Schema per il sistema MOMIS
Università degli Studi di Modena e Reggio Emilia
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
Linguaggi di marcatura e fogli stile Presentazione del corso.
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
Architettura del World Wide Web
DTD, Entità, Parametri, Namespace
Introduzione e nozioni fondamentali di sintassi
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
XML e la generazione di cataloghi multimediali F. Garzotto, L. Mainetti, P. Paolini Politecnico di Milano HOC - Hypermedia Open Center Dipartimento di.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli Elaborazione di Franco Grivet Chin.
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.
Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)
Importanza DTD La DTD (Document Type Definition) consente di dichiarare in maniera univoca la struttura di markup mediante la definizione dello schema.
Linguaggi di codifica.
1 Documenti XML validi La Document Type Definition Dichiarazione di elementi.
Rappresentazione di Informazione Musicale Simbolica mediante Linguaggi Markup Maurizio Longari LIM-DSI Università degli Studi di Milano via Comelico, 39.
Descrizione Semantica ad Alto Livello di Ambienti Virtuali in X3D
Il metalinguaggio XML: la nuova frontiera per la codifica dellinformazione Relatore: Ing. Marco Porta Tesi di Laurea di: Andrea Mocchi ANNO ACCADEMICO.
Creare pagine web Xhtlm. Struttura di una pagina.
Gianpaolo Cecere Introduzione
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
Introduzione a XML applicazioni in open archives Azalea III Incontro di Formazione, Roma 2-3 febbraio 2004.
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
Gli standard web W3C standard HTML CSS “…a set of standardized best practices for building web sites, and a philosophy of web design and development.
Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
HTML I tag HTML (parte 1). I tag HTML  I comandi che il browser interpreta  Etichette per marcare l’inizio e la fine di un elemento HTML  Formato e.
Creato da Riccardo Nuzzone
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
HTML e CSS C. Gena, C. Picardi, J. Sproston HTML e CSS.
Introduzione alle Griglie computazionali - aa Introduzione alle griglie computazionali Introduzione alle griglie computazionali Università degli.
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
Linguaggi di markup Marco Mesiti
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
WWW La sintassi di SGML  XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo in breve tutti gli aspetti di SGML che sono in comune con XML:
Informatica Umanistica LM - Scienze del Testo Docente Alessia Scacchi.
Documenti XML ben formati Altre componenti di un documento XML – Struttura dei documenti XML.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
Una breve introduzione a MX
Transcript della presentazione:

Corso di Informatica Applicata alla Musica Rappresentazione di informazione musicale simbolica mediante linguaggi di markup Corso di Informatica Applicata alla Musica Maurizio Longari, Luca A. Ludovico LIM (Laboratorio di Informatica Musicale) DICo – Università degli Studi di Milano

Indice Introduzione a SGML e SMDL Introduzione a XML Linguaggi definiti in XML per Informazione Musicale Simbolica

Cos’é un markup Storicamente la parola markup (etichetta) è stata utilizzata per descrivere dei commenti o altre indicazioni all'interno di un testo atti ad istruire un compositore o un dattilografo su come deve essere graficamente distribuito un particolare passaggio. Con l'automatizzazione della formattazione e della stampa di testi, il termine é stato esteso a tutti i tipi di simboli di formattazione, stampa ed elaborazione del testo elettronico.

Cos’é un linguaggio di marcatura Con Markup Language si intende un insieme di markup convenzionali utilizzati per la codifica di testi elettronici Un linguaggio markup deve specificare: Quali markup sono consentiti Quali markup sono richiesti Come i markup sono distinti dal testo e Che cosa significa un certo markup SGML fornisce gli strumenti per rappresentare i primi tre punti

SGML Acronimo di Standard Generalized Markup Language SGML é uno standard internazionale per la descrizione di testi elettronici di tipo markup. Precisamente, SGML é un metalinguaggio, ovvero un mezzo per la descrizione formale di linguaggi (in questo caso, linguaggi markup).

SGML Caratteristiche Una introduzione: Markup descrittivo Tipo di documento Indipendenza dei dati Una introduzione: http://www.uic.edu/orgs/tei/sgml/teip3sg/index.html

Standard Music Description Language Applicazione di HyTime e SGML Informazione musicale simbolica divisa in 4 domini: Logical Visual Gestural Analytical Strutturazione dell’Informazione Musicale su di un Finite Coordinate Space (FCS) Standard draft ISO 10743

SMDL - Struttura

SMDL - Esempio <work> <bibdata> -- Dati bibliografici -- <title> Ottone <author> G.F. Handel <descript> Opera <issuer> Hicks/Chry </bibdata> -- Fine dati bibliografici-- <workfcs> -- Inizio fcs del brano -- <workschd> <workseg> <bibdata> <title> D’innalzar i flutti <numclass> Aria <role> Adelberto </bibdata> <pitchgam id=pitchgm0 -- inizio della tonalita’ -- ... > <genfreq> -- setta gamstep 6 (=‘a’) come 440 Hz -- <gamstep>6</gamstep> <freqspec><hertz>440</hertz></freqspec> </genfreq> <namestep> <pitchdef> <pitchnm>eb</pitchnm> <gamstep>0</gamstep> </pitchdef> </namestep> ...

SMDL - Esempio ... </pitchgam> ... <mvt65a>   ... <mvt65a> <thread id=thd1 nominst=“Violino I, II”> </thread> <baton id=bat1> </baton> <start Violino I, II> <ce>t 1 eb <ce>3t4 0 bb <ce>t4 1 g <ce>3t4 1 ab <ce>t4 1 f <ce>t2 rest <ce></end Violini I, II> </mvt65a> -- Fine sezione dati del brano Movimento 65a -- </workseg> </workschd> </workfcs> </work> -- Fine della codifica del brano --

SMDL - Link SMDL HyTime www.oasis-open.org/cover/smdlover.html www.student.brad.ac.uk/srmounce/smdl3.html HyTime www.hytime.org/

Benefici di XML Interscambiabile su Internet Struttura gerarchica Intelligibilità Estensibilità Disponibilità di tool per l’implementazione del formato

XML background Sottoinsieme di SGML Semplifica SGML: trascurando molte opzioni sintattiche e varianti trascurando alcune caratteristiche del DTD trascurando alcune caratteristiche problematiche Standard approvato dal W3C (World Wide Web Consortium)

Elementi Mattoni di XML Danno un significato ad una parte di documento Un tipo di elemento (‘example’, ‘name’) è rappresentato da un markup (tag). Possibilità di annidamento a qualsiasi livello

Elementi Un semplice elemento completo: <address> <street> 33, Terry Dr.</street> <city> Morristown </city> </address> markup Start tag Content End tag

Elementi Può contenere: Altri elementi (sub-elements) <address> <street> 33, Terry Dr.</street> <city> Morristown </city> </address> testo (data content) una loro combinazione (mixed content) <par>Today, <date>05-06-2000</date> Mr. <name>Bill Gates<name> is in California to talk to ... </par>

Elemento Document E’ l’elemento piú esterno, contenente tutti gli altri elementi del documento Esempio: <employee> … </employee> Deve esistere sempre

Elementi Vuoti (Empty) Elementi senza contenuto Non hanno un tag di fine Rappresentazione particolare dello start tag Esempio: <medical-dossier …/>

Attributi Utilizzati per aggiungere informazione extra ad un elemento Sono sempre associati allo start tag: <el-name attr-name_1=“v1” … attr-name_n=“vn”> … </el-name> Un elemento può avere un numero qualsiasi di attributi distinti

Un documento XML <?XML version=“1.0”> <books> <book> <entry isbn=“1-55860-622-X”> <title>Data on the Web:...</title> <publisher>Morgan Kaufmann</publisher> </entry> <author>Serge Abiteboul</author> <bookRef to=“0-201-53771-O 1-55860-463-4”/> <articleLink href=“http://…/articles.xml#id(Abi97)”/> </book> <entry isbn=“0-201-53771-O”> <title>Foundation of Databases</title> <publisher>Addison Wesley</publisher> <author> Serge Abiteboul</author> ... </books>

Elementi Vs Attributi Un element, quando: Un attribute, quando: Che cosa utilizzo per memorizzare una certa informazione? Un element, quando: Necessito di una veloce ricerca Deve essere visibile a tutti E’ importante per il significato del documento E’ debolmente tipato Un attribute, quando: E’ una scelta E’ visibile solo per il sistema Non e’ importante per il significato del documento E’ fortemente tipato

Inoltre... Processing instructions, utilizzate principalmente per propositi di estensibilità (<?target data?>) Commenti (<!-- … -->) Riferimenti a caratteri (£) Entità: Files esterni o parti del documento Possono essere riferite ricorsivamente o da parti diverse nel documento Entity: An entity is a storage unit of data, either character data or binary data. Every entity has a name and content, and the idea is that by quoting the entity name in your document you get the content.

Tipi di Documento Idea base: associare un tipo al documento (analogia: classi ed oggetti) Un tipo di documento rappresenta una classe di documenti con una struttura ed una semantica simile Esempi: articoli di giornale, ricette di cucina, collezione di farfalle, etc.

DTD DTD fornisce un significato standard per descrivere dichiarativamente la struttura di un tipo di documento Ciò significa descrivere: Quali (sotto)elementi può contenere un elemento Quali attributi contiene l’elemento Se un elemento può contenere del testo o no Tipizzazione e defaultizzazione degli attributi

DTD Un DTD é logicamente composto da due parti: Element Type Definition Attribute List Declaration

Element Type Definition (1/2) La Element type definition specifica: Struttura del documento Contenuti consentiti (content model) Attributi consentiti (dal significato delle dichiarazioni delle liste di attributi) EMPTY elements: the element has no child elements or character data. Empty elements often have attributes ANY elements: the element can contain zero or more child elements of any declared type, as well as character data. It is a shorthand for mixed content containing all declared elements

Element Type Definition (2/2) Alcune possibili dichiarazioni: <!ELEMENT A (B*, C, D?)> <!ELEMENT A (B | C+)> <!ELEMENT A (#PCDATA)> <!ELEMENT A EMPTY> <!ELEMENT A (#PCDATA| B | C)*> On the last <!ELEMENT A (#PCDATA| B | C)*> #PCDATA must appear as the first in the group, the group must be a choice and the group must appear zero or more times.

Attribute-List Declarations (1/2) E’ la lista degli attributi permessi per ogni elemento. Ogni attributo è specificato da: name, type, e altre informazioni. Tipi di attributi. Tre gruppi: string types (CDATA) tokenized types (ID,IDREF,IDREFS,...) enumerated types (come in Pascal)

Attribute-List Declarations (2/2) <!ELEMENT A (#PCDATA)> <!ATTLIST A a CDATA #IMPLIED> <!ATTLIST A a CDATA #IMPLIED b CDATA #REQUIRED> <!ATTLIST A a CDATA #IMPLIED “aaa”> <!ATTLIST A a CDATA #REQUIRED “aaa”> <!ATTLIST A a CDATA #FIXED “aaa”> <!ATTLIST A a (aaa|bbb) #IMPLIED “aaa”> <!ATTLIST A id ID #REQUIRED> <!ATTLIST A ref IDREF #IMPLIED>

DTD di un semplice libro <!DOCTYPE Books[ <!ELEMENT Books(book)+> <!ELEMENT book(entry, author+, bookRef, articleLink*)> <!ELEMENT entry(title, publisher)> <!ELEMENT bookRef EMPTY> <!ELEMENT articleLink EMPTY> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT pubblisher (#PCDATA)> <!ATTLIST entry isdn ID #REQUIRED> <!ATTLIST bookRef to IDREFS #IMPLIED> <!ATTLIST articleLink xmlns:xlink CDATA #FIXED “http://w3c.org/xlink” xlink:type CDATA #FIXED “simple” xlink:href CDATA #REQUIRED> ]>

Well-formedness & Validity Un documento è detto well-formed (ben-formato) se segue le regole grammaticali fornite dal W3C. Un documento è detto valid (valido) se è conforme ad un DTD che ne specifica la struttura.

XML Schema W3C Recommendation, Marzo 2001 Struttura di un documento XML specificata in XML Basato sulla definizione di tipi Maggiore controllo sulla validità Il concetto di namespace é fondamentale

XSL Extensible Stylesheet Language XSLT Definizioni e specifiche XML per la trasformazione di documenti XML. XPath Sintassi per formulare ricerche e selezioni di elementi ed attributi all’interno di documenti XML Formatting Objects vocabolario di elementi definiti per diversi tipi di media (schermo, stampa, voce, etc...)

XSL

Linguaggi basati su XML per la rappresentazione di Informazione Musicale Simbolica

XML & rappresentazione dell’Informazione Musicale Simbolica MusicXML MusiXML MusiCAT/MDL MPEG7 - Audio MX Altre definizioni si trovano in: www.oasis-open.org/cover/xmlMusic.html

MusicXML Sviluppato da Michael Good Basato sui formati Humdrum e MuseData Due punti di vista della partitura: Time-wise e Part-wise Trasformazione XSLT fra i due punti di vista Letto e scritto da Finale e SharpEye

MusicXML - Esempio <note> <pitch> <step>G</step> <octave>4</octave> </pitch> <duration>2</duration> <type>eighth</type> <stem>up</stem> <notations> <dynamics> <p/> </dynamics> </notations> <lyric> <syllabic>single</syllabic> <text>Wärst</text> </lyric> </note>

MusiXML Sviluppato da Gerd Castan Strutturato in tre sezioni: Bibliographic Logical Filter Separazione della forma dal contenuto Formato XML Schema

MusiXML - Esempio … <barRef barID="bar1" /> <beam id="b1.1" /> <chord> <note name="*" dur=":8" /> </chord> <note name="g" oct="1" dur=":8" beam="b1.1" />

MusiCAT & MDL Sviluppato da Perry Roland MusiCAT formato ricco ma solo informazione di catalogazione MDL Molto ricco di elemnti ed attributi Organizzazione della partitura di tipo temporale Attributi suddivisi in domini logical, visual, gestural, analytical e user defined

MPEG7 - Audio Sintassi definita solo in XML Schema MelodyContour Description Scheme Contour (list –2 –1 0 1 2) Beat (list) Meter Utilizzato per propositi di Music Information Retrieval

Altri linguaggi ChordML MusicML FlowML 4ML Music Markup Maguage (MML) MNML Musical Notational Markup Language JScoreML

Confronto tra linguaggi Notazione simbolica Informazioni catalografiche Altre informazioni Strumenti software SMDL buono sufficiente scarso MusiXML * MusicXML MusiCat MNML MML MusicML ChordML MDL * = non contemplato

MX Obiettivo: codificare in un unico file l’informazione per trattare un brano musicale in tutti i suoi aspetti. Aspetti considerati: Simbolico-notazionale Strutturale Grafico Esecutivo (MIDI, Audio, Video,…) Metadati generali Informazioni correlate

MX – Elementi principali Spine Score Layout Performance Altri aspetti ancora in fase di studio

MX - Spine Evento Distanza temporale (vtu) Distanza spaziale (vpx) Coordinate relative all’evento precedente

MX - Spine Tempo Spazio Spine Evento

MX – Score Stafflist Part Horizontal Symbols Lyric Measure Voice Notation symbols Horizontal Symbols Lyric

MX – Layout Page Shapes Frames SVG (Support Vector Graphics) System Staffpiece Lyricpiece Images text Shapes SVG (Support Vector Graphics)

MX – Performance MIDI information Audio Links Aperto a sviluppi, per esempio link verso video.

Sviluppi futuri XML for Music: IEEE Project Authorization Report 1599 Prima Conferenza Internazionale del Working Group tenuta dal 19 al 20 Settembre 2002 al DSI – Università degli Studi di Milano

Domande