Voici un article un peu plus avancé relatif à MusicXML : la représentation des n-olets (triolets, quintolets….).
Pour une introduction à MusicXML, veuillez vous rendre sur : MusicXML
Division du temps
La division d’un temps en plusieurs notes ne tombant pas sur une subdivision exacte du temps est fournie par l’élément time-modification, lui-même sous-élément de note.
A cet élément on doit associer le nombre arithmétique de notes (normal-notes) et le nombre effectif de notes (actual-notes) dont l’unité est donnée par l’élément type (en dehors de l’élément time-modification).
Donc en toute logique le n-olet a une durée de actual-notes x type. Par exemple, si type vaut eighth (croche),et actual-notes vaut 2, le n-olet remplace une noire.
Cela, pour la représentation logique..
En ce qui concerne la représentation graphique, elle est d’une part donnée par l’élément beam qui donne le nombre de ligatures (attribut number) – logiquement en phase avec le type –, d’autre part par l’élément notations/tuplet – qui est obligatoire sinon graphiquement on n’obtient pas un n-olet – et qui permet d’en spécifier plusieurs caractéristiques visuelles.
Nous allons en voir plusieurs exemples et pour faciliter la compréhension, considérons une mesure à la noire.
Triolet normal
Un triolet de croches (type = eighth) est composé de 3 notes (représentées comme des croches : beam number= »1″) pendant la durée de 2 croches.
Cela s’écrit comme suit :
1ère note :
<type>eighth</type> <time-modification> <actual-notes>3</actual-notes> <normal-notes>2</normal-notes> </time-modification> <stem>up</stem> <staff>1</staff> <beam number="1">begin</beam> <notations> <tuplet type="start"/> </notations>
Notons en particulier le début du tuplet (type= »start »).
2e note :
<beam number="1">continue</beam>
pour indiquer que la ligature continue ..
dernière note :
<type>eighth</type> <time-modification> <actual-notes>3</actual-notes> <normal-notes>2</normal-notes> </time-modification> <stem>up</stem> <staff>1</staff> <beam number="1">end</beam> <notations> <tuplet type="stop"/> </notations>
Pour un résultat comme :
Quintolet
Ici, pendant un temps, on joue normalement 4 doubles, et dans un quintolet, on devra donc jouer 5 doubles : le type d’une double croche est ‘16th’.
<type>16th</type> <time-modification> <actual-notes>5</actual-notes> <normal-notes>4</normal-notes> </time-modification>
avec pour la ligature de double croches :
<beam number="2">end</beam>
(de start à end)
Septolet
Assez souvent au delà d’un quintolet (par ex Chopin 13-olets et 12-olets dans la Valse Op69 N°1), on utilise une division en croches pour plus de lisibilité. Ceci est incorrect sur le plan purement arithmétique, mais compensé par une représentation en ‘petites’ notes. En MusicXML, on peut utiliser pour ça l’attribut size= »cue » sur l’élément type. Exemple sur un septolet :
<type size="cue">eighth</type> <time-modification> <actual-notes>7</actual-notes> <normal-notes>2</normal-notes> </time-modification>
Triolet de noires
Dans ce cas, le type vaut ‘quarter’ (noire), le triolet a la durée d’une blanche, et il n’y a pas de ligature.
s’écrit:
<type>quarter</type> <time-modification> <actual-notes>3</actual-notes> <normal-notes>2</normal-notes> </time-modification> <stem>up</stem> <staff>1</staff> <notations> <tuplet type="start" bracket="no"/> </notations>
dernière note :
<type>quarter</type> <time-modification> <actual-notes>3</actual-notes> <normal-notes>2</normal-notes> </time-modification> <stem>up</stem> <staff>1</staff> <notations> <tuplet type="stop"/> </notations>
A noter que selon l’implémentation du moteur de rendu, selon la hauteur de la note, l’orientation de la hampe peut ne pas être pris en compte (ici la hampe est en bas sur le si (clef de sol)) alors que stem vaut ‘up’.
Triolet de notes de valeurs différentes
Parfois deux notes d’un triolet sont confondues, ce qui correspond à dire que le type de la note n’est pas en accord avec le nombre de normal-notes.
On doit utiliser dans ce cas l’élément normal-type pour rétablir la logique arithmétique du n-olet.
Exemple :
<type>quarter</type> <time-modification> <actual-notes>3</actual-notes> <normal-notes>2</normal-notes> <normal-type>eighth</normal-type> </time-modification>
qui correspond au triolet :
Triolet de notes de valeurs différentes avec un silence
Dans l’exemple précédent, on aurait pu avoir un silence à la place de la noire.
Dans ce cas, il suffit de mettre un:
<rest/>
à la place du pitch
La représentation du numéro et de l’arc de cercle du n-olet
On a pour l’instant vu les cas ‘simples’ de représentations de n-olets.
Or l’élément tuplet dispose d’un attribut bracket et d’un autre placement qui permetten d’indiquer où doit se trouver le symbole de phrasé du n-olet.
Par exemple pour un triolet de notes de valeurs différentes, sur la 1e note on peut spécifier :
<tuplet type="start" bracket="yes" line-shape="curved"/>
Triolet avec phrasé en opposition avec le nombre de notes du n-olet
On veut parfois dans le cas d’un n-olet avec des hampes vers le bas, faire apparaître le phrasé en haut et le nombre de notes en bas, comme sur :
Cela est possible en utilisant un élément explicite slur matérialisant le phrasé en le plaçant explicitement au dessus des notes alors que le nombre est lui au-dessous :
1e note :
<stem>down</stem> <beam number="1">begin</beam> <notations> <tuplet number="1" bracket="no" show-number="actual" placement="below" type="start"/> <slur number="1" placement="above" type="start"/> </notations>
N-olets imbriqués
Dans des cas extrêmes il est possible d’imbriquer des n-olets. Cela est très rare et souvent les compositeurs les écrivent différemment car la différence audible peut être très faible. Mais on en trouve par exemple au début de la sonate n°2 pour piano de Pierre Boulez.
MusicXML permet donc de décrire de telles imbrications grâce à l’attribut number sur les éléments tuple , slur, etc …
Le triolet imbriqué :
fait démarrer le triolet ‘englobant’ sur le Fa :
<type>quarter</type> <time-modification> <actual-notes>3</actual-notes> <normal-notes>2</normal-notes> <normal-type>eighth</normal-type> </time-modification> <stem>down</stem> <notations> <tuplet type="start" bracket="no" number="1"/> <slur number="1" placement="above" type="start"/> </notations>
fait démarrer le triolet de doubles sur le Sol :
<type>16th</type> <time-modification> <actual-notes>3</actual-notes> <normal-notes>2</normal-notes> </time-modification> <stem>down</stem> <beam number="2">start</beam> <notations> <tuplet type="start" bracket="no" number="2"/> <slur number="2" placement="below" type="start"/> </notations>
et fait terminer les deux triolets sur le Si :
<type>16th</type> <time-modification> <actual-notes>3</actual-notes> <normal-notes>2</normal-notes> </time-modification> <stem>down</stem> <beam number="2">stop</beam> <notations> <tuplet type="stop" bracket="no" number="1"/> <tuplet type="stop" bracket="no" number="2"/> <slur number="1" placement="above" type="stop"/> <slur number="2" placement="below" type="stop"/> </notations>
Phrasé de n-olet court
Enfin, il devrait être possible de limiter la longueur du symbole de phrasé à l’arc de cercle entourant le nombre de notes comme sur :
En utilisant :
<notations> <slur number="1" placement="above" type="start"/> <slur number="1" placement="above" type="stop"/> </notations>
sur le Fa.