4.4.2 Objets inclus dans la portée

Nous avons vu que les commandes \voiceXXX jouent sur la direction des liaisons, des doigtés et sur tout autre élément lié à l’orientation des hampes. Ces commandes sont essentielles dans la musique polyphonique pour distinguer des lignes mélodiques entremêlées. Mais il arrive qu’on ait besoin de modifier ce comportement automatique. On peut le faire pour toutes les parties de la musique ou juste pour une note. La propriété qui contrôle ce comportement est la propriété direction de chaque objet. Expliquons d’abord ce qu’elle fait, puis nous présenterons un certain nombre de commandes déjà prêtes qui évitent, pour les modifications les plus courantes, d’avoir à encoder les retouches.

Certains objets comme les traits des liaisons se recourbent tantôt vers le haut, tantôt vers le bas ; d’autres encore, comme les hampes et les crochets, peuvent se décaler vers la gauche ou vers la droite selon qu’ils pointent vers le haut ou vers le bas. Ce comportement est géré automatiquement dès lors que direction est activé.


La propriété direction

L’exemple ci-dessous montre dans la première mesure le positionnement par défaut des liaisons – celles des notes les plus hautes en surplomb des têtes et celles des notes les plus basses au-dessous ; viennent ensuite une mesure avec les liaisons forcées vers le bas, puis une mesure avec les liaisons forcées vers le haut, et pour finir une mesure où elles adoptent de nouveau le comportement par défaut.

a'4( g') c''( a') |
\override Slur.direction = #DOWN
a'4( g') c''( a') |
\override Slur.direction = #UP
a'4( g') c''( a') |
\revert Slur.direction
a'4( g') c''( a') |

[image of music]

Nous utilisons ici les directions DOWN et UP. Elles correspondent respectivement aux valeurs -1 et +1, que l’on peut utiliser à la place. La valeur 0 peut aussi être utilisée dans certains cas. Elle est interprétée comme un UP pour les liaisons, et comme un « centré » pour d’autres objets. Il existe une direction, CENTER, qui correspond à la valeur 0.

Quoi qu’il en soit, ces retouches manuelles sont rarement utilisées car il existe des équivalents sous forme de commandes prédéfinies. Voici un tableau des plus courantes. Lorsque ce n’est pas évident, leur signification est précisée.

Bas/GaucheHaut/DroiteAnnulationEffet
\arpeggioArrowDown\arpeggioArrowUp\arpeggioNormalFlèche en bas, en haut, ou pas de flèche
\dotsDown\dotsUp\dotsNeutralDéplacement des points pour éviter les lignes de portée
\dynamicDown\dynamicUp\dynamicNeutral
\phrasingSlurDown\phrasingSlurUp\phrasingSlurNeutralAttention : à distinguer des commandes de liaison ci-dessous
\slurDown\slurUp\slurNeutral
\stemDown\stemUp\stemNeutral
\textSpannerDown\textSpannerUp\textSpannerNeutralLe texte saisi en tant qu’extension est au-dessous/au-dessus de la portée
\tieDown\tieUp\tieNeutral
\tupletDown\tupletUp\tupletNeutralLes n-olets sont au-dessous/au-dessus des notes

Les variantes \xxxNeutral et \xxxNormal de ces commandes sont implémentées à l’aide de \revert ; elles ne doivent pas être précédées de \once. Pour limiter les effets des autres commandes prédéfinies (fonctionnant à base de \override) à une seule note, il faut les faire précéder d’un \once, comme pour toute dérogation.

Dans le cas où un seul objet de rendu doit déroger à la règle, LilyPond dispose des indicateurs de positionnement ^ et _ :

a'4( g') c''( a') |
a'4^( g') c''_( a') |

[image of music]


Doigtés

Le placement des doigtés sur des notes simples peut aussi être contrôlé par la propriété direction, mais le changement de direction n’a pas d’effet sur les accords. Comme nous le verrons, il existe des commandes qui permettent de contrôler le doigté sur chaque note d’un accord, en plaçant l’indication de doigté au-dessus, en dessous, à gauche ou à droite de chaque note.

Tout d’abord, voici l’effet de direction sur le doigté lié à une note simple. La première mesure montre le comportement par défaut, et les deux suivantes montrent l’effet lorsqu’on indique DOWN et UP :

\relative {
  c''4-5 a-3 f-1 c'-5 |
  \override Fingering.direction = #DOWN
  c4-5 a-3 f-1 c'-5 |
  \override Fingering.direction = #UP
  c4-5 a-3 f-1 c'-5 |
}

[image of music]

Le fait d’intervenir sur la propriété direction n’est sûrement pas la façon la plus simple de placer manuellement les doigtés au-dessus ou en dessous des notes ; mieux vaut utiliser _ ou ^ devant le chiffre de doigté plutôt que -. Voici ce que donne l’exemple précédent avec cette méthode :

\relative {
  c''4-5 a-3 f-1 c'-5 |
  c4_5 a_3 f_1 c'_5 |
  c4^5 a^3 f^1 c'^5 |
}

[image of music]

La propriété direction ne fonctionne pas pour les accords alors que les préfixes de direction, _ et ^, fonctionnent. Par défaut, le doigté est placé automatiquement à la fois au-dessus et au-dessous des notes d’un accord, comme ceci :

\relative {
  <c''-5 g-3>4
  <c-5 g-3 e-2>4
  <c-5 g-3 e-2 c-1>4
}

[image of music]

mais il est possible de forcer manuellement vers le haut ou vers le bas le placement de tous ou certains chiffres de doigté, comme ceci :

\relative {
  <c''-5 g-3 e-2 c-1>4
  <c^5 g_3 e_2 c_1>4
  <c^5 g^3 e^2 c_1>4
}

[image of music]

On peut aller encore plus loin dans le positionnement des doigtés pour chacune des notes d’un accord grâce à la commande \set fingeringOrientations. La syntaxe de cette commande est :

\set fingeringOrientations = #'([up] [left/right] [down])

On utilise \set car fingeringOrientations est une propriété du contexte Voice, créée et utilisée par le graveur New_fingering_engraver.

On peut attribuer à cette propriété une liste composée de une à trois valeurs. Celles-ci déterminent si l’indication de doigté doit être placée au-dessus (lorsque up apparaît dans la liste), au-dessous (lorsque down apparaît), à gauche (lorsque left apparaît) ou à droite (lorsque right apparaît). En revanche, si une valeur n’est pas dans la liste, aucun doigté n’ira à cet emplacement. LilyPond garde ces contraintes en mémoire et recherche le meilleur emplacement pour le doigté des notes des accords suivants. Vous remarquerez que left et right s’excluent l’un l’autre – l’indication de doigté ne peut être placée que d’un côté ou de l’autre, pas des deux.

Note : Pour contrôler à l’aide de cette commande le placement du doigté sur une note simple, il faut la saisir comme un accord composé d’une note unique, en l’encadrant de chevrons.

Voici quelques exemples :

\relative {
  \set fingeringOrientations = #'(left)
  <f'-2>4
  <c-1 e-2 g-3 b-5>4
  \set fingeringOrientations = #'(left)
  <f-2>4
  <c-1 e-2 g-3 b-5>4 |
  \set fingeringOrientations = #'(up left down)
  <f-2>4
  <c-1 e-2 g-3 b-5>4
  \set fingeringOrientations = #'(up left)
  <f-2>4
  <c-1 e-2 g-3 b-5>4 |
  \set fingeringOrientations = #'(right)
  <f-2>4
  <c-1 e-2 g-3 b-5>4
}

[image of music]

Si les indications de doigtés paraissent un peu serrées, on peut toujours réduire la taille de police (font-size). La valeur par défaut donnée dans la RPI à la page de l’objet Fingering étant -5, essayons -7 :

\relative {
  \override Fingering.font-size = #-7
  \set fingeringOrientations = #'(left)
  <f'-2>4
  <c-1 e-2 g-3 b-5>4
  \set fingeringOrientations = #'(left)
  <f-2>4
  <c-1 e-2 g-3 b-5>4 |
  \set fingeringOrientations = #'(up left down)
  <f-2>4
  <c-1 e-2 g-3 b-5>4
  \set fingeringOrientations = #'(up left)
  <f-2>4
  <c-1 e-2 g-3 b-5>4 |
  \set fingeringOrientations = #'(right)
  <f-2>4
  <c-1 e-2 g-3 b-5>4
}

[image of music]


LilyPond — Manuel d’initiation v2.23.10 (branche de développement).