GNU LilyPond – Manuel de notation : 1.2.6 Special rhythmic concerns
Description: GNU LilyPond – Manuel de notation: 1.2.6 Special rhythmic concerns
Keywords: GNU LilyPond – Manuel de notation: 1.2.6 Special rhythmic concerns

### 1.2.6 Special rhythmic concerns

#### Grace notes

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

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

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 :

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 } >>

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

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)
>     }

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
>     }

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"`.

#### Commonly tweaked properties

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
>       }
>     >>

#### See also

Référence du programme : GraceMusic.

#### Known issues and warnings

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 } >>

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 } >>

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.

#### Aligning to cadenzas

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
>       }
>     >>

#### Time administration

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

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.

Other languages: English, español, deutsch.

#### Manuel de notation