MusicXML: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m typo
 
(13 versioni intermedie di 10 utenti non mostrate)
Riga 18:
 
== 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 [[Misura (musica)|battute]].
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:
<codenowiki>
<![ %partwise; [
<!ELEMENT score-partwise (%score-header;, part+)>
Riga 44:
<!ELEMENT measure (part+)>
<!ELEMENT part (%music-data;)>
]]> </code>
</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 161 ⟶ 159:
 
* 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]]
 
[[ca:MusicXML]]
[[de:MusicXML]]
[[en:MusicXML]]
[[eo:MusicXML]]
[[es:Musicxml]]
[[fr:MusicXML]]
[[hu:MusicXML]]
[[ja:MusicXML]]
[[ko:MusicXML]]
[[pl:MusicXML]]
[[pt:MusicXML]]
[[zh:MusicXML]]