MusicXML: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FixBot (discussione | contributi)
m Bot: sostituzione automatica (-è +è)
 
(29 versioni intermedie di 24 utenti non mostrate)
Riga 12:
* possibilità di interrogazione e interazione attraverso la famiglia di tecnologie legate a XML
 
Lo scopo e l'uso attuale di MusicXML è l'interscambio di spartiti musicali su Internet. Negli ultimi trent'anni sono stati realizzati numerosi sistemi di rappresentazione della notazione occidentale, ma l'unico utilizzato su larga scala è il [[Musical Instrument Digital Interface|MIDI]]: Musical Instrumental Digital Interface.
Mentre il formato MIDI nasce come supporto alle performancesperformance musicali, MusicXML si propone come uno standard di codifica dello spartito musicale in tutte le sue sfaccettature.
Una volta codificato, lo spartito può essere considerato come un [[database]] semi-strutturato e dunque interrogato e rielaborato.
Tale tipo di approccio è stato anche suggerito, durante un ciclo di conferenze organizzato per presentare il progetto, da [[Michael Good]], fondatore della Recordare LLC.
 
== Struttura di MusicXML ==
La scrittura musicale occidentale può essere considerata sia in senso orizzontale che verticale, a seconda se il fattore di riferimento principale siano le [[partevoce (musica)|parti]]
 
[[ImmagineFile:Parti 2007.jpg|Parti]]
 
o le [[BattutaMisura (musica)|battute]].
 
[[Immagine:Battute.jpg|Battute]]
 
In realtà si tratta di un reticolato che risulta dalla combinazione dei due elementi. Ma di fronte alla necessità di rappresentare la musica in maniera gerarchica, i due approcci devono essere distinti. Per garantirli entrambi, MusicXML presenta due diverse [[Document Type Definition]] (DTD) principali e ognuna ha un elemento root diverso:
Riga 33:
Le DTD sono parametrizzate; partwise.dtd e timewise.dtd sono entrambe composte da [[Entità parametrica|entità parametriche]] che fanno riferimento a diversi altri file.
 
La DTD score.dtd definisce la struttura fondamentale della codifica e risolve la dipendenza dall’unadall'una o dall’altradall'altra DTD principale con questo espediente:
<nowiki>
 
<![ %partwise; [
<!ELEMENT score-partwise (%score-header;, part+)>
Riga 45:
<!ELEMENT part (%music-data;)>
]]>
</nowiki>
 
Le linee introdotte da '''<![''' indicano un’istruzioneun'istruzione condizionale. Se viene utilizzata partwise.dtd, sarà '''<part>''' a contenere '''<measure>''', se invece è timewise.dtd a essere utilizzata, sarà '''<measure>''' a contenere '''<part>'''.
L'unica differenza tra i due formati consiste nell'organizzazione di questi due elementi. In questo modo è stato evitato di definire due DTD completamente diverse, mantenendo la praticità delle entità parametriche, che permettono una più semplice manutenzione e interpretazione.
Dopo la [[Document Type Declaration]] segue uno Score Header nel quale vengono inseriti dei metadati di base.
 
'''Esempio di Score Header'''
 
 
<work>
Riga 75 ⟶ 74:
</score-part>
</part-list>
 
 
* '''<work>''' fornisce informazioni sull'opera. Il titolo, il numero, ecc.
Riga 85 ⟶ 83:
** '''<part-list>''' enumera le parti che compongono l'organico.
 
Ogni elemento è opzionale tranne '''<part-list>'''. I tag dell'esempio sono solo una parte di quelli utilizzabili: è prevista la possibilità di informazioni più dettagliate riguardo lall'opera, il movimento, i compositori, i diritti del musicista e del codificatore.
Lo Score Header è strutturato allo stesso modo sia per la DTD timewise che partwise.
 
== Altri elementi della codifica ==
Si è detto che nella codifica partwise le parti ('''<part>''') contengono le battute ('''<measure>'''): questo implica che la codifica viene effettuata una parte alla volta.
L'elemento '''<part>''' richiede l’attributol'attributo id, di tipo [[IDREF]], che fa riferimento all'[[Identificatore|ID]] della part-list nello Score Header; l’elementol'elemento '''<measure>''' richiede l'attributo number di tipo [[CDATA]]. Ogni parte contiene una o più battute.
 
<part id="P1">
Riga 98 ⟶ 96:
</part>
 
Il contenuto delle battute è definito dall'entità parametrica '''%music-data''';
 
<!ENTITY % music-data
Riga 115 ⟶ 113:
staff?, beam*, notations*, lyric*)>
 
L'elemento include tutte le informazioni riguardanti la rappresentazione grafica (notehead, staff, beam, …), il tempo (dot, duration, tie, …), il suono (%full-note, instrument, accidental, …).
 
L'informazione che normalmente permette di riconoscere una nota sullo spartito a colpo d'occhio è contenuta nell’entitànell'entità parametrica '''%full-note''';
 
<!ENTITY % full-note "(chord?, (pitch | unpitched | rest))">
Riga 128 ⟶ 126:
L'elemento '''<chord>''', invece, è un elemento vuoto che serve a specificare se alcune note vengono eseguite contemporaneamente, cioè se formano un [[Accordo (musica)|accordo]]. La nota più bassa viene codificata senza l'elemento, mentre le altre presentano '''<chord>''' per specificare la loro contemporaneità con la prima.
 
[[ImmagineFile:Accordo (esempio).jpg|Accordo]]
 
Tale accordo verrà codificato nel modo seguente:
Riga 160 ⟶ 158:
<!ELEMENT pitch (step, alter?, octave)>
 
* L'elemento '''<step>''' indica il nome della nota. La maggior parte dei plug-in utilizza la notazione anglosassone, anche se il [[content model]] prevede [[Document Type Definition##PCDATA|#PCDATA]]. Questo significa che potenzialmente le note potrebbero essere anche scritte in notazione latina.
* L'elemento '''<alter>''' indica l'[[alterazione (musica)|alterazione]] della nota. Contiene di nuovo #PCDATA, quindi potrebbe essere specificata in diversi modi (per esempio [[bemolle]], [[diesis]], ecc.), ma la maggior parte dei plug-in indica l’innalzamentol'innalzamento o l’abbassamentol'abbassamento di tono con un numero intero (-2, -1, 1, 2). Nel caso in cui non ci sia alterazione, '''<alter>''' non è presente.
* L’elementoL'elemento '''<octave>''' indica l'altezza dell'[[ottava (musica)|ottava]] di riferimento. L’elementoL'elemento prevede #PCDATA ma dai plug-in viene specificato il numero (sempre intero) dell'ottava.
 
L'ultima versione di MusicXML (1.1) raggiunge un livello di rappresentazione estremamente elevato, proponendoci uno strumento molto potente.
Le DTD possono essere scaricate al sito www.recordare.com[http://www.recordare.com] dove è anche possibile trovare un breve tutorial sull'uso del linguaggio.
 
== Collegamenti esterni ==
*[{{cita web|http://www.musicxml.orgcom/xml.html |MusicXML homepage]}}
*[{{cita web|http://www.musicxml.orgcom/software.html /|Lista di software che gestiscono MusicXML]}}
*[{{cita web|http://www.recordaremusicxml.com/dtdsfor-developers/index.html |Le DTD di MusicXML]}}
*[{{cita web | 1 = http://www.recordaremusicxml.com/dtds/license.html | 2 = MusicXML Document Type Definition Public License] | accesso = 15 ottobre 2014 | dataarchivio = 23 ottobre 2014 | urlarchivio = https://web.archive.org/web/20141023025042/http://www.musicxml.com/dtds/license.html | urlmorto = sì }}
 
 
{{Portale|musica}}
 
[[Categoria:Tecnologia musicale]]
 
[[de:MusicXML]]
[[en:MusicXML]]
[[hu:MusicXML]]
[[ja:MusicXML]]
[[ko:MusicXML]]
[[pl:MusicXML]]