1.2.6 Fonctionnalités rythmiques particulières


Notes d’ornement

Les petites notes sont des ornements entièrement écrits. Les plus courantes sont les accacciatures, qui doivent se jouer très vite, et qui s’écrivent sous forme d’une petite note barrée (sur la hampe) et liée. L’appoggiature est une petite note non barrée, qui vole une fraction à la durée de la note réelle qui la suit.

Ces petites notes sont entrées avec les commandes \acciaccatura et \appoggiatura, comme le montre l’exemple suivant :

b4 \acciaccatura d8 c4 \appoggiatura e8 d4
\acciaccatura { g16[ f] } e4

[image of music]

Ce sont là deux formes spéciales de la commande \grace, qui prend en charge toutes les petites notes. Si on la fait suivre d’une expression musicale, un groupe de petites notes sera créé, sans impact sur la métrique.

c4 \grace c16 c4
\grace { c16[ d16] } c2 c4

[image of music]

Contrairement à \acciaccatura ou \appoggiatura, la commande \grace ne provoque pas de liaison.

La durée des petites notes est interprétée par le programme en fonction d’un deuxième compteur de temps, le chronomètre grace. Chaque instant est défini par deux nombres rationnels : le premier compte les durées réelles, le second compte la durée des petites notes. Reprenons l’exemple ci-dessus en y ajoutant ces couples de nombres :

[image of music]

Les petites notes se placent de façon synchrone entre les différentes portées. Dans l’exemple suivant, il y a deux petites double-croches pour chaque petite croche.

<< \new Staff { e4 \grace { c16[ d e f] } e4 }
   \new Staff { c4 \grace { g8[ b] } c4 } >>

[image of music]

La commande \afterGrace sert à placer une petite note après une note réelle — et non avant comme d’ordinaire. Cette commande requiert deux arguments : la note réelle, et la ou les petites notes qui suivent.

c1 \afterGrace d1 { c16[ d] } c4

[image of music]

Les petites notes se placent alors aux 3/4 de la durée de la note réelle. Cette fraction peut être changée en définissant afterGraceFraction ; ainsi,

#(define afterGraceFraction (cons 7 8))

placera la petite note à 7/8 de la note réelle.

On peut obtenir le même effet manuellement, de la façon suivante :

\new Voice {
  << { d1^\trill_( }
     { s2 \grace { c16[ d] } } >>
  c4)
}

[image of music]

Le silence invisible peut être plus ou moins long — ici c’est une demi-pause — afin d’ajuster l’espace entre la note réelle et les petites notes.

Les expressions \grace obéissent à des règles typographiques particulières, notamment pour régler l’orientation et la taille des objets. De ce fait, toute subtilité de mise en forme devra être indiquée à l’intérieur de l’expression introduite par \grace :

\new Voice {
  \acciaccatura {
    \stemDown
    f16->
    \stemNeutral
  }
  g4
}

[image of music]

Tous les réglages ajoutés doivent également être désactivés dans cette même expression.

Il est possible de changer globalement la mise en forme des petites notes dans un morceau, au moyen de la fonction add-grace-property. Ici, par exemple, on ôte la définition de l’orientation des objets Stem pour toutes les petites notes, afin que les hampes ne soient pas toujours orientées vers le haut.

\new Staff {
 #(add-grace-property 'Voice 'Stem 'direction '())
 …
}

Il est par ailleurs possible de modifier les variables startGraceMusic, stopGraceMusic, startAcciaccaturaMusic, stopAcciaccaturaMusic, startAppoggiaturaMusic, et stopAppoggiaturaMusic. Pour plus de détails, voir le fichier ‘ly/grace-init.ly’.

Le trait que l’on trouve sur les hampes des accacciatures peut être appliqué dans d’autres situations en définissant
\override Stem #'stroke-style = #"grace".

Propriétés couramment modifiées

Il est possible de forcer l’élasticité de l’espacement des notes d’agrément.

<<
  \override Score.SpacingSpanner #'strict-grace-spacing = ##t
  \new Staff {
    c4
    \afterGrace c4 { c16[ c8 c16] }
    c4 r
  }
  \new Staff {
    c16 c c c c c c c c4 r
  }
>>

[image of music]

Voir aussi

Référence du programme : GraceMusic.

Problèmes connus et avertissements

Une partition commençant par une expression \grace doit faire intervenir la commande \new Voice, sans quoi la note réelle et la petite note se retrouveront sur des portées différentes.

La synchronisation des petites notes se fait de façon parfois surprenante, car les autres objets de la portée — barres de mesure, armures, etc. — sont eux aussi synchrones. Pensez-y lorsque vous mélez des portées comprenant des petites notes et d’autres sans :

<< \new Staff { e4 \bar "|:" \grace c16 d4 }
   \new Staff { c4 \bar "|:" d4 } >>

[image of music]

Il est possible de remédier à cela en insérant sur les autres portées des silences invisibles dans une expression précédée de \grace, correspondant à la durée des petites notes.

<< \new Staff { e4 \bar "|:" \grace c16 d4 }
   \new Staff { c4 \bar "|:" \grace s16 d4 } >>

[image of music]

Seules des expressions musicales séquentielles peuvent être utilisées pour des petites notes ; il n’est pas possible d’imbriquer ni de juxtaposer des sections de petites notes, faute de quoi le traitement du code peut échouer ou produire des erreurs.


Alignement et cadences

Dans un contexte orchestral, une cadence constitue un problème spécifique. Lors du montage d’une partition contenant une cadence, tous les autres instruments doivent sauter autant de notes que ce qu’en comporte la cadence, faute de quoi il démarreraient trop tôt ou trop tard.

Les fonctions mmrest-of-length ou skip-of-length permettent de résoudre ce problème. Ces fonctions Scheme prennent en argument un fragment de musique, et génèrent un \skip ou un silence multi-mesures d’une durée correspondant à ce fragment. L’exemple qui suit illustre l’utilisation de mmrest-of-length.

cadenza = \relative c' {
  c4 d8 << { e f g } \\ { d4. } >>
  g4 f2 g4 g
}

\new GrandStaff <<
  \new Staff { \cadenza c'4 }
  \new Staff {
    #(ly:export (mmrest-of-length cadenza))
    c'4
  }
>>

[image of music]


Gestion du temps

Le temps est administré par le Time_signature_engraver, qui réside en principe dans le contexte Score. Sa gestion traite les variables suivantes :

currentBarNumber

Le numéro de mesure.

measureLength

La longueur de la mesure, dans la métrique en cours. Pour une mesure à 4/4, elle est de 1, et de 3/4 pour une mesure à 6/8.

measurePosition

Le moment où l’on en est dans la mesure en cours. Cette quantité est remise à 0 dès lors qu’on dépasse measureLength ; la variable currentBarNumber est alors incrémentée.

timing

Lorsqu’on lui assigne la valeur vrai, les valeurs ci-dessus mentionnées sont mises à jour à chaque pas. Fixée à faux, le graveur restera indéfiniment dans la mesure en cours.

Le calage peut être modifié en réglant explicitement l’une de ces variables. Dans l’exemple qui suit, nous réglons la métrique à 4/4, tout en fixant measureLength à 5/4. Un peu plus loin, nous raccourcissons la mesure de 1/8, en assignant 7/8 à measurePosition, alors que nous en sommes à 2/4 dans la mesure ; la barre de mesure tombera donc à 2/4 + 3/8. Les 3/8 résultent du fait que 5/4 équivaut à 10/8, mais nous nous sommes recalés à 7/8 de la mesure ; donc 10/8 - 7/8 = 3/8.

\set Score.measureLength = #(ly:make-moment 5 4)
c1 c4
c1 c4
c4 c4
\set Score.measurePosition = #(ly:make-moment 7 8)
b8 b b
c4 c1

[image of music]

Comme le montre cet exemple, ly:make-moment n m construit une durée de n/m fois une ronde. Par conséquent, ly:make-moment 1 8 correspond à une croche, et ly:make-moment 7 16 à la durée de sept doubles croches.


Autres langues : English, español, deutsch.

Manuel de notation