1.2.6 Fonctionnalités rythmiques particulières


Notes d’ornement

Les petites notes sont des ornements entièrement écrits. Leur taille est un peu plus petite que celle des notes normales et elles n’occupent pas de temps dans la mesure.

\relative {
  c''4 \grace b16 a4(
  \grace { b16 c16 } a2)
}

[image of music]

Les plus courantes sont les acciaccatures, 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. LilyPond dispose aussi, grâce à la fonction \slashedGrace, d’une petite note barrée et dépourvue de liaison, qui viendra s’insérer entre deux notes déjà liées.

\relative {
  \acciaccatura d''8 c4
  \appoggiatura e8 d4
  \acciaccatura { g16 f } e2
  \slashedGrace a,8 g4
  \slashedGrace b16 a4(
  \slashedGrace b8 a2)
}

[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 \relative { e''2 \grace { c16 d e f } e2 }
  \new Staff \relative { c''2 \grace { g8 b } c2 }
>>

[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 s’y rattachent.

\relative { c''1 \afterGrace d1 { c16[ d] } c1 }

[image of music]

Les petites notes se placent alors après la note réelle. Leur positionnement est déterminé par une fraction de la durée de la note principale. Cette fraction, fixée par défaut à

afterGraceFraction = 3/4

peut être changée en début de fichier. Elle peut aussi se définir à la suite de la commande afterGrace.

Dans l’exemple suivant, vous pouvez observer la différence entre le comportement par défaut, à 15/16 et enfin à la moitié de la durée de base.

<<
  \new Staff \relative {
    c''1 \afterGrace d1 { c16[ d] } c1
  }
  \new Staff \relative {
    c''1 \afterGrace 15/16 d1 { c16[ d] } c1
  }
  \new Staff \relative {
    c''1 \afterGrace 1/2 d1 { c16[ d] } c1
  }
>>

[image of music]

Les effets d’une commande \afterGrace peuvent aussi s’obtenir à l’aide de silences invisibles. Nous pourrions positionner ces petites notes à sept huitièmes de la durée de la note de base :

\new Voice \relative {
  <<
    { d''1^\trill_( }
    { s2 s4. \grace { c16 d } }
  >>
  c1)
}

[image of music]

Les expressions \grace obéissent à des règles typographiques particulières, notamment en matière d’orientation et de 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 ; ces réglages additionnels doivent également être désactivés dans cette même expression.

\new Voice \relative {
  \acciaccatura {
    \stemDown
    f''16->
    \stemNeutral
  }
  g4 e c2
}

[image of music]

Morceaux choisis

Utilisation de hampe barrée pour une note normale

Le trait que l’on trouve sur les hampes des acciaccatures peut être appliqué dans d’autres situations.

\relative c'' {
  \override Flag.stroke-style = #"grace"
  c8( d2) e8( f4)
}

[image of music]

Mise en forme des notes d’ornement

Il est possible de changer globalement la mise en forme des notes d’ornement dans un morceau, au moyen des fonctions add-grace-property et remove-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, et on leur préfère des têtes en forme de croix.

\relative c'' {
  \new Staff {
    $(remove-grace-property 'Voice 'Stem 'direction)
    $(add-grace-property 'Voice 'NoteHead 'style 'cross)
    \new Voice {
       \acciaccatura { f16 } g4
       \grace { d16 e } f4
       \appoggiatura { f,32 g a } e2
    }
  }
}

[image of music]

Redéfinition des réglages de mise en forme par défaut des notes d’ornement

Les réglages par défaut des notes d’ornement sont stockés dans les variables suivantes :

startGraceMusic
stopGraceMusic
startAcciaccaturaMusic
stopAcciaccaturaMusic
startAppoggiaturaMusic
stopAppoggiaturaMusic

Ces variables sont définies dans le fichier ‘ly/grace-init.ly’. Amender leur définition permet d’en varier les effets.

startAcciaccaturaMusic = {
  <>(
  \override Flag.stroke-style = #"grace"
  \slurDashed
}

stopAcciaccaturaMusic = {
  \revert Flag.stroke-style
  \slurSolid
  <>)
}

\relative c'' {
  \acciaccatura d8 c1
}

[image of music]

Positionnement des notes d’ornement avec espace flottant

Lorsqu’est activée la propriété strict-grace-spacing, l’espacement des notes d’ornement se fera de manière « élastique ». Autrement dit, elles seront décollées de leur note de rattachement : LilyPond commence par espacer les notes normales, puis les ornements sont placés à la gauche de leur note de rattachement.

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

[image of music]

Voir aussi

Glossaire musicologique : ornements, acciaccature, appoggiature.

Manuel de notation : Barres de ligature manuelles, Changement d’échelle des durées.

Fichiers d’initialisation : ‘ly/grace-init.ly’.

Morceaux choisis : Rythme.

Référence des propriétés internes : GraceMusic, Grace_auto_beam_engraver, Grace_beam_engraver, Grace_engraver, Grace_spacing_engraver.

Problèmes connus et avertissements

Un groupe de notes ligaturées constituant une acciaccatura apparaîtra comme une appoggiatura, c’est-à-dire sans trait.

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

<<
  \new Staff \relative { e''4 \section \grace c16 d2. }
  \new Staff \relative { c''4 \section d2. }
>>

[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 et correspondant à la durée des petites notes :

<<
  \new Staff \relative { e''4 \section \grace c16 d2. }
  \new Staff \relative { c''4 \section \grace s16 d2. }
>>

[image of music]

Bien que la partie visible contient un \acciaccatura ou un \appoggiatura, veillez bien à utiliser l’instruction \grace dans la partie invisible, au risque de voir apparaître un tronçon de liaison connectant la petite note invisible à la note qui la suit.

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.

En ce qui concerne la sortie MIDI, les petites notes ont une durée du quart de la valeur que vous leur attribuez. Par voie de conséquence, si la durée globale d’une succession de petites notes venait à dépasser la durée de la note qui précède, vous déclencheriez une erreur du type « Going back in MIDI time ». Il vous faudra donc raccourcir les petites notes. Par exemple,

c'8 \acciaccatura { c'8[ d' e' f' g'] }

deviendrait

c'8 \acciaccatura { c'16[ d' e' f' g'] }

ou bien modifier explicitement l’échelle des durées :

c'8 \acciaccatura { \scaleDurations 1/2 { c'8[ d' e' f' g'] } }

Voir Changement d’échelle des durées.


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 ils démarreraient trop tôt ou trop tard.

Les fonctions mmrest-of-length ou skip-of-length permettent de pallier ce problème. Ces fonctions Scheme prennent en argument un fragment de musique, et génèrent un \skip ou un silence multimesure d’une durée correspondant à ce fragment.

MyCadenza = \relative {
  c'4 d8 e f g g4
  f2 g4 g
}

\new GrandStaff <<
  \new Staff {
    \MyCadenza c'1
    \MyCadenza c'1
  }
  \new Staff {
    #(mmrest-of-length MyCadenza)
    c'1
    #(skip-of-length MyCadenza)
    c'1
  }
>>

[image of music]

Une autre solution consiste à utiliser la commande \skip.

MyCadenza = \fixed c' {
  \repeat volta 2 {
    d8 e f g g4 f4
  }
}

music = <<
  \new Staff {
    \MyCadenza
    c'1
  }
  \new Staff {
    \skip \MyCadenza
    c'1
  }
>>

\unfoldRepeats \music

[image of music]

Voir aussi

Glossaire musicologique : cadenza.

Morceaux choisis : Rythme.


Gestion du temps

Le temps est administré par le Timing_translator, qui réside en principe dans le contexte Score. Un alias, Timing, sera ajouté au contexte auquel le Timing_translator est rattaché. Déclarer explicitement un contexte Voice ou Staff assure l’existence de cet alias.

Timing dispose des propriétés suivantes afin de garder trace du minutage de la partition.

currentBarNumber

Le numéro de la mesure en cours. Un exemple d’utilisation se trouve au chapitre Numéros 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. Sa valeur détermine où peut s’insérer une barre et comment seront générées les ligatures automatiques.

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. Arrivé à 4/8 dans la troisième mesure, nous avançons de 1/8, en assignant 5/8 à measurePosition, raccourcissant donc cette mesure d’une croche. La barre de mesure suivante tombera donc à 9/8 et non à 5/8.

\new Voice \relative {
  \set Timing.measureLength = #(ly:make-moment 5/4)
  c'1 c4 |
  c1 c4 |
  c4 c
  \set Timing.measurePosition = #(ly:make-moment 5/8)
  b4 b b8 |
  c4 c1 |
}

[image of music]

Comme le montre cet exemple, ly:make-moment n/d construit une durée de n/d 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.

Voir aussi

Manuel de notation : Musique sans métrique, Numéros de mesure.

Morceaux choisis : Rythme.

Références des propriétés internes : Timing_translator, Score.


LilyPond — Manuel de notation v2.23.82 (branche de développement).