Rappresentazione di informazione musicale simbolica mediante linguaggi di markup - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Rappresentazione di informazione musicale simbolica mediante linguaggi di markup

Description:

... www.oasis-open.org/cover/xmlMusic.html MusicXML Sviluppato da Michael Good Basato sui formati Humdrum e MuseData Due punti di vista della partitura: ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 54
Provided by: mauri237
Category:

less

Transcript and Presenter's Notes

Title: Rappresentazione di informazione musicale simbolica mediante linguaggi di markup


1
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
2
Indice
  • Introduzione a SGML e SMDL
  • Introduzione a XML
  • Linguaggi definiti in XML per Informazione
    Musicale Simbolica

3
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.

4
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

5
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).

6
SGML
  • Caratteristiche
  • Markup descrittivo
  • Tipo di documento
  • Indipendenza dei dati
  • Una introduzione
  • http//www.uic.edu/orgs/tei/sgml/teip3sg/index.htm
    l

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

8
SMDL - Struttura
9
SMDL - Esempio
  • ltworkgt
  • ltbibdatagt -- Dati bibliografici --
  • lttitlegt Ottone
  • ltauthorgt G.F. Handel
  • ltdescriptgt Opera
  • ltissuergt Hicks/Chry
  • lt/bibdatagt -- Fine dati bibliografici--
  • ltworkfcsgt -- Inizio fcs del brano --
  • ltworkschdgt
  • ltworkseggt
  • ltbibdatagt
  • lttitlegt Dinnalzar i flutti
  • ltnumclassgt Aria
  • ltrolegt Adelberto
  • lt/bibdatagt
  • ltpitchgam idpitchgm0 -- inizio della
    tonalita -- ... gt
  • ltgenfreqgt -- setta gamstep 6 (a) come
    440 Hz --
  • ltgamstepgt6lt/gamstepgt
  • ltfreqspecgtlthertzgt440lt/hertzgtlt/freqspecgt

10
SMDL - Esempio
  • ...
  • lt/pitchgamgt
  •   ...
  • ltmvt65agt
  • ltthread idthd1 nominstViolino I, IIgt
  • lt/threadgt
  • ...
  • ltbaton idbat1gt
  • lt/batongt
  • ltstart Violino I, IIgt
  • ltcegtt 1 eb
  • ltcegt3t4 0 bb
  • ltcegtt4 1 g
  • ltcegt3t4 1 ab
  • ltcegtt4 1 f
  • ltcegtt2 rest
  • ltcegtlt/end Violini I, IIgt
  • lt/mvt65agt
  • -- Fine sezione dati del brano Movimento 65a --

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

12
Benefici di XML
  • Interscambiabile su Internet
  • Struttura gerarchica
  • Intelligibilità
  • Estensibilità
  • Disponibilità di tool per limplementazione del
    formato

13
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)

14
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

15
Elementi
  • Un semplice elemento completo
  • ltaddressgt
  • ltstreetgt 33, Terry Dr.lt/streetgt
  • ltcitygt Morristown lt/citygt
  • lt/addressgt

markup
Start tag
Content
End tag
16
Elementi
  • Può contenere
  • Altri elementi (sub-elements)
  • ltaddressgt
  • ltstreetgt 33, Terry Dr.lt/streetgt
  • ltcitygt Morristown lt/citygt
  • lt/addressgt
  • testo (data content)
  • ltstreetgt 33, Terry Dr.lt/streetgt
  • una loro combinazione (mixed content)
  • ltpargtToday, ltdategt05-06-2000lt/dategt Mr.
    ltnamegtBill Gatesltnamegt is in California to talk
    to ... lt/pargt

17
Elemento Document
  • E lelemento piú esterno, contenente tutti gli
    altri elementi del documento
  • Esempio
  • ltemployeegt
  • lt/employeegt
  • Deve esistere sempre

18
Elementi Vuoti (Empty)
  • Elementi senza contenuto
  • Non hanno un tag di fine
  • Rappresentazione particolare dello start tag
  • Esempio
  • ltmedical-dossier /gt

19
Attributi
  • Utilizzati per aggiungere informazione extra ad
    un elemento
  • Sono sempre associati allo start tag
  • ltel-name attr-name_1v1 attr-name_nvngt
  • lt/el-namegt
  • Un elemento può avere un numero qualsiasi di
    attributi distinti

20
Un documento XML
lt?XML version1.0gt ltbooksgt ltbookgt ltentry
isbn1-55860-622-Xgt lttitlegtData on the
Web...lt/titlegt ltpublishergtMorgan
Kaufmannlt/publishergt lt/entrygt ltauthorgtSerge
Abiteboullt/authorgt ltbookRef to0-201-53771-O
1-55860-463-4/gt ltarticleLink
hrefhttp///articles.xmlid(Abi97)/gt lt/bookgt
ltbookgt ltentry isbn0-201-53771-Ogt
lttitlegtFoundation of Databaseslt/titlegt ltpubli
shergtAddison Wesleylt/publishergt lt/entrygt ltauth
orgt Serge Abiteboullt/authorgt ... lt/bookgt ...
lt/booksgt
21
Elementi Vs Attributi
Che cosa utilizzo per memorizzare una certa
informazione?
  • Un attribute, quando
  • E una scelta
  • E visibile solo per il sistema
  • Non e importante per il significato del
    documento
  • E fortemente tipato
  • Un element, quando
  • Necessito di una veloce ricerca
  • Deve essere visibile a tutti
  • E importante per il significato del documento
  • E debolmente tipato

22
Inoltre...
  • Processing instructions, utilizzate
    principalmente per propositi di estensibilità
    (lt?target data?gt)
  • Commenti (lt!-- --gt)
  • Riferimenti a caratteri (163)
  • Entità
  • Files esterni o parti del documento
  • Possono essere riferite ricorsivamente o da parti
    diverse nel documento

23
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.

24
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 lelemento
  • Se un elemento può contenere del testo o no
  • Tipizzazione e defaultizzazione degli attributi

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

26
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)

27
Element Type Definition (2/2)
  • Alcune possibili dichiarazioni
  • lt!ELEMENT A (B, C, D?)gt
  • lt!ELEMENT A (B C)gt
  • lt!ELEMENT A (PCDATA)gt
  • lt!ELEMENT A EMPTYgt
  • lt!ELEMENT A (PCDATA B C)gt

28
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)

29
Attribute-List Declarations (2/2)
  • lt!ELEMENT A (PCDATA)gt
  • lt!ATTLIST A a CDATA IMPLIEDgt
  • lt!ATTLIST A a CDATA IMPLIED b CDATA
    REQUIREDgt
  • lt!ATTLIST A a CDATA IMPLIED aaagt
  • lt!ATTLIST A a CDATA REQUIRED aaagt
  • lt!ATTLIST A a CDATA FIXED aaagt
  • lt!ATTLIST A a (aaabbb) IMPLIED aaagt
  • lt!ATTLIST A id ID REQUIREDgt
  • lt!ATTLIST A ref IDREF IMPLIEDgt

30
DTD di un semplice libro
lt!DOCTYPE Books lt!ELEMENT Books(book)gt lt!ELEMENT
book(entry, author, bookRef, articleLink)gt lt!EL
EMENT entry(title, publisher)gt lt!ELEMENT bookRef
EMPTYgt lt!ELEMENT articleLink EMPTYgt lt!ELEMENT
title (PCDATA)gt lt!ELEMENT author
(PCDATA)gt lt!ELEMENT pubblisher
(PCDATA)gt lt!ATTLIST entry isdn ID
REQUIREDgt lt!ATTLIST bookRef to IDREFS
IMPLIEDgt lt!ATTLIST articleLink xmlnsxlink
CDATA FIXED http//w3c.org/xlink xlinktype
CDATA FIXED simple xlinkhref CDATA
REQUIREDgt gt
31
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.

32
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

33
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 allinterno di documenti
    XML
  • Formatting Objects
  • vocabolario di elementi definiti per diversi tipi
    di media (schermo, stampa, voce, etc...)

34
XSL
35
Linguaggi basati su XML per la rappresentazione
di Informazione Musicale Simbolica
36
XML rappresentazione dellInformazione Musicale
Simbolica
  • MusicXML
  • MusiXML
  • MusiCAT/MDL
  • MPEG7 - Audio
  • MX
  • Altre definizioni si trovano inwww.oasis-open.or
    g/cover/xmlMusic.html

37
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

38
MusicXML - Esempio
  • ltnotegt
  • ltpitchgt
  • ltstepgtGlt/stepgt
  • ltoctavegt4lt/octavegt
  • lt/pitchgt
  • ltdurationgt2lt/durationgt
  • lttypegteighthlt/typegt
  • ltstemgtuplt/stemgt
  • ltnotationsgt
  • ltdynamicsgt
  • ltp/gt
  • lt/dynamicsgt
  • lt/notationsgt
  • ltlyricgt
  • ltsyllabicgtsinglelt/syllabicgt
  • lttextgtWaumlrstlt/textgt
  • lt/lyricgt
  • lt/notegt

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

40
MusiXML - Esempio
  • ltbarRef barID"bar1" /gt
  • ltbeam id"b1.1" /gt
  • ltchordgt
  • ltnote name"" dur"8" /gt
  • lt/chordgt
  • ltchordgt
  • ltnote name"g" oct"1" dur"8" beam"b1.1" /gt
  • lt/chordgt

41
MusiCAT MDL
  • Sviluppato da Perry Roland
  • MusiCATformato 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

42
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

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

44
Confronto tra linguaggi
Notazione simbolica Informazioni catalografiche Altre informazioni Strumenti software
SMDL buono sufficiente buono scarso
MusiXML sufficiente sufficiente buono
MusicXML buono sufficiente buono
MusiCat scarso buono sufficiente buono
MNML sufficiente scarso buono
MML sufficiente scarso buono
MusicML sufficiente buono
ChordML scarso buono
MDL buono scarso sufficiente buono
non contemplato
45
MX
  • Obiettivo codificare in un unico file
    linformazione per trattare un brano musicale in
    tutti i suoi aspetti.
  • Aspetti considerati
  • Simbolico-notazionale
  • Strutturale
  • Grafico
  • Esecutivo (MIDI, Audio, Video,)
  • Metadati generali
  • Informazioni correlate

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

47
MX - Spine
  • Evento
  • Distanza temporale (vtu)
  • Distanza spaziale (vpx)
  • Coordinate relative allevento precedente

48
MX - Spine
49
MX Score
  • Stafflist
  • Part
  • Measure
  • Voice
  • Notation symbols
  • Horizontal Symbols
  • Lyric

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

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

52
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

53
Domande
Write a Comment
User Comments (0)
About PowerShow.com