LilyPond — Manuel de notation

Ce document constitue le manuel de notation de GNU LilyPond 2.24.4. Sa lecture requiert une familiarité avec le contenu présenté dans le Manuel d’initiation.

Pour connaître la place qu’occupe ce manuel dans la documentation, consultez la page Manuels.

Si vous ne disposez pas de certains manuels, la documentation complète se trouve sur https://lilypond.org/.


1. Notation musicale générale

Ce chapitre explique comment créer la notation musicale standard.


1.1 Hauteurs

[image of music]

Cette section détaille la façon d’indiquer la hauteur des notes, sous trois aspects : la saisie des hauteurs, la modification des hauteurs et les options de gravure.


1.1.1 Écriture des hauteurs de note

Cette section explique la manière d’indiquer les hauteurs de note. Deux modes permettent d’indiquer l’octave des notes : le mode absolu, et le mode relatif. Ce dernier est le plus pratique lors de la saisie d’un fichier source au clavier de l’ordinateur.


Hauteurs avec octave absolue

La hauteur s’écrit – à moins de préciser une autre langue – avec la notation batave, en utilisant les lettres de a à g. Les notes c (do) et b (si) sont écrites une octave sous le do central.

{
  \clef bass
  c4 d e f
  g4 a b c
  d4 e f g
}

[image of music]

L’octave peut être précisée sous forme d’une série d’apostrophes ' ou d’une série de virgules ,. Chaque ' hausse la note d’une octave ; chaque , baisse la note d’une octave.

{
  \clef treble
  c'4 e' g' c''
  c'4 g b c'
  \clef bass
  c,4 e, g, c
  c,4 g,, b,, c,
}

[image of music]

Les indications d’octave communes peuvent ne se mentionner qu’une fois, en faisant suivre l’instruction \fixed, placée avant la musique, d’une hauteur de référence. Les hauteurs d’une section \fixed ne nécessitent des ' ou , que lorsqu’elles se trouvent au-dessus ou au-dessous de l’octave de la hauteur de référence.

{
  \fixed c' {
    \clef treble
    c4 e g c'
    c4 g, b, c
  }
  \clef bass
  \fixed c, {
    c4 e g c'
    c4 g, b, c
  }
}

[image of music]

Les hauteurs d’une expression musicale venant après un \fixed ne seront en rien affectées par un éventuel \relative qui la contiendrait.

Voir aussi

Glossaire musicologique : Noms des notes.

Morceaux choisis : Hauteurs.


Octaves relatives

Le mode d’écriture en octave absolue requiert d’indiquer l’octave de chaque note. Pour le mode d’écriture en octave relative, par contre, l’octave d’une note est déterminée par rapport à la note précédente : modifier l’octave d’une note aura des répercussions sur toutes les notes à venir.

Une musique peut être déclarée explicitement comme étant en notation relative à l’aide de la commande \relative :

\relative hauteur_de_référence expression_musicale

En mode relatif, chaque note est considérée comme étant le plus proche possible de celle qui la précède. L’octave des notes mentionnées dans expression_musicale va être calculée de la manière suivante :

Voici le mode \relative en action.

\relative {
  \clef bass
  c d e f
  g a b c
  d e f g
}

[image of music]

On utilise les signes de changement d’octave pour les intervalles dépassant la quarte.

\relative {
  c'' g c f,
  c' a, e'' c
}

[image of music]

Bien que ne comportant aucun signe de changement d’octave, une séquence de notes peut tout à fait couvrir un intervalle important.

\relative {
  c f b e
  a d g c
}

[image of music]

Lorsque plusieurs blocs \relative sont imbriqués, le bloc \relative inclus dispose de sa propre haueur de référence indépendamment de celui qui l’englobe.

\relative {
  c' d e f
  \relative {
    c'' d e f
  }
}

[image of music]

\relative est sans effet sur un bloc \chordmode.

\new Staff {
  \relative c''' {
    \chordmode { c1 }
  }
  \chordmode { c1 }
}

[image of music]

\relative n’est pas permis au sein d’un bloc \chordmode.

Pour utiliser le mode d’octave relative dans de la musique transposée, une clause \relative additionnelle doit être placée au sein du bloc \transpose.

\relative {
  d' e
  \transpose f g {
    d e
    \relative {
      d' e
    }
  }
}

[image of music]

Si l’expression précédente est un accord, c’est la première note de l’accord qui détermine l’emplacement de la première note du prochain accord. À l’intérieur de l’accord, les notes sont placées relativement à celle qui précède. Examinez avec attention l’exemple suivant, et tout particulièrement le positionnement des do.

\relative {
  c'
  <c e g>
  <c' e g'>
  <c, e, g''>
}

[image of music]

Comme nous l’avons vu, l’octaviation est déterminée sans tenir compte des altérations. Ainsi un mi double-dièse qui suit un si naturel sera placé au-dessus de celui-ci, alors qu’un fa double-bémol se retrouvera en dessous. En d’autres termes, une quarte doublement augmentée demeure considérée comme un intervalle plus petit qu’une quinte diminuée, bien que la quarte doublement augmentée soit de sept demi-tons et la quinte diminuée de seulement six demi-tons.

\relative {
  c''2 fis
  c2 ges
  b2 eisis
  b2 feses
}

[image of music]

Dans certaines situation complexes, il peut être souhaitable de revenir à une hauteur déterminée sans tenir compte de ce qui se passait auparavant, à l’aide d’un \resetRelativeOctave :

\relative {
  <<
    { c''2 d }
    \\
    { e,,2 f }
  >>
  \resetRelativeOctave c''
  c2
}

[image of music]

Voir aussi

Glossaire musicologique : quinte, intervalle, nom des notes.

Manuel de notation : Vérifications d’octave.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : RelativeOctaveMusic.


Altérations

Note : Les nouveaux utilisateurs sont parfois déroutés par la gestion des altérations et de l’armure. Pour LilyPond, un nom de note spécifie une hauteur ; l’armure et la clef ne feront que déterminer comment ces hauteurs seront retranscrites. Un simple c signifie tout bonnement « do naturel » quelles que soient l’armure et la clef en vigueur. Pour plus d’information, reportez-vous au chapitre Hauteurs et armure.

Dans la notation par défaut, un dièse est formé en ajoutant is après le nom de note, un bémol en ajoutant es. Les double-dièses et double-bémols sont obtenus en ajoutant respectivement isis ou eses au nom de note. Ce sont les noms de note hollandais. Pour les autres langues, consultez Nom des notes dans d’autres langues.

\relative c'' { ais1 aes aisis aeses }

[image of music]

Une hauteur naturelle se saisit comme un simple nom de note, sans suffixe. Un bécarre sera imprimé si besoin est, que ce soit pour annuler les effets d’un précédente altération accidentelle ou pour déroger à l’armure.

\relative c'' { a4 aes a2 }

[image of music]

Les demi-bémols et demi-dièses s’écrivent en ajoutant respectivement eh et ih. Voici une série de dos altérés en hauteurs croissantes :

\relative c'' { ceseh1 ces ceh c cih cis cisih }

[image of music]

Les micro-intervalles sont aussi exportés dans le fichier MIDI.

Normalement, les altérations sont imprimées automatiquement, mais il se peut que vous vouliez les imprimer manuellement. On peut forcer l’impression d’une altération, dite « de précaution », en ajoutant un point d’exclamation ! après la hauteur de note. Une altération entre parenthèses peut être obtenue en ajoutant un point d’interrogation ? après la hauteur de note.

\relative c'' { cis cis cis! cis? c c c! c? }

[image of music]

Lorsqu’une note est prolongée par une liaison de tenue, l’altération ne sera réimprimée que s’il y a un saut de ligne.

\relative c'' {
  cis1 ~ 1 ~
  \break
  cis
}

[image of music]

Morceaux choisis

Non répétition de l’altération après saut de ligne sur liaison de prolongation

Cet exemple illustre comment, lorsqu’une note affublée d’une altération accidentelle est prolongée, ne pas répéter cette altération après un saut de ligne.

\relative c'' {
  \override Accidental.hide-tied-accidental-after-break = ##t
  cis1~ cis~
  \break
  cis
}

[image of music]

Suppression des bécarres superflus

En accord avec les règles traditionnelles de l’écriture musicale, on grave un bécarre avant un dièse ou un bémol si la note était auparavant affublée d’un double-dièse ou double-bémol. Pour adopter un comportement plus contemporain, la propriété extraNatural du contexte Staff doit se voir attribuer la valeur ##f (faux).

\relative c'' {
  aeses4 aes ais a
  \set Staff.extraNatural = ##f
  aeses4 aes ais a
}

[image of music]

Voir aussi

Glossaire musicologique : dièse, bémol, double dièse, double bémol, Nom des notes, quart de ton.

Manuel d’initiation : Hauteurs et armure.

Manuel de notation : Altérations accidentelles automatiques, Altérations suggérées (musica ficta), Nom des notes dans d’autres langues.

Morceaux choisis : Hauteurs.

Références des propriétés internes : Accidental_engraver, Accidental, AccidentalCautionary, accidental-interface.

Problèmes connus et avertissements

Il n’y a pas de standard universellement accepté pour noter le bémol et demi (qui abaisse la hauteur trois quarts de ton), le symbole de LilyPond n’est donc conforme à aucun standard.


Nom des notes dans d’autres langues

Vous disposez de jeux prédéfinis de noms de note et altérations pour plusieurs autres langues. Pour les utiliser, il suffit de déclarer, en début de fichier, la langue que vous utilisez. Voici comment, par exemple, utiliser l’italien pour votre saisie :

\language "italiano"

\relative {
  do' re mi sib
}

[image of music]

Les langues disponibles ainsi que les noms de note utilisés sont les suivantes :

LangeNom des notes
nederlandsc d e f g a bes b
català ou
 catalan
do re mi fa sol la sib si
deutschc d e f g a b h
englishc d e f g a bf/b-flat b
español ou
 espanol
do re mi fa sol la sib si
françaisdo /re mi fa sol la sib si
italianodo re mi fa sol la sib si
norskc d e f g a b h
português or
 portugues
do re mi fa sol la sib si
suomic d e f g a b h
svenskac d e f g a b h
vlaamsdo re mi fa sol la sib si

et les suffixes d’altération correspondants :

Languedièsebémoldouble dièsedouble bémol
nederlandsisesisiseses
català ou
 catalan
d/sbdd/ssbb
deutschisesisiseses
englishs/-sharpf/-flatss/x/-sharpsharpff/-flatflat
español ou
 espanol
sbss/xbb
françaisdbdd/xbb
italianodbddbb
norskiss/isess/esississ/isisessess/eses
português or
 portugues
sbssbb
suomiisesisiseses
svenskaissessississessess
vlaamskbkkbb

Notez qu’en hollandais, en allemand, en norvégien et en finnois, un la altéré de bémol se note aes et se contracte en as ; pour le hollandais et le norvégien, LilyPond accepte cependant les deux formes. Il en va de même pour es et ees, aeses et ases, ainsi que pour eeses et eses.

En allemand et en finnois, LilyPond fournit la forme plus couramment utilisée de asas pour ases.

\relative c'' { a2 as e es a ases e eses }

[image of music]

Certaines musiques utilisent des microtonalités, pour lesquelles les altérations sont des fractions de dièse ou bémol « normaux ». Le tableau suivant répertorie les noms de note en quart de ton, tels que définis dans les fichiers linguistiques. Les préfixes semi- et sesqui- correspondent au demi- et trois demis.

Languesemi-dièsesemi-bémolsesqui-dièsesesqui-bémol
nederlandsihehisiheseh
català or
 catalan
qd/qsqbtqd/tqstqb
deutschihehisiheseh
englishqsqftqstqf
español or
 espanol
cscbtcstcb
françaissdsbdsdbsb
italianosdsbdsdbsb
norskihehissih/isihesseh/eseh
português or
 portugues
sqtbqtstqtbtqt
suomiihehisiheseh
svenskaihehissihesseh
vlaamshkhbkhkbhb

En allemand, les contractions de microtonalités sont identiques à celles des hauteurs normales indiquées ci-dessus.

\language "deutsch"

\relative c'' { asah2 eh aih eisih }

[image of music]

La plupart des langues dont nous venons de parler correspondent à la musique classique occidentale au tempérament égal – le concept de Common Practice Period en anglais. LilyPond prend néanmoins en charge d’autres systèmes de notation, comme indiqué au chapitre Noms des notes et altérations non-occidentaux.

Voir aussi

Glossaire musicologique : Nom des notes, Common Practice Period.

Manuel de notation : Noms des notes et altérations non-occidentaux.

Fichiers d’initialisation : ‘scm/define-note-names.scm’.

Morceaux choisis : Hauteurs.


1.1.2 Modification de plusieurs hauteurs

Cette partie traite de la manière de modifier les hauteurs de note.


Vérifications d’octave

Les tests d’octave rendent la correction d’erreurs d’octave plus facile dans le mode d’octave relative – un , ou un ' oublié, ça n’arrive pas qu’aux autres !

Une note peut être suivie de =apostrophes/virgules pour indiquer à quelle octave absolue elle devrait être. Dans l’exemple suivant, le premier d générera un avertissement, puisqu’on attend un d'' – intervalle inférieur à la quarte – mais qu’on obtient un d'. Sur la partition, l’octave sera corrigée pour donner un d' et la prochaine note sera calculée en fonction de ce d' et non de d''.

\relative {
  c''2 d='
  e2 f
}

[image of music]

Il existe aussi une vérification d’octave qui ne produit pas de musique imprimée, ayant pour syntaxe \octaveCheck hauteur_référencehauteur_référence étant spécifiée en mode absolu. Cette commande vérifie que l’intervalle entre la note qui précède et hauteur_référence est inférieur à la quinte comme il se doit en mode relatif. Dans le cas contraire, un message sera émis. Bien que la note précédente ne sera pas modifiée, les notes suivantes seront positionnées relativement à la valeur corrigée.

\relative {
  c''2 d
  \octaveCheck c'
  e2 f
}

[image of music]

Dans les deux mesures qui suivent, les premier et troisième \octaveCheck échouent, mais le deuxième est concluant.

\relative {
  c''4 f g f

  c4
  \octaveCheck c'
  f
  \octaveCheck c'
  g
  \octaveCheck c'
  f
}

[image of music]

Voir aussi

Morceaux choisis : Hauteurs.

Référence des propriétés internes : RelativeOctaveCheck.


Transposition

Une expression musicale peut être transposée avec \transpose. En voici la syntaxe :

\transpose note_de_départ note_d_arrivée expression_musicale

Cela signifie que expression_musicale est transposé de l’intervalle séparant note_de_départ et note_d_arrivée : toute note dont la hauteur était note_de_départ est changée en note_d_arrivée ; les autres notes seront changées selon le même intervalle. Les deux hauteurs s’expriment en octave absolue.

Note : La musique contenue dans un bloc \transpose est en octaves absolues, sauf à inclure dans ce même bloc une clause \relative.

Prenons comme exemple une pièce écrite en ré majeur. Si cette pièce est un peu trop basse pour l’interprète, elle peut être transposée en mi majeur. Vous noterez que l’armure est automatiquement modifiée.

\transpose d e {
  \relative {
    \key d \major
    d'4 fis a d
  }
}

[image of music]

Regardons maintenant une partie écrite pour violon – un instrument en ut. Si cette partie doit être jouée par une clarinette en la (écrite à la tierce mineure supérieure, un do écrit donnant un la réel), la transposition suivante créera la partie appropriée.

\transpose a c' {
  \relative {
    \key c \major
    c'4 d e g
  }
}

[image of music]

La présence de \key c \major s’explique par le fait que, bien que les notes soient effectivement transposées, l’armure ne sera imprimée que dans la mesure où elle est explicitement mentionnée.

\transpose fait la distinction entre les notes enharmoniques : \transpose c cis et \transpose c des transposeront la pièce un demi-ton plus haut, au détail près que la première version écrira des dièses et la deuxième des bémols.

music = \relative { c' d e f }
\new Staff {
  \transpose c cis { \music }
  \transpose c des { \music }
}

[image of music]

On peut aussi utiliser \transpose pour entrer des notes écrites pour un instrument transpositeur. Normalement, les hauteurs dans LilyPond sont écrites en ut, c’est à dire en sons réels, mais elles peuvent être écrites dans un autre ton. Prenons l’exemple d’un morceau pour trompette en si bémol commençant sur un ré à l’oreille ; on pourrait écrire

musiqueEnSiBemol = { e4 … }
\transpose c bes, \musiqueEnSiBemol

Pour imprimer cette musique en fa – et de ce fait produire une partie de cor au lieu d’un conducteur en notes réelles – on utilisera un deuxième \transpose :

musiqueEnSiBemol = { e4 … }
\transpose f c' { \transpose c bes, \musiqueEnSiBemol }

Pour plus d’information à ce sujet, consultez Instruments transpositeurs.

Morceaux choisis

Transposition et réduction du nombre d’altérations accidentelles

Cet exemple, grâce à un peu de code Scheme, donne la priorité aux enharmoniques afin de limiter le nombre d’altérations supplémentaires. La règle applicable est :

Cette façon de procéder aboutit à plus d’enharmoniques naturelles.

#(define (naturalize-pitch p)
   (let ((o (ly:pitch-octave p))
         (a (* 4 (ly:pitch-alteration p)))
         ;; alteration, a, in quarter tone steps,
         ;; for historical reasons
         (n (ly:pitch-notename p)))
     (cond
      ((and (> a 1) (or (eqv? n 6) (eqv? n 2)))
       (set! a (- a 2))
       (set! n (+ n 1)))
      ((and (< a -1) (or (eqv? n 0) (eqv? n 3)))
       (set! a (+ a 2))
       (set! n (- n 1))))
     (cond
      ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
      ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
     (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
     (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
     (ly:make-pitch o n (/ a 4))))

#(define (naturalize music)
   (let ((es (ly:music-property music 'elements))
         (e (ly:music-property music 'element))
         (p (ly:music-property music 'pitch)))
     (if (pair? es)
         (ly:music-set-property!
          music 'elements
          (map naturalize es)))
     (if (ly:music? e)
         (ly:music-set-property!
          music 'element
          (naturalize e)))
     (if (ly:pitch? p)
         (begin
           (set! p (naturalize-pitch p))
           (ly:music-set-property! music 'pitch p)))
     music))

naturalizeMusic =
#(define-music-function (m)
   (ly:music?)
   (naturalize m))

music = \relative c' { c4 d e g }

\score {
  \new Staff {
    \transpose c ais { \music }
    \naturalizeMusic \transpose c ais { \music }
    \transpose c deses { \music }
    \naturalizeMusic \transpose c deses { \music }
  }
  \layout { }
}

[image of music]

Voir aussi

Manuel de notation : Instruments transpositeurs, Inversion, Octaves relatives, Rétrogradation, Transformations modales.

Morceaux choisis : Hauteurs.

Référence des propriété internes : TransposedMusic.

Problèmes connus et avertissements

Si vous voulez utiliser en même temps \transpose et \relative, vous devez mettre \transpose en dehors de \relative, puisque \relative n’aura aucun effet sur la musique apparaissant dans un \transpose.

La fonction \transpose ne permet pas d’imprimer des altérations triples ; elle les remplacera par un « équivalent enharmonique » – par exemple ré bémol au lieu de mi triple bémol.


Inversion

Une expression musicale peut s’inverser et être transposée à l’aide de l’instruction

\inversion hauteur-pivot hauteur-arrivée expression_musicale

L’expression_musicale sera alors inversée, intervalle par intervalle, puis transposée de telle sorte que hauteur-pivot devienne hauteur-arrivée.

music = \relative { c' d e f }
\new Staff {
  \music
  \inversion d' d' \music
  \inversion d' ees' \music
}

[image of music]

Note : Le motif à inverser doit être exprimé en hauteur absolue, à moins d’avoir été préalablement inclus explicitement dans un bloc \relative.

Voir aussi

Manuel de notation : Rétrogradation, Transformations modales, Transposition.


Rétrogradation

Une expression musicale peut se renverser et se présenter sous forme rétrograde :

music = \relative { c'8. ees16( fis8. a16 b8.) gis16 f8. d16 }

\new Staff {
  \music
  \retrograde \music
}

[image of music]

Problèmes connus et avertissements

La fonction \retrograde est un outil plutôt simpliste. Dans la mesure où de nombreux événements se reflètent au lieu d’être échangés, les ajustements et indicateurs de positionnement à l’entame d’un objet étendu devront être répétés à leur terminaison : ^( devra se terminer par ^), tout \< ou \cresc devra se terminer par un \! ou un \endcresc et tout \> ou \decr devra se terminer par un \enddecr. Les dérogations ou commandes modifiant les propriétés sur la durée peuvent avoir des effets surprenants.

Voir aussi

Manuel de notation : Inversion, Transformations modales, Transposition.


Transformations modales

Dans une composition basée sur une gamme, un même motif est transformé à plusieurs reprises et selon des schémas différents. Il peut être transposé pour partir de différents points de la gamme ou bien être inversé à partir d’une note pivot dans la gamme. Il peut aussi être renversé pour produire une rétrogradation.

Note : Toute note qui ne ferait pas partie de la gamme en question ne sera pas transformée.

Transposition modale

Un motif peut se transposer selon une gamme donnée :

\modalTranspose hauteur-départ hauteur-arrivée gamme motif

Les notes de motif seront décalées à l’intérieur de la gamme selon leur degré, déterminé par l’intervalle entre hauteur-départ et hauteur-arrivée :

diatonicScale = \relative { c' d e f g a b }
motif = \relative { c'8 d e f g a b c }

\new Staff {
  \motif
  \modalTranspose c f \diatonicScale \motif
  \modalTranspose c b, \diatonicScale \motif
}

[image of music]

Il est ainsi possible de déterminer une gamme ascendante, quels qu’en soient l’amplitude et les différents intervalles :

pentatonicScale = \relative { ges aes bes des ees }
motif = \relative { ees'8 des ges,4 <ges' bes,> <ges bes,> }

\new Staff {
  \motif
  \modalTranspose ges ees' \pentatonicScale \motif
}

[image of music]

L’utilisation de \modalTranspose avec une gamme chromatique produit les mêmes effets qu’un \transpose, à ceci près que les notes seront alors prédéterminées :

chromaticScale = \relative { c' cis d dis e f fis g gis a ais b }
motif = \relative { c'8 d e f g a b c }

\new Staff {
  \motif
  \transpose c f \motif
  \modalTranspose c f \chromaticScale \motif
}

[image of music]

Inversion modale

Un motif peut s’inverser selon une certaine gamme et à partir d’un pivot déterminé, puis transposé, le tout en une seule opération :

\modalInversion hauteur-pivot hauteur-arrivée gamme motif

Les notes de motif se retrouvent au même degré par rapport à hauteur-pivot dans la gamme, toutefois dans le sens opposé, puis décalées dans cette même gamme de l’intervalle séparant hauteur-départ et hauteur-arrivée.

Il est donc possible de simplement inverser à partir d’une des notes de la gamme en donnant la même valeur à hauteur-départ et hauteur-arrivée :

octatonicScale = \relative { ees' f fis gis a b c d }
motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }

\new Staff {
  \motif
  \modalInversion fis' fis' \octatonicScale \motif
}

[image of music]

Pour permuter deux notes de la gamme, il suffit donc d’inverser à partir de l’une des notes et de transposer d’un degré de la gamme. Les deux notes spécifiées peuvent s’interpréter comme étant les bornes du pivot.

scale = \relative { c' g' }
motive = \relative { c' c g' c, }

\new Staff {
  \motive
  \modalInversion c' g' \scale \motive
}

[image of music]

L’opération conjointe d’une inversion et d’une rétrogradation produit une rétrogradation inversée :

octatonicScale = \relative { ees' f fis gis a b c d }
motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }

\new Staff {
  \motif
  \retrograde \modalInversion c' c' \octatonicScale \motif
}

[image of music]

Voir aussi

Manuel de notation : Inversion, Rétrogradation, Transposition.


1.1.3 Gravure des hauteurs

Nous allons voir dans cette partie comment influer sur la gravure des hauteurs.


Clefs

La clef indique quelles lignes de la portée correspondent à quelles hauteurs. En l’absence de commande explicite, LilyPond utilise par défaut la clef de sol.

c'2 c'

[image of music]

La clef se modifie à l’aide de la commande \clef suivie d’un nom approprié. Pour chacun des exemples suivants est indiquée la position du do médium.

\clef treble
c'2 c'
\clef alto
c'2 c'
\clef tenor
c'2 c'
\clef bass
c'2 c'

[image of music]

Les différents noms possibles sont répertoriés à l’annexe Styles de clef.

Des clefs spéciales, telles que celles rencontrées en musique ancienne, sont abordées dans Clefs anciennes et Clefs grégoriennes. La musique requérant des clefs de tablature est traitée dans Tablatures par défaut et Tablatures personnalisées.

Les citations peuvent demander une modification de clef à l’aide des commandes \cueClef et \cueDuringWithClef – voir Mise en forme d’une citation.

En ajoutant _8 ou ^8 au nom de la clef, celle-ci est transposée à l’octave respectivement inférieure ou supérieure, et _15 ou ^15 la transpose de deux octaves. D’autres nombres entiers peuvent être utilisés selon les besoins. L’argument clefname doit être mis entre guillemets lorsqu’il contient des caractères supplémentaires. Par exemple,

\clef treble
c'2 c'
\clef "treble_8"
c'2 c'
\clef "bass^15"
c'2 c'
\clef "alto_2"
c'2 c'
\clef "G_8"
c'2 c'
\clef "F^5"
c'2 c'

[image of music]

Une indication d’octaviation optionnelle s’obtient en entourant l’argument numérique par des parenthèses ou des crochets :

\clef "treble_(8)"
c'2 c'
\clef "bass^[15]"
c'2 c'

[image of music]

Les hauteurs seront affichées comme si l’argument numérique n’avait pas été encadré de parenthèses ou crochets.

Lorsqu’un changement de clef intervient en même temps qu’un saut de ligne, la nouvelle clef est imprimée à la fois en fin de ligne et au début de la suivante. Vous pouvez toujours supprimer cette « clef de précaution ».

\clef treble { c'2 c' } \break
\clef bass { c'2 c' } \break
\clef alto
  \set Staff.explicitClefVisibility = #end-of-line-invisible
  { c'2 c' } \break
  \unset Staff.explicitClefVisibility
\clef bass { c'2 c' } \break

[image of music]

Lorsqu’une clef a déjà été imprimée et qu’aucune autre clef n’a depuis été imprimée, LilyPond ignorera toute réitération de la commande \clef. Forcer la réimpression de la clef s’obtient à l’aide de la commande \set Staff.forceClef = ##t.

  \clef treble
  c'1
  \clef treble
  c'1
  \set Staff.forceClef = ##t
  c'1
  \clef treble
  c'1

[image of music]

Pour être plus précis, la commande \clef n’a pas pour fonction d’imprimer une clef ; elle détermine ou modifie une propriété attachée au graveur de clefs (le Clef_engraver), qui décide de son propre chef quand doit être affichée une clef dans la portée en cours. La propriété forceClef ne vient que forcer la décision de réimprimer une fois la clef en un point donné.

Le symbole imprimé lors d’un changement de clef est plus petit que la clef initiale. La taille peut toutefois être ajustée.

  \clef "treble"
  c'1
  \clef "bass"
  c'1
  \clef "treble"
  c'1
  \override Staff.Clef.full-size-change = ##t
  \clef "bass"
  c'1
  \clef "treble"
  c'1
  \revert Staff.Clef.full-size-change
  \clef "bass"
  c'1
  \clef "treble"
  c'1

[image of music]

Morceaux choisis

Affinage des propriétés d’une clef

Modifier le glyphe, la position de la clef ou son octaviation ne changeront pas la position des notes ; il faut pour y parvenir modifier aussi la position du do médium. La redéfinition préalable de middleCClefPosition permet de placer l’armure sur les bonnes lignes. Le positionnement est relatif à la ligne médiane, un nombre positif faisant monter, un nombre négatif abaissant.

Par exemple, la commande \clef "treble_8" équivaut à définir clefGlyph, clefPosition – qui contrôle la position verticale de la clef – middleCPosition et clefOctavation. Une nouvelle clef apparaîtra dès lors que l’une de ces propriétés, à l’exception de middleCPosition, aura été modifiée.

Les exemples qui suivent illustrent les différentes possibilités de définir ces propriétés manuellement. Sur la première ligne, la position relative des notes par rapport aux clefs est préservée, ce qui n’est pas le cas pour la deuxième ligne.

{
  % The default treble clef
  \key f \major
  c'1
  % The standard bass clef
  \set Staff.clefGlyph = #"clefs.F"
  \set Staff.clefPosition = #2
  \set Staff.middleCPosition = #6
  \set Staff.middleCClefPosition = #6
  \key g \major
  c'1
  % The baritone clef
  \set Staff.clefGlyph = #"clefs.C"
  \set Staff.clefPosition = #4
  \set Staff.middleCPosition = #4
  \set Staff.middleCClefPosition = #4
  \key f \major
  c'1
  % The standard choral tenor clef
  \set Staff.clefGlyph = #"clefs.G"
  \set Staff.clefPosition = #-2
  \set Staff.clefTransposition = #-7
  \set Staff.middleCPosition = #1
  \set Staff.middleCClefPosition = #1
  \key f \major
  c'1
  % A non-standard clef
  \set Staff.clefPosition = #0
  \set Staff.clefTransposition = #0
  \set Staff.middleCPosition = #-4
  \set Staff.middleCClefPosition = #-4
  \key g \major
  c'1 \break

  % The following clef changes do not preserve
  % the normal relationship between notes, key signatures
  % and clefs:

  \set Staff.clefGlyph = #"clefs.F"
  \set Staff.clefPosition = #2
  c'1
  \set Staff.clefGlyph = #"clefs.G"
  c'1
  \set Staff.clefGlyph = #"clefs.C"
  c'1
  \set Staff.clefTransposition = #7
  c'1
  \set Staff.clefTransposition = #0
  \set Staff.clefPosition = #0
  c'1

  % Return to the normal clef:

  \set Staff.middleCPosition = #0
  c'1
}

[image of music]

Voir aussi

Manuel de notation : Clefs anciennes, Clefs grégoriennes, Mise en forme d’une citation, Notations anciennes, Tablatures par défaut, Tablatures personnalisées.

Fichiers d’initialisation : ‘scm/parser-clef.scm’.

Morceaux choisis: Hauteurs.

Référence des propriétés internes : Clef_engraver, Clef, ClefModifier, clef-interface.

Problèmes connus et avertissements

L’indicateur d’octaviation attaché à la clef est un objet graphique en lui même. Par voie de conséquence, tout \override affectant l’objet Clef devra être manuellement répercuté sur l’objet ClefModifier.

[image of music]


Armure

Note : Les nouveaux utilisateurs sont parfois déroutés par la gestion des altérations et de l’armure. Pour LilyPond, une hauteur n’est que du matériau brut ; l’armure et la clef ne feront que déterminer comment ce matériau sera retranscrit. Un simple c signifie tout bonnement « do naturel » quelles que soient l’armure et la clef en question. Pour plus d’information, reportez-vous au chapitre Hauteurs et armure.

L’armure indique la tonalité dans laquelle la pièce doit être jouée. Elle comprend un ensemble d’altérations (dièses ou bémols) à la clef, c’est-à-dire au début de la portée. Elle peut varier en cours de morceau.

On définit ou modifie l’armure avec la commande \key :

\key hauteur mode

Ici, mode doit être \major ou \minor afin d’avoir respectivement hauteur-majeur ou hauteur-mineur. Vous pouvez aussi avoir recours aux modes anciens que sont \ionian, \locrian, \aeolian, \mixolydian, \lydian, \phrygian et \dorian.

\relative {
  \key g \major
  fis''1
  f
  fis
}

[image of music]

Rien n’empèche de définir d’autres modes, en listant l’altération de chacun des degrés de la gamme en partant du do.

freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)
    (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))

\relative {
  \key c \freygish c'4 des e f
  \bar "||" \key d \freygish d es fis g
}

[image of music]

Les altérations à la clef peuvent s’imprimer à des octaves différents de leur position traditionnelle ou à plusieurs octaves, à l’aide des propriétés flat-positions et sharp-positions de l’objet KeySignature. Les entrées fournies à ces propriétés définissent l’amplitude des positions sur la portée où les altérations seront imprimées. Dans le cas où l’entrée est constituée d’une position unique, les altérations seront placées à l’intérieur de l’octave finissant à cette position sur la portée.

\override Staff.KeySignature.flat-positions = #'((-5 . 5))
\override Staff.KeyCancellation.flat-positions = #'((-5 . 5))
\clef bass \key es \major es g bes d'
\clef treble \bar "||" \key es \major es' g' bes' d''

\override Staff.KeySignature.sharp-positions = #'(2)
\bar "||" \key b \major b' fis' b'2

[image of music]

Morceaux choisis

Suppression des bécarres superflus lors d’un changement de tonalité

Après un changement de tonalité, un bécarre est imprimé pour annuler toute altération précédente. Ce comportement s’annule en désactivant la propriété printKeyCancellation du contexte Staff.

\relative c' {
  \key d \major
  a4 b cis d
  \key g \minor
  a4 bes c d
  \set Staff.printKeyCancellation = ##f
  \key d \major
  a4 b cis d
  \key g \minor
  a4 bes c d
}

[image of music]

Armures inhabituelles

La commande \key détermine la propriété keyAlterations d’un contexte Staff.

Des armures inhabituelles peuvent être spécifiées en modifiant directement cette propriété. Il s’agit en l’occurrence de définir une liste :

\set Staff.keyAlterations =
  #`(((octave . pas) . altération) ((octave . pas) . altération)
  @dots{})

dans laquelle, et pour chaque élément, octave spécifie l’octave (0 pour celle allant du do médium au si supérieur), pas la note dans cette octave (0 pour do et 6 pour si), et altération sera ,SHARP ou ,FLAT ou ,DOUBLE-SHARP, etc. (attention à la virgule en préfixe).

Une formulation abrégée – (pas . altération) – signifie que l’altération de l’élément en question sera valide quelle que soit l’octave.

En ce qui concerne les gammes microtonales dans lesquelles un « dièse » n’est pas d’un centième, altération se réfère à un deux-centième de ton entier.

\include "arabic.ly"
\relative do' {
  \set Staff.keyAlterations = #`((0 . ,SEMI-FLAT)
                                 (1 . ,SEMI-FLAT)
                                 (2 . ,FLAT)
                                 (5 . ,FLAT)
                                 (6 . ,SEMI-FLAT))
%\set Staff.extraNatural = ##f
  re reb \dwn reb resd
  dod dob dosd \dwn dob |
  dobsb dodsd do do |
}

[image of music]

Voir aussi

Glossaire musicologique : mode d’église, scordatura.

Manuel d’initiation : Hauteurs et armure.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : Key_engraver, Key_performer, KeyCancellation, KeyChangeEvent, KeySignature, key-signature-interface.


Marques d’octaviation

Les marques d’octaviation, Ottava, permettent d’introduire une transposition spécifique d’une octave pour la portée en cours. C’est la fonction ottava qui s’en charge.

\relative c'' {
  a2 b
  \ottava #-2
  a2 b
  \ottava #-1
  a2 b
  \ottava #0
  a2 b
  \ottava #1
  a2 b
  \ottava #2
  a2 b
}

[image of music]

Par défaut s’imprimera un simple nombre en début de crochet. Ce réglage est modifiable afin d’obtenir un nombre ordinal dont l’abréviation peut se positionner en petite lettre haute ou en caractère normal (réglage par défaut auparavant) ; la graisse par défaut de ces caractères est elle aussi modifiable – voir Sélection de la fonte et de la taille.

L’exemple suivant illustre différentes options, ainsi que le moyen de retrouver le comportement par défaut.

\relative c'' {
  \ottava #1
  a'2 b
  \ottava #2
  a'2 b
  \bar "||"
  \set Staff.ottavationMarkups = #ottavation-ordinals
  \ottava #1
  a,2 b
  \ottava #2
  a'2 b
  \bar "||"
  \override Staff.OttavaBracket.font-series = #'medium
  \set Staff.ottavationMarkups = #ottavation-simple-ordinals
  \ottava #1
  a,2 b
  \ottava #2
  a'2 b
  \bar "||"
  \revert Staff.OttavaBracket.font-series
  \set Staff.ottavationMarkups = #ottavation-numbers
  \ottava #1
  a,2 b
  \ottava #2
  a'2 b
}

[image of music]

Morceaux choisis

Modification du texte des marques d’octaviation

En interne, la fonction \ottava détermine les propriétés ottavation (par ex. en "8va" ou "8vb") et middleCPosition. Vous pouvez modifier le texte d’une marque d’octaviation en définissant ottavation après avoir fait appel à ottava.

Un texte bref est particulièrement utile lorsque l’octaviation est courte.

{
  c'2
  \ottava #1
  \set Staff.ottavation = #"8"
  c''2
  \ottava #0
  c'1
  \ottava #1
  \set Staff.ottavation = #"Text"
  c''1
}

[image of music]

Ajout d’une indication d’octave pour une seule voix

Lorsque plusieurs voix cohabitent sur une même portée, déterminer l’octaviation d’une voix affecte la position des notes de toutes les voix, jusqu’à la fin du crochet d’octaviation. Si l’octaviation ne doit s’appliquer qu’à une seule voix, le Ottava_spanner_engraver devrait être déplacé dans le contexte Voice.

\layout {
  \context {
    \Staff
    \remove Ottava_spanner_engraver
  }
  \context {
    \Voice
    \consists Ottava_spanner_engraver
  }
}

{
  \clef bass
  << { <g d'>1~ q2 <c' e'> }
  \\
    {
      r2.
      \ottava -1
      <b,,, b,,>4 ~ |
      q2
      \ottava 0
      <c e>2
    }
  >>
}

[image of music]

Modification de la pente de l’extension d’octaviation

Il est possible d’adapter la pente d’une indication d’octaviation.

\relative c'' {
  \override Staff.OttavaBracket.stencil = #ly:line-spanner::print
  \override Staff.OttavaBracket.bound-details =
    #`((left . ((Y . 0)
                (attach-dir . ,LEFT)
                (padding . 0)
                (stencil-align-dir-y . ,CENTER)))
       (right . ((Y . 5.0) ; Change the number here
                 (padding . 0)
                 (attach-dir . ,RIGHT)
                 (text . ,(make-draw-dashed-line-markup
                           (cons 0 -1.2))))))
  \override Staff.OttavaBracket.left-bound-info =
     #ly:horizontal-line-spanner::calc-left-bound-info-and-text
  \override Staff.OttavaBracket.right-bound-info =
     #ly:horizontal-line-spanner::calc-right-bound-info
  \ottava #1
  c1
  c'''1
}

[image of music]

Voir aussi

Glossaire musicologique : octaviation.

Manuel de notation : Sélection de la fonte et de la taille.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.


Instruments transpositeurs

Lorsque l’on saisit une partition d’ensemble incluant des instruments transpositeurs, certaines parties peuvent être dans une autre tonalité que la tonalité de concert. Il faudra en pareil cas indiquer la tonalité spécifique de ces instruments transpositeurs, sous peine de fichier MIDI erroné et de citations incorrectes. Pour plus de détails sur les citations, consultez le chapitre Citation d’autres voix.

\transposition hauteur

La hauteur donnée en argument à \transposition doit correspondre à la note entendue lorsqu’un do écrit sur la portée est joué par l’instrument transpositeur. Cette hauteur doit être mentionnée en mode absolu. Par exemple, lorsque vous saisissez une partition en notes réelles, toutes les voix devraient être en ut ; si un instrument joue un ton au dessus, il faudra lui ajouter un \transposition d'. La commande \transposition s’utilise si, et seulement si les notes à saisir ne sont pas dans la tonalité de concert.

Voici un fragment pour violon et clarinette en si bémol (B-flat) pour lequel les parties respectives ont été recopiées à partir du conducteur. Les deux instruments sont à l’unisson.

\new GrandStaff <<
  \new Staff = "violin" \with {
    instrumentName = "Vln"
    midiInstrument = "violin"
   }
  \relative c'' {
    % not strictly necessary, but a good reminder
    \transposition c'
    \key c \major
    g4( c8) r c r c4
  }
  \new Staff = "clarinet" \with {
    instrumentName = \markup { Cl (B\flat) }
    midiInstrument = "clarinet"
  }
  \relative c'' {
    \transposition bes
    \key d \major
    a4( d8) r d r d4
  }
>>

[image of music]

La \transposition peut évoluer au cours d’un morceau. Un clarinettiste peut être amené à jongler avec une clarinette en la et une autre en si bémol.

flute = \relative c'' {
  \key f \major
  \cueDuring "clarinet" #DOWN {
    R1 _\markup\tiny "clarinet"
    c4 f e d
    R1 _\markup\tiny "clarinet"
  }
}
clarinet = \relative c'' {
  \key aes \major
  \transposition a
  aes4 bes c des
  R1^\markup { muta in B\flat }
  \key g \major
  \transposition bes
  d2 g,
}
\addQuote "clarinet" \clarinet
<<
  \new Staff \with { instrumentName = "Flute" }
    \flute
  \new Staff \with { instrumentName = "Cl (A)" }
    \clarinet
>>

[image of music]

Voir aussi

Glossaire musicologique : tonalité de concert, instrument transpositeur.

Manuel de notation : Citation d’autres voix, Transposition.

Morceaux choisis : Hauteurs.


Altérations accidentelles automatiques

LilyPond dispose d’une fonction chargée de regrouper les règles suivant lesquelles s’impriment les altérations. Elle s’invoque de la manière suivante :

\new Staff <<
  \accidentalStyle voice
  { … }
>>

La règle de gestion des altérations s’applique normalement au contexte Staff en cours, exception faite des styles choral, piano et piano-cautionary comme nous allons le voir. Cette fonction accepte un éventuel argument supplémentaire chargé de spécifier le champ d’action de la règle à suivre. À titre d’exemple, il faudra utiliser, pour que toutes les portées d’un même système – contexte StaffGroup – soient soumises à la même règle :

\accidentalStyle StaffGroup.voice

Nous vous présentons ci-après les différentes règles d’altération prises en charge. Pour les besoins de la démonstration, nous partirons de l’exemple suivant :

musicA = {
  <<
    \relative {
      cis''8 fis, bes4 <a cis>8 f bis4 |
      cis2. <c, g'>4 |
    }
    \\
    \relative {
      ais'2 cis, |
      fis8 b a4 cis2 |
    }
  >>
}

musicB = {
  \clef bass
  \new Voice {
    \voiceTwo \relative {
      <fis a cis>8[ <fis a cis>
      \change Staff = up
      cis' cis
      \change Staff = down
      <fis, a> <fis a>]
      \showStaffSwitch
      \change Staff = up
      dis'4 |
      \change Staff = down
      <fis, a cis>4 gis <f a d>2 |
    }
  }
}

\new PianoStaff {
  <<
    \new Staff = "up" {
      \accidentalStyle default
      \musicA
    }
    \new Staff = "down" {
      \accidentalStyle default
      \musicB
    }
  >>
}

[image of music]

Notez bien que pour appliquer le même style aux deux portées, seules les dernières lignes de cet exemple nous intéressent.

\new PianoStaff {
  <<
    \new Staff = "haut" {
      %%% voici la ligne à modifier en conséquence :
      \accidentalStyle Score.default
      \musicA
    }
    \new Staff = "bas" {
      \musicB
    }
  >>
}
default

C’est la règle d’impression par défaut, qui se rapporte à l’usage en vigueur au XVIIIe siècle : les altérations accidentelles sont valables toute une mesure, et uniquement à leur propre octave. C’est la raison pour laquelle il n’y a pas de bécarre avant le si de la deuxième mesure, ni avant le dernier do.

[image of music]

voice

En principe, LilyPond se souvient de toutes les altérations présentes sur la portée (contexte Staff). Avec cette règle, cependant, les altérations sont indépendantes pour chacune des voix tout en obéissant à la règle default.

Les altérations d’une voix sont de fait ignorées dans les autres voix, ce qui peut donner lieu à un résultat malencontreux. Dans l’exemple suivant, il est difficile de dire si le deuxième la est dièse ou naturel. La règle voice n’est donc à envisager que dans le cas de voix devant être lues par des musiciens différents. S’il s’agit d’un « conducteur », ou d’une portée destinée à un seul musicien, il vaut mieux utiliser modern ou modern-cautionary.

[image of music]

modern

Cette règle est la plus courante au XXe siècle. Certains bécarres ne sont pas imprimés, comme il était d’usage lorsqu’une note diésée suit cette même note flanquée d’un double dièse, ou bien un bémol un double bémol. Le style modern suit la même règle que le style default, avec deux additions afin de lever les ambiguïtés : lorsqu’une note non altérée apparaît à une octave différente, ou bien dans la mesure suivante, des bécarres de précaution sont ajoutés. Dans l’exemple suivant, notez ainsi les deux bécarres dans la deuxième mesure de la main droite.

[image of music]

modern-cautionary

Cette règle est équivalente à modern, mais les bécarres de précaution (absents dans la règle default) sont imprimés entre parenthèses. Ils peuvent aussi adopter une taille différente, au moyen de la propriété font-size de l’objet AccidentalSuggestion.

[image of music]

modern-voice

Cette règle sert aux altérations dans de la musique polyphonique destinée autant à des musiciens différents qu’à quelqu’un qui lirait l’ensemble des voix. Les altérations sont imprimées voix par voix, mais les autres voix d’un même contexte Staff en tiennent compte cette fois. C’est pourquoi le la de la dernière mesure est affublé d’un bécarre bien qu’il y en ait déjà eu un dans la mesure précédente, et que le de la main gauche en ait un alors que le dièse qu’il avait auparavant concernait la main droite.

[image of music]

modern-voice-cautionary

Cette règle est similaire à la précédente, mais les altérations de précaution (celles que n’aurait pas ajoutées voice), sont imprimées de façon particulière. On retrouve donc toutes les altérations qu’imprimerait default, mais certaines sont considérées comme étant « de précaution ».

[image of music]

piano

Cette règle est communément employée pour les partitions de piano au XXe siècle. Très similaire à modern de par son comportement, elle s’en distingue en ce que les altérations tiennent compte des autres portées du contexte GrandStaff ou PianoStaff.

Cette règle s’applique par défaut dans un GrandStaff et dans un PianoStaff à moins d’être qualifiée d’un second argument.

[image of music]

piano-cautionary

Identique au style piano, mais les altérations de précaution sont imprimées différemment.

[image of music]

choral

Cette règle est une combinaison des styles modern-voice et piano. Les altérations accidentelles sont indiquées aussi bien pour un chanteur qui suit seulement sa voix, que pour un lecteur suivant toutes les voix d’un ChoirStaff.

Ce style d’altération s’applique, par défaut, au ChoirStaff en cours à moins d’être qualifié d’un second argument.

[image of music]

choral-cautionary

Identique au style choral, mais les altérations de précaution sont imprimées différemment.

[image of music]

neo-modern

Cette règle suit les pratiques de la musique contemporaine : les altérations accidentelles apparaissent comme dans le style modern, à ceci près qu’elles sont répétées dans la même mesure – sauf si elles concernent deux notes consécutives.

[image of music]

neo-modern-cautionary

Identique au style neo-modern, mais les altérations de précaution sont imprimées entre parenthèses. Elles peuvent aussi adopter une taille différente, au moyen de la propriété font-size de l’objet AccidentalSuggestion.

[image of music]

neo-modern-voice

Cette règle sert aux altérations dans de la musique polyphonique destinée autant à des musiciens différents qu’à quelqu’un qui lirait l’ensemble des voix. Les altérations sont imprimées voix par voix comme avec le style neo-modern mais les autres voix dans le même contexte Staff en tiennent aussi compte.

[image of music]

neo-modern-voice-cautionary

Cette règle est identique à neo-modern-voice, mais les altérations de précaution sont imprimées soit entre parenthèses (par défaut), soit en plus petit.

[image of music]

dodecaphonic

Cette règle reproduit ce que certains compositeurs du début du XXe siècle ont introduit dans leur désir d’abolir la distinction entre les notes naturelles ou non. Ainsi, chaque note est affublée d’une altération, même si elle est naturelle.

[image of music]

dodecaphonic-no-repeat

Comme dans le cas du style dodecaphonic, chaque note est par défaut affublée d’une altération. Celle-ci sera toutefois omise lorsque la même hauteur est immédiatement répétée dans la même portée.

[image of music]

dodecaphonic-first

Comme dans le cas du style dodecaphonic, chaque note est par défaut affublée d’une altération. Cette altération n’apparaîtra que pour la première occurrence dans la mesure et seront répétés en cas d’octave différente.

[image of music]

teaching

Cette règle est à usage pédagogique : l’impression d’une simple gamme fera apparaître une altération de précaution pour toute note altérée. Les altérations accidentelles sont imprimées selon le style modern, et une altération de précaution est ajoutée pour chaque dièse ou bémol à la clef – sauf dans le cas de notes consécutives.

[image of music]

no-reset

C’est la même règle que default, mais l’effet des altérations accidentelles ne cesse jamais, même dans les mesures suivantes.

[image of music]

forget

Tout le contraire de no-reset : l’effet des altérations cesse aussitôt ; toutes les altérations, quelle que soit leur place dans la mesure, sont de ce fait imprimées en fonction de l’éventuelle armure.

[image of music]

Voir aussi

Morceaux choisis : Hauteurs.

Référence des propriétés internes : Accidental, Accidental_engraver, GrandStaff et PianoStaff, Staff, AccidentalSuggestion, AccidentalPlacement, accidental-suggestion-interface.

Problèmes connus et avertissements

Les notes simultanées sont considérées comme des évènements séquentiels. Ceci implique que, dans un accord, les altérations accidentelles seront imprimées comme si les notes de l’accord apparaissaient l’une après l’autre, en fonction de l’ordre dans lequel elles ont été saisies – ce qui peut poser problème lorsqu’au sein d’un accord certaines altérations dépendent les unes des autres. Ce problème est à résoudre manuellement, en insérant des ! et des ? après les notes concernées, tel ‘<f! fis!>’.

L’absence d’altération de précaution est déterminée par l’examen de la mesure précédente.

Dans le cas d’une reprise, la logique voudrait que la présence d’altération de précaution d’une alternativee soit basée sur la dernière mesure jouée plutôt que la dernière imprimée. Dans l’exemple qui suit, vous conviendrez que le do de la seconde alternative ne nécessite pas son bécarre.

[image of music]

L’astuce suivante, qui définit temporairement le recours au style forget, permet d’obtenir quelque chose de présentable.

forget = #(define-music-function (music) (ly:music?) #{
  \accidentalStyle forget
  #music
  \accidentalStyle modern
#})
{
  \accidentalStyle modern
  \time 2/4
  \repeat volta 2 {
    c'2
  }
  \alternative {
    \volta 1 { cis' }
    \volta 2 { \forget c' }
  }
}

[image of music]


Glyphes d’altération alternatifs

Les systèmes de notation non occidentaux ou anciens disposent de leurs propres altérations. Leurs glyphes sont contrôlés par la propriété alterationGlyphs attachée à un contexte Staff ou équivalent. Les valeurs prédéfinies de cette propriété sont répertoriées à l’annexe Jeux de glyphes d’altération.

\layout {
  \context {
    \Staff
    alterationGlyphs = #alteration-vaticana-glyph-name-alist
  }
}

{ ces' c' cis' }

[image of music]

On peut également donner à cette propriété une valeur personnalisée sous la forme d’une liste associative affectant une altération à un nom de glyphe. Les altérations sont exprimées comme fractions d’un ton entier. Les différents glyphes sont répertoriés à l’annexe Glyphes d’altération.

\layout {
  \context {
    \Staff
    alterationGlyphs =
      #'((-1/2 . "accidentals.flat.arrowdown")
         (0 . "accidentals.natural.arrowup")
         (1/2 . "accidentals.sharp.arrowup"))
  }
}

{ ces' c' cis' }

[image of music]

La propriété padding-pairs des objets KeySignature et KeyCancellation est une liste associative affectant à une paire de glyphes le décalage qui doit s’appliquer à ces glyphes lorsqu’ils apparaissent consécutivement dans l’armure.

\layout {
  \context {
    \Staff
    alterationGlyphs =
      #'((-1/2 . "accidentals.flat.arrowdown")
         (0 . "accidentals.natural.arrowup")
         (1/2 . "accidentals.sharp.arrowup"))
    \override KeySignature.padding-pairs =
      #'((("accidentals.sharp.arrowup" . "accidentals.sharp.arrowup")
            . 0.25)
         (("accidentals.flat.arrowdown" . "accidentals.flat.arrowdown")
            . 0.3))
    \override KeyCancellation.padding-pairs =
      #'((("accidentals.natural.arrowup" . "accidentals.natural.arrowup")
            . 0.7))
  }
}

{
  \key cis \major
  ces' c'
  \key ces \major
  cis'
}

[image of music]

Voir aussi

Manuel de notation : Glyphes d’altération, Jeux de glyphes d’altération.

Référence des propriétés internes : accidental-switch-interface, Alteration_glyph_engraver, key-signature-interface.


Ambitus

L’ambitus est l’amplitude des hauteurs d’une voix donnée dans une partition. Ce terme peut aussi désigner la tessiture qu’un instrument est capable d’atteindre. Souvent, cet ambitus est imprimé au début des partitions vocales, afin que les exécutants puissent voir au premier coup d’œil s’ils sont en mesure de tenir la partie en question.

Pour exprimer l’ambitus d’une pièce, on indique avant la clef deux têtes de note représentant la hauteur la plus basse et la plus haute. Les éventuelles altérations accidentelles seront automatiquement ajoutées.

\layout {
  \context {
    \Voice
    \consists Ambitus_engraver
  }
}

\relative {
  aes' c e2
  cis,1
}

[image of music]

Morceaux choisis

Un ambitus par voix

L’ambitus peut être individualisé par voix. Il faut en pareil cas éviter qu’ils se chevauchent.

\new Staff <<
  \new Voice \with {
    \consists "Ambitus_engraver"
  } \relative c'' {
    \override Ambitus.X-offset = #2.0
    \voiceOne
    c4 a d e
    f1
  }
  \new Voice \with {
    \consists "Ambitus_engraver"
  } \relative c' {
    \voiceTwo
    es4 f g as
    b1
  }
>>

[image of music]

Ambitus sur plusieurs voix

Si plusieurs voix se trouvent sur une même portée, on peut attribuer le graveur Ambitus_engraver au contexte Staff afin d’obtenir l’ambitus sur toutes les voix cumulées, non d’une seule des voix actives.

\new Staff \with {
  \consists "Ambitus_engraver"
  }
<<
  \new Voice \relative c'' {
    \voiceOne
    c4 a d e
    f1
  }
  \new Voice \relative c' {
    \voiceTwo
    es4 f g as
    b1
  }
>>

[image of music]

Réglage de l’affichage d’un ambitus

L’affichage d’un ambitus peut s’affiner pour répondre à vos préférences en matière d’esthétique.

\layout {
  \context {
    \Voice
    \consists "Ambitus_engraver"
  }
}

\new Staff {
  \time 2/4
  % Default setting
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #0
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #1
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #1.5
  c'4 g''
}

[image of music]

Ambitus après l’armure

L’ambitus se place par défaut à gauche de la clef. La fonction \ambitusAfter permet cependant de modifier ce positionnement ; sa syntaxe est \ambitusAfter grob-interface – voir Graphical Object Interfaces pour une liste des valeurs de grob-interface possibles.

L’un des cas d’usage est d’insérer l’ambitus entre l’armure et la métrique.

\new Staff \with {
  \consists Ambitus_engraver
} \relative {
  \ambitusAfter key-signature
  \key d \major
  es'8 g bes cis d2
}

[image of music]

Voir aussi

Glossaire musicologique : ambitus.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : Ambitus_engraver, Voice, Staff, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ambitus-interface.

Problèmes connus et avertissements

LilyPond ne gère pas les collisions entre plusieurs ambitus présents sur une même portée.


1.1.4 Têtes de note

Nous allons voir dans ce chapitre comment modifier l’aspect des têtes de note.


Têtes de note spécifiques

L’apparence des têtes de note peut évoluer au cours de la partition :

\relative c'' {
  c4 b
  \override NoteHead.style = #'cross
  c4 b
  \revert NoteHead.style
  a b
  \override NoteHead.style = #'harmonic
  a b
  \revert NoteHead.style
  c4 d e f
}

[image of music]

Pour une liste exhaustive des styles de tête de note, consultez Styles de tête de note.

Certains instruments utilisent des têtes de note différentes à des fins spécifiques – des croix (style cross) pour le parlato des chanteurs ou les notes étouffées des guitares :

\relative {
  c''4 b
  \xNotesOn
   a b c4 b
  \xNotesOff
  c4 d
}

[image of music]

Cette commande opère aussi bien sur des notes isolées qu’au sein d’un accord, dans une portée traditionnelle ou dans un contexte de tablature :

\relative {
  c''4 b
  \xNote { e f }
  c b < g \xNote c f > b
}

[image of music]

Vous pouvez utiliser, en lieu et place de \xNote, \xNotesOn et \xNotesOff, les commandes \deadNote, \deadNotesOn et \deadNotesOff.

Il existe un raccourci pour les notes en losange :

\relative c'' {
  <c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic
}

[image of music]

Commandes prédéfinies

\harmonic, \xNotesOn, \xNotesOff, \xNote.

Voir aussi

Manuel de notation : Indication des harmoniques et notes étouffées, Notes en accords, Styles de tête de note.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : note-event, Note_heads_engraver, Ledger_line_engraver, NoteHead, LedgerLineSpanner, note-head-interface, ledger-line-spanner-interface.


Têtes de note avec nom de note

Les notes « easy play » comportent le nom de la note à l’intérieur de la tête. On l’utilise dans des partitions pour débutants. L’impression doit être de plus grande taille, afin que les lettres soient lisibles. Voir à ce propos Définition de la taille de portée.

#(set-global-staff-size 26)
\relative c' {
  \easyHeadsOn
  c2 e4 f
  g1
  \easyHeadsOff
  c,1
}

[image of music]

Commandes prédéfinies

\easyHeadsOn, \easyHeadsOff.

Morceaux choisis

Easy play – chiffres en lieu et place des lettres

En mode « easy play », les têtes de note utilisent la propriété note-names attachée à l’objet NoteHead pour déterminer ce qui apparaîtra dans la tête. Intervenir sur cette propriété permet d’imprimer un chiffre correspondant au degré dans la gamme.

La création d’un graveur dédié permet de traiter toutes les notes.

#(define Ez_numbers_engraver
   (make-engraver
    (acknowledgers
     ((note-head-interface engraver grob source-engraver)
      (let* ((context (ly:translator-context engraver))
	     (tonic-pitch (ly:context-property context 'tonic))
	     (tonic-name (ly:pitch-notename tonic-pitch))
	     (grob-pitch
	      (ly:event-property (event-cause grob) 'pitch))
	     (grob-name (ly:pitch-notename grob-pitch))
	     (delta (modulo (- grob-name tonic-name) 7))
	     (note-names
	      (make-vector 7 (number->string (1+ delta)))))
	(ly:grob-set-property! grob 'note-names note-names))))))

#(set-global-staff-size 26)

\layout {
  ragged-right = ##t
  \context {
    \Voice
    \consists \Ez_numbers_engraver
  }
}

\relative c' {
  \easyHeadsOn
  c4 d e f
  g4 a b c \break

  \key a \major
  a,4 b cis d
  e4 fis gis a \break

  \key d \dorian
  d,4 e f g
  a4 b c d
}

[image of music]

Voir aussi

Manuel de notation : Définition de la taille de portée.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : note-event, Note_heads_engraver, NoteHead, note-head-interface.


Têtes de note à forme variable

En notation profilée, le profil d’une tête de note correspond à la fonction harmonique de cette note dans la gamme. Ce style de notation était très en vogue dans les recueils de chansons américains du XIXe siècle. Voici comment procéder :

\relative c'' {
  \aikenHeads
  c, d e f g2 a b1 c \break
  \aikenThinHeads
  c,4 d e f g2 a b1 c \break
  \sacredHarpHeads
  c,4 d e f g2 a b1 c \break
  \southernHarmonyHeads
  c,4 d e f g2 a b1 c \break
  \funkHeads
  c,4 d e f g2 a b1 c \break
  \walkerHeads
  c,4 d e f g2 a b1 c \break
}

[image of music]

Les profils sont déterminés par la hauteur dans la gamme, le premier degré étant défini par la commande \key. Pour une tonalité mineure, les degrés sont déterminés par rapport au relatif majeur :

\relative c'' {
  \key a \minor
  \aikenHeads
  a b c d e2 f g1 a \break
  \aikenHeadsMinor
  a,4 b c d e2 f g1 a \break
  \aikenThinHeadsMinor
  a,4 b c d e2 f g1 a \break
  \sacredHarpHeadsMinor
  a,2 b c d \break
  \southernHarmonyHeadsMinor
  a2 b c d \break
  \funkHeadsMinor
  a2 b c d \break
  \walkerHeadsMinor
  a2 b c d \break
}

[image of music]

Commandes prédéfinies

\aikenHeads, \aikenHeadsMinor, \aikenThinHeads, \aikenThinHeadsMinor, \funkHeads, \funkHeadsMinor, \sacredHarpHeads, \sacredHarpHeadsMinor, \southernHarmonyHeads, \southernHarmonyHeadsMinor, \walkerHeads, \walkerHeadsMinor.

Morceaux choisis

Variante fine des notes profilées Aiken

Les notes profilées Aiken, lorsqu’elles sont blanches, deviennent difficile à distinguer avec des tailles de portée réduites, notamment en présence de ligne supplémentaire. Perdant du blanc sur leur intérieur les fait alors ressembler à des noires.

\score {
  {
    \aikenHeads
    c''2 a' c' a

    % Switch to thin-variant noteheads
    \set shapeNoteStyles = ##(doThin reThin miThin
                              faThin sol laThin tiThin)
    c'' a' c' a
  }
}

[image of music]

Orientation de la tête d’un « fa » profilé en cas de fusion

Grâce à la propriété NoteCollision.fa-merge-direction, l’orientation de la tête des notes profilées « fa » (fa, faThin, etc.) peut se gérer indépendamment de la direction des hampes lorsque deux voix ayant la même hauteur et des directions de hampes différentes sont fusionnées. Lorsque cette propriété n’est pas activée sera utilisée la variante « descendante ».

{
  \clef bass

  << { \aikenHeads
       f2
       \override Staff.NoteCollision.fa-merge-direction = #UP
       f2 }
  \\ { \aikenHeads
       f2
       f2 }
  >>
}

[image of music]

Profilage des notes selon leur degré dans la gamme

La propriété shapeNoteStyles permet d’affecter un profil particulier à chaque degré de la gamme – à partir de l’armure ou de la propriété tonic. Ses valeurs sont constituées d’une liste de symboles, qu’il s’agisse de formes géométriques (triangle, cross ou xcircle) ou basés sur la tradition des graveurs américains (avec quelques noms de note latins).

LilyPond dispose de deux raccourcis, \aikenHeads et \sacredHarpHeads, permettant de reproduire d’anciens recueils de chansons américaines.

L’exemple suivant montre plusieurs manières de profiler les têtes de note, ainsi que la capacité de transposer tout en respectant la fonction harmonique de chaque note dans la gamme.

fragment = {
  \key c \major
  c2 d
  e2 f
  g2 a
  b2 c
}

\new Staff {
  \transpose c d
  \relative c' {
    \set shapeNoteStyles = ##(do re mi fa
                               #f la ti)
    \fragment
  }

  \break

  \relative c' {
    \set shapeNoteStyles = ##(cross triangle fa #f
                               mensural xcircle diamond)
    \fragment
  }
}

[image of music]

Pour une liste exhaustive des styles de tête de note, consultez Styles de tête de note.

Voir aussi

Manuel de notation : Styles de tête de note.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : note-event, Note_heads_engraver, NoteHead, note-head-interface.


Improvisation

L’improvisation peut quelquefois s’indiquer à l’aide de notes de forme allongée (slash). L’interprète jouera alors les notes qu’il veut, en respectant toutefois le rythme affiché. Ces têtes de notes sont créées ainsi :

\new Voice \with {
  \consists Pitch_squash_engraver
} \relative {
  e''8 e g a a16( bes) a8 g
  \improvisationOn
  e8 ~
  2 ~ 8 f4 f8 ~
  2
  \improvisationOff
  a16( bes) a8 g e
}

[image of music]

Commandes prédéfinies

\improvisationOn, \improvisationOff.

Voir aussi

Morceaux choisis : Hauteurs.

Référence des propriétés internes : Pitch_squash_engraver, Voice, RhythmicStaff.


1.2 Rythme

[image of music]

Cette section traite du rythme : durées, silences, barres de ligature et de mesure.


1.2.1 Écriture du rythme


Durées

Dans les modes de notes, d’accords et de paroles, les durées sont écrites avec des chiffres et des points : les durées sont indiquées par leur valeur fractionnaire par rapport à la durée d’une ronde. Une noire, par exemple, qui équivaut à un 1/4 de ronde – quarter note en anglais – s’écrit 4, alors qu’une blanche – half-note, 1/2 ronde – s’écrit 2. Des durées plus courtes que la quintuple croche – 1/128 de ronde – sont possibles, à condition de les ligaturer – voir Ligatures.

Pour des notes plus longues qu’une ronde, vous devrez utiliser les commandes \longa pour une longue, et \breve pour une brève, aussi appelée carrée. Une note dont la durée est de quatre brèves s’obtient par la commande \maxima ; celle-ci n’est toutefois disponible que dans le cadre de la notation ancienne. Pour plus de détails, voir Notations anciennes.

\relative {
  \time 8/1
  c''\longa c\breve c1 c2
  c4 c8 c16 c32 c64 c128 c128
}

[image of music]

Voici ces mêmes durées sans la fonction de ligature automatique.

\relative {
  \time 8/1
  \autoBeamOff
  c''\longa c\breve c1 c2
  c4 c8 c16 c32 c64 c128 c128
}

[image of music]

Lorsque une note ou un accord est suivi d’une succession de durées individuelles, celles-ci adopteront la ou les dernières hauteurs mentionnées.

\relative {
  \time 8/1
  c'' \longa \breve 1 2
  4 8 16 32 64 128 128
}

[image of music]

Si la durée d’une note n’est pas précisée, elle est alors assimilée à la durée de la note précédente. La valeur par défaut pour la première note est la noire (4).

\relative { a' a a2 a a4 a a1 a }

[image of music]

Pour obtenir des notes pointées, ajoutez simplement un point (.) au chiffre. Les notes doublement pointées sont créées de la même façon.

\relative { a'4 b c4. b8 a4. b4.. c8. }

[image of music]

Les points sont normalement haussés pour éviter les lignes de portée, sauf dans certaines polyphonies. Des commandes prédéfinies permettent de manuellement forcer un positionnement particulier, comme indiqué au chapitre Direction et positionnement.

Certaines durées ne peuvent s’obtenir à partir de chiffres et de points, mais uniquement en « liant » deux ou plusieurs notes entre elles. Voir Liaisons de prolongation à ce sujet.

Quant à la manière de spécifier la durée des syllabes ou bien d’aligner des paroles par rapport aux notes, reportez vous au chapitre Musique vocale.

Espacer les notes selon leur durée relative est tout à fait possible. Pour plus de détails à ce sujet et sur les autres réglages propres à cette forme de notation, reportez vous à Notation proportionnelle.

Commandes prédéfinies

\autoBeamOn, \autoBeamOff, \dotsUp, \dotsDown, \dotsNeutral.

Morceaux choisis

Brève alternative, avec deux barres verticales

Voici comment obtenir une brève – aussi appelée note carée – flanquée de deux barres verticales, au lieu d’une comme habituellement.

\relative c'' {
  \time 4/2
  c\breve |
  \override Staff.NoteHead.style = #'altdefault
  b\breve
  \override Staff.NoteHead.style = #'baroque
  b\breve
  \revert Staff.NoteHead.style
  a\breve
}

[image of music]

Spécification du nombre de points d’augmentation d’une note

Le nombre de points d’augmentation affectés à une note en particulier peut se modifier indépendamment des points placés après la note.

\relative c' {
  c4.. a16 r2 |
  \override Dots.dot-count = #4
  c4.. a16 r2 |
  \override Dots.dot-count = #0
  c4.. a16 r2 |
  \revert Dots.dot-count
  c4.. a16 r2 |
}

[image of music]

Voir aussi

Glossaire musicologique : breve, longa, maxima, valeur des notes, Noms de durée (notes et silences).

Manuel de notation : Barres de ligature automatiques, Écriture des silences, Écriture du rythme, Hampes, Liaisons de prolongation, Ligatures, Musique vocale, Notations anciennes, Notation proportionnelle.

Morceaux choisis : Rythme.

Référence des propriétés internes : Dots, DotColumn.

Problèmes connus et avertissements

Il n’existe pas à proprement parler de limite (inférieure ou supérieure) en terme de durée d’un silence. Cependant, le nombre de glyphes disponibles ne couvre que les silences allant de 1 024e de pause (256e de soupir) à la maxime (valant huit pauses).


N-olets

Les n-olets – triolets, quintolets, etc. – sont obtenus en multipliant la vitesse d’une expression musicale par une fraction.

\tuplet fraction { expression_musicale }

Le numérateur de cette fraction sera imprimé au-dessus ou au-dessous des notes, parfois avec un crochet. Le n-olet le plus courant est le triolet, dans lequel trois notes occupent la durée de deux.

\relative {
  a'2 \tuplet 3/2 { b4 4 4 }
  c4 c \tuplet 3/2 { b4 a g }
}

[image of music]

Dans le cas d’une succession de n-olets, saisir la commande \tuplet pour chacun des n-olets devient vite fastidieux. LilyPond vous permet de stipuler la durée de base d’un n-olet juste avant l’expression musicale, de telle sorte que les n-olets seront formés automatiquement :

\relative {
  g'2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e }
}

[image of music]

Des commandes prédéfinies permettent de déroger au positionnement automatique du crochet en surplomb ou au-dessous des notes :

\relative {
  \tupletUp \tuplet 3/2 { c''8 d e }
  \tupletNeutral \tuplet 3/2 { c8 d e }
  \tupletDown \tuplet 3/2 { f,8 g a }
  \tupletNeutral \tuplet 3/2 { f8 g a }
}

[image of music]

Les n-olets peuvent être imbriqués ; par exemple,

\autoBeamOff
c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 |

[image of music]

Lorsque, dans une imbrication, les n-olets débutent au même instant, il vous faut recourir à la commande \tweak – voir La commande d’affinage \tweak.

Le crochet de n-olet peut être remplacé par une liaison, à l’instar des éditions anciennes :

\relative {
  \tuplet 3/2 4 {
    \override TupletBracket.tuplet-slur = ##t
    c'4 e8 d4 f8
    \override TupletBracket.bracket-visibility = ##t
    e f g f e d
  } c1
}

[image of music]

Un crochet sera imprimé en l’absence de ligature couvrant toute sa longueur. Dans certains cas cependant, par exemple en présence d’une liaison comme ci-dessus, il peut être préférable de modifier ce comportement à l’aide de la propriété bracket-visibility comme indiqué dans les exemples qui suivent.

De manière générale, aussi bien les objets TupletBracket que TupletNumber peuvent se masquer comme indiqué dans Visibilité des objets ; on peut néanmoins interférer sur la durée des notes sans imprimer de crochet, comme indiqué au chapitre Changement d’échelle des durées.

Commandes prédéfinies

\tupletUp, \tupletDown, \tupletNeutral.

Morceaux choisis

Plusieurs triolets avec une seule commande tuplet

La propriété tupletSpannerDuration spécifie la longueur voulue de chaque crochet. Avec elle, vous pouvez faire plusieurs n-olets en ne tapant \tuplet qu’une fois, ce qui évite une longue saisie.

Il existe différents moyens de définir tupletSpannerDuration. La commande \tupletSpan lui affecte une durée arbitraire qui sera réinitialisée dès l’intervention d’une durée à \default. Vous pouvez aussi opter pour fournir un argument supplémentaire à la commande \tuplet.

\relative c' {
  \time 2/4
  \tupletSpan 4
  \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c }
  \tupletSpan \default
  \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c }
  \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c }
}

[image of music]

Modifier l’apparence du chiffre de n-olet

LilyPond imprime par défaut le numérateur de la fraction fournie en argument à la commande \tuplet du côté du crochet de n-olet.

Il est toutefois possible d’imprimer la fraction entière num:den, voire de ne rien imprimer du tout.

\relative c'' {
  \tuplet 3/2 { c8 c c }
  \tuplet 3/2 { c8 c c }
  \override TupletNumber.text = #tuplet-number::calc-fraction-text
  \tuplet 3/2 { c8 c c }
  \omit TupletNumber
  \tuplet 3/2 { c8 c c }
}

[image of music]

N-olets au chiffrage inhabituel

LilyPond sait aussi gérer des n-olets dont le chiffrage imprimé ne correspond pas exactement à la fraction de mesure à laquelle ils se réfèrent, tout comme ceux auxquels une valeur de note vient en complément du chiffre.

\relative c'' {
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-tuplet-denominator-text 7)
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-tuplet-fraction-text 12 7)
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      (tuplet-number::non-default-tuplet-fraction-text 12 7)
      (ly:make-duration 3 0))
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      tuplet-number::calc-denominator-text
      (ly:make-duration 2 0))
  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      tuplet-number::calc-fraction-text
      (ly:make-duration 2 0))
  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
  \once \override TupletNumber.text =
    #(tuplet-number::fraction-with-notes
      (ly:make-duration 2 1) (ly:make-duration 3 0))
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-fraction-with-notes 12
      (ly:make-duration 3 0) 4 (ly:make-duration 2 0))
  \tuplet 3/2  { c4. c4. c4. c4. }
}

[image of music]

Contrôle de l’impression des crochets de n-olet

Selon la tradition, les crochets indicateurs de n-olet sont toujours imprimés, sauf dans le cas où ils seraient de la même longueur qu’une ligature.

LilyPond permet, au travers de la propriété bracket-visibility, de contôler précisément leur affichage : déterminée à #t, ils seront toujours imprimés ; #f permet de ne jamais les imprimer – donc omettre l’objet TupletBracket –, et #'if-no-beam les imprimera en l’absence de ligature (comportement par défaut).

music = \relative c'' {
  \tuplet 3/2 { c16[ d e } f8]
  \tuplet 3/2 { c8 d e }
  \tuplet 3/2 { c4 d e }
}

\new Voice {
  \relative c' {
    \override Score.TextMark.non-musical = ##f
    \textMark "default" \music
    \override TupletBracket.bracket-visibility = #'if-no-beam
    \textMark \markup \typewriter "'if-no-beam" \music
    \override TupletBracket.bracket-visibility = ##t
    \textMark \markup \typewriter "#t" \music
    \override TupletBracket.bracket-visibility = ##f
    \textMark \markup \typewriter "#f" \music
    \omit TupletBracket
    \textMark \markup \typewriter "omit" \music
  }
}

[image of music]

Affichage du crochet de n-olet du côté des têtes de note

Quelle que soit l’option choisie pour contrôler la visibilité d’une indication de n-olet, elle s’affichera ou sera masquée indépendamment de son positionnement (côté hampe ou tête de note). Toutefois, lorsqu’elle se place du côté des têtes de note, certains auteurs recommandent de toujours afficher un crochet. L’option visible-over-note-heads permet d’y parvenir.

music = \relative c'' {
  \tupletNeutral \tuplet 3/2 { c16[ d e } f8]
  \tupletUp \tuplet 3/2 { c8 d e }
}

\new Voice {
  \relative c' {
    \time 2/4
    \override TupletBracket.visible-over-note-heads = ##t
    \override Score.TextMark.non-musical = ##f
    { \textMark \markup "default" \music }
    \override TupletBracket.bracket-visibility = #'if-no-beam
    { \textMark \markup \typewriter "'if-no-beam" \music }
  }
}

[image of music]

Saut de ligne au milieu d’un n-olet avec ligature

Cet exemple peu académique démontre comment il est possible d’insérer un saut de ligne dans un n-olet portant une ligature. Ces ligatures doivent toutefois être explicites.

\layout {
  \context {
    \Voice
    % Permit line breaks within tuplets
    \remove "Forbid_line_break_engraver"
    % Allow beams to be broken at line breaks
    \override Beam.breakable = ##t
  }
}
\relative c'' {
  a8
  \repeat unfold 5 { \tuplet 3/2 { c[ b a] } }
  % Insert a manual line break within a tuplet
  \tuplet 3/2 { c[ b \bar "" \break a] }
  \repeat unfold 5 { \tuplet 3/2 { c[ b a] } }
  c8
}

[image of music]

Voir aussi

Glossaire musicologique : triolet, n-olet, polymétrie.

Manuel d’initiation : Méthodes de retouche.

Manuel de notation : Changement d’échelle des durées, Direction et positionnement, Gestion du temps, La commande d’affinage \tweak, Notation polymétrique, Visibilité des objets.

Morceaux choisis : Rythme.

Références des propriétés internes : TupletBracket, TupletNumber, TimeScaledMusic.


Changement d’échelle des durées

La durée des notes, silences ou accords peut se modifier en lui adjoignant une fraction N/D, donnant « *N/D » – ou « *N » si D=1. Ce facteur peut aussi s’exprimer à l’aide d’une expression Scheme évaluant à un nombre ou un temps musical comme *#(ly:music-length musique). Cette solution est pratique pour échelonner à une durée de ‘1’ et laisser une note ou un silence multimesure s’étirer sur une longueur dérivée d’une variable musicale.

L’ajout de ce facteur ne modifiera en rien l’apparence des notes ou silences produits, mais affectera le positionnement de l’objet dans la mesure, ainsi que le rendu MIDI. Cette fraction peut elle-même être multipliée, ce qui donne quelque chose du style *M*N/D. Ce facteur d’échelonnement est partie intégrante de la durée : en l’absence de durée explicite à la note suivante, cette durée échelonnée est considérée comme valeur par défaut.

Dans l’exemple suivant, les trois premières notes prennent exactement deux temps, mais aucun triolet n’est imprimé.

\relative {
  \time 2/4
  % Alter durations to triplets
  a'4*2/3 gis a
  % Normal durations
  a4 a
  % Double the duration of chord
  <a d>4*2
  % Duration of quarter, appears like sixteenth
  b16*4 c4
}

[image of music]

La durée d’un silence invisible ou saut de notes (skip) peut elle aussi être affectée d’un multiplicateur. Cette technique permet tout simplement de sauter plusieurs mesures, comme par exemple un s1*23.

Il est tout à fait possible d’échelonner des fragments musicaux plus ou moins longs à l’aide d’une simple fraction, comme si chaque note, accord ou silence était affecté de ce même quotient. L’apparence de cette musique ne sera en rien modifiée ; seule la durée des notes est multipliée en interne par le facteur d’échelle donné – généralement numérateur/dénominateur. Voici un exemple illustrant la manière de comprimer ou étirer de la musique :

\relative {
  \time 2/4
  % Durée normale
  <c'' a>4 c8 a
  % Musique échelonnée à 2/3
  \scaleDurations 2/3 {
    <c a f>4. c8 a f
  }
  % Musique échelonnée par 2
  \scaleDurations 2 {
    <c' a>4 c8 b
  }
}

[image of music]

Cette technique est tout à fait appropriée à la notation polymétrique – voir Notation polymétrique.

Voir aussi

Manuel de notation : N-olets, Notation polymétrique, Silences invisibles.

Morceaux choisis : Rythme.

Problèmes connus et avertissements

Le calcul de la position au sein d’une mesure doit prendre en considération tous les facteurs d’échelonnement appliqués aux notes de cette mesure ainsi que tous les reliquats des mesures précédentes. Ce calcul utilise des nombres rationnels. Dès lors qu’un calcul recontrera un numérateur ou dénominateur intermédiaire d’une valeur supérieure à 2^30, LilyPond s’arrêtera à ce point précis sans pour autant signaler d’erreur.


Liaisons de prolongation

Une liaison de tenue (ou de prolongation) relie deux notes adjacentes de même hauteur. Dans les faits, elle prolonge la durée d’une note.

Une liaison de tenue sans note d’arrivée est une articulation de laissez vibrer – voir Laissez vibrer pour la commande \laissezVibrer. Une liaison de tenue venant de nulle part, comme celles qui peuvent apparaître en début de section alternative, s’indique par la commande \repeatTie – voir Tenue et reprise.

Note : Une liaison de tenue ne doit pas être confondue avec une liaison d’articulation ou de phrasé. Une liaison de tenue est un moyen parmi d’autres pour prolonger la durée d’une note, tout comme les points.

Une liaison de tenue s’indique au moyen d’un tilde (~) qui vient s’adjoindre à la première note de chacune des paires de notes à lier. Ceci indique que la note en question sera liée à la suivante, qui doit être de la même hauteur.

{ a'2~ 4~ 16 r r8 }

[image of music]

Les liaisons de tenue peuvent interpréter la « dernière hauteur explicite » d’une succession de durées :

{ a'2~ 4~ 16 r r8 }

[image of music]

Les liaisons de tenue sont utilisées soit lorsque la note dépasse de la mesure, soit quand les points ne suffisent pas à donner la bonne durée. Lorsque l’on utilise ces liaisons, les valeurs rythmiques les plus longues doivent s’aligner sur les subdivisions de la mesure, comme ici :

\relative {
  r8 c'4.~ 4 r4 |
  r8^"non" c2~ 8 r4
}

[image of music]

Lorsque l’on doit lier de nombreuses notes sur plusieurs mesures, il devient plus facile d’avoir recours à la division automatique des notes – voir Découpage automatique des notes. Ce procédé divise automatiquement les notes trop longues, et les lie par-delà les barres de mesure.

Quand une liaison de tenue se trouve entre deux accords, toutes les notes de même hauteur entre ces deux accords sont reliées. S’il n’y en a aucune, aucune liaison n’est créée. Il est également possible de lier partiellement deux accords, en mettant les liaisons à l’intérieur des accords.

\relative c' {
  <c e g>2~ 2 |
  <c e g>4~ <c e g c>
    <c~ e g~ b> <c e g b> |
}

[image of music]

Lorsqu’une mesure d’alternative après une reprise commence sur une note liée, la liaison doit être répétée, comme ici :

\relative {
  \repeat volta 2 { c'' g <c e>2~ }
  \alternative {
    % La note tenue est liée normalement
    \volta 1 { <c e>2. r4 }
    % la note qui suit est pourvue d'une liaison de reprise
    \volta 2 { <c e>2\repeatTie d4 c }
  }
}

[image of music]

Les liaisons « Laissez vibrer » (L.v.) sont utilisées pour le piano, la harpe et certains instruments de percussion. Elles indiquent à l’instrumentiste de laisser sonner la note ou l’accord au lieu de l’étouffer. Elles s’indiquent de la manière suivante :

 <c' f' g'>1\laissezVibrer

[image of music]

Le positionnement vertical des liaisons de prolongation peut être affiné – voir à ce sujet les « commandes prédéfinies » et, pour de plus amples détails, Direction et positionnement.

Les liaisons de prolongation peuvent s’imprimer sous la forme de ligne continue, discontinue ou pointillée.

\relative c' {
  \tieDotted
  c2~ 2
  \tieDashed
  c2~ 2
  \tieHalfDashed
  c2~ 2
  \tieHalfSolid
  c2~ 2
  \tieSolid
  c2~ 2
}

[image of music]

Il est même possible d’en personnaliser l’allure :

\relative c' {
  \tieDashPattern #0.3 #0.75
  c2~ 2
  \tieDashPattern #0.7 #1.5
  c2~ 2
  \tieSolid
  c2~ 2
}

[image of music]

Que ce soit pour une tenue ou un phrasé, le motif d’une ligne discontinue formant une liaison se définit de la même manière. Pour de plus amples détails à ce sujet, reportez vous au chapitre Liaisons d’articulation.

Dans le cas où une liaison est recouverte par d’autres éléments de la portée, une adaptation des propriétés whiteout et layer permet d’obtenir une meilleure lisibilité.

\relative {
  \override Tie.layer = #-2
  \override Staff.TimeSignature.layer = #-1
  \override Staff.KeySignature.layer = #-1
  \override Staff.TimeSignature.whiteout = ##t
  \override Staff.KeySignature.whiteout = ##t
  b'2 b~
  \time 3/4
  \key a \major
  b r4
}

[image of music]

Commandes prédéfinies

\tieUp, \tieDown, \tieNeutral, \tieDotted, \tieDashed, \tieDashPattern, \tieHalfDashed, \tieHalfSolid, \tieSolid.

Morceaux choisis

Liaison de tenue et arpège

Les liaisons de tenue servent parfois à rendre un accord arpégé. Dans ce cas, les notes liées ne sont pas toutes consécutives. Il faut alors assigner à la propriété tieWaitForNote la valeur #t (true pour « vrai »). Cette même méthode peut servir, par exemple, à lier un trémolo à un accord.

\relative c' {
  \set tieWaitForNote = ##t
  \grace { c16[ ~ e ~ g] ~ } <c, e g>2
  \repeat tremolo 8 { c32 ~ c' ~ } <c c,>1
  e8 ~ c ~ a ~ f ~ <e' c a f>2
  \tieUp
  c8 ~ a
  \tieDown
  \tieDotted
  g8 ~ c g2
}

[image of music]

Dessin à main levée de liaisons de tenue

Il est possible de graver manuellement les liaisons de tenue, en modifiant la propriété tie-configuration. Pour chaque paire, le premier nombre indique la distance à la portée, en espaces de portée, et le second la direction (1 pour haut, -1 pour bas).

Notez bien que LilyPond fait la distinction, au niveau du premier nombre, entre valeur exacte et valeur inexacte. Dans le cas d’une valeur exacte – autrement dit un entier ou une fraction comme (/ 4 5) – celle-ci servira de position verticale brute, ensuite afinée par LilyPond de sorte à éviter les lignes de la portée. Dans le cas d’une valeur inexacte, tel un nombre à virgule flottante, c’est elle qui servira à positionner verticalement, sans ajustement.

\relative c' {
  <c e g>2~ <c e g>
  \override TieColumn.tie-configuration =
    #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
  <c e g>2~ <c e g>
  \override TieColumn.tie-configuration =
    #'((0 . 1) (-2 . 1) (-4 . 1))
  <c e g>2~ <c e g>
}

[image of music]

Voir aussi

Glossaire musicologique : liaison de tenue, laissez vibrer.

Manuel de notation : Découpage automatique des notes, Liaisons d’articulation.

Morceaux choisis : Rythme, Signes d’interprétation.

Référence des propriétés internes : LaissezVibrerTie, LaissezVibrerTieColumn, TieColumn, Tie.

Problèmes connus et avertissements

Un changement de portée, lorsqu’une liaison de tenue est active, ne peut produire une liaison oblique.

Un changement de clef ou d’octave pendant une liaison de tenue produit un résultat indéfini. Dans ces cas là, il est préférable d’utiliser un legato.


1.2.2 Écriture des silences

On saisit les silences dans une expression musicale tout comme les notes.


Silences

Les silences sont écrits comme des notes avec le nom de note r – premier caractère du mot rest. Les durées supérieures à la pause s’indiquent à l’aide de commandes prédéfinies :

\new Staff {
  % These two lines are just to prettify this example
  \time 16/1
  \omit Staff.TimeSignature
  % Print a maxima rest, equal to four breves
  r\maxima
  % Print a longa rest, equal to two breves
  r\longa
  % Print a breve rest
  r\breve
  r1 r2 r4 r8 r16 r32 r64 r128
}

[image of music]

Les pauses d’une mesure complète, qui sont placées au centre de la mesure, doivent être entrées comme des mesures de silence. Elles peuvent être utilisées pour une seule mesure comme pour plusieurs, et leur utilisation est expliquée à la rubrique Silences valant une mesure.

Pour spécifier explicitement la position verticale d’un silence, écrivez une note suivie de \rest. Un silence de même durée sera placé à la position où serait imprimée la note. Cela rend plus facile la mise en place de musique polyphonique, puisque le formateur automatique de collision des silences laissera ces silences tranquilles.

\relative { a'4\rest d4\rest }

[image of music]

Morceaux choisis

Styles de silences

Les silences peuvent être gravés selon différents styles.

\new Staff \relative c {
  \omit Score.TimeSignature
  \cadenzaOn

  \override Staff.Rest.style = #'mensural
  r\maxima^\markup \typewriter { mensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'neomensural
  r\maxima^\markup \typewriter { neomensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'classical
  r\maxima^\markup \typewriter { classical }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'z
  r\maxima^\markup \typewriter { z-style }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'default
  r\maxima^\markup \typewriter { default }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
}

[image of music]

Voir aussi

Glossaire musicologique : breve, longa, maxima.

Manuel de notation : Silences valant une mesure.

Morceaux choisis : Rythme.

Référence des propriétés internes : Rest.

Problèmes connus et avertissements

Il n’existe pas à proprement parler de limite (inférieure ou supérieure) en terme de durée d’un silence. Cependant, le nombre de glyphes disponibles ne couvre que les silences allant du 1 024e de pause (256e de soupir) à la maxime (équivalant à huit pauses).


Silences invisibles

Il existe deux formes de silence invisible – que l’on pourrait appeler « saut » : le silence d’espacement qui se note s, et la commande \skip. Le silence d’espacement est une note qui ne produit pas de rélultat. Comme pour toute autre note ou silence, la durée qui lui est affectée définit la durée par défaut des notes qui le suivent.

\relative c'' {
  c4 c s c |
  s2 c |
}

[image of music]

Tout comme les autres notes ou silences, un silence invisible génère implicitement les contextes Staff et Voice s’il n’y en avait pas.

{ s1 s s }

[image of music]

La syntaxe s est seulement disponible pour les modes d’entrée de notes et d’accords. Dans les autres situations, pour l’entrée de paroles par exemple, vous devrez utiliser la commande \skip pour sauter un moment. La commande \skip prend en argument soit une durée explicite, soit un fragment musical, et saute la durée de cet argument. Cette durée ne sera pas prise en considération dès lors que les paroles suivent le rythme des notes de la mélodie à laquelle vous les aurez associées à l’aide des commandes \addlyrics ou \lyricsto.

<<
  {
    a'2 \skip2 a'2 a'2
  }
  \new Lyrics {
    \lyricmode {
      foo2 \skip 1 bla2
    }
  }
>>

[image of music]

Lorsque l’argument de \skip est de la musique, la durée par défaut de la note qui suit est celle de la dernière note du fragment « sauté ». Toutefois, et pour garder le compatibilité ascendante avec l’implémentation originelle de \skip, la durée explicitée en argument n’affectera en rien la durée des notes qui suivent.

<<
  {
    \repeat unfold 12 { a'4 }
  }
  {
    a'4 \skip 2 a' |
    a'4 \skip { a'8 a' a' a' } a' a' |
    s2 a'
  }
>>

[image of music]

La commande \skip préserve les effets de la commande unfoldRepeats qui la contiendrait, à l’inverse de la fonction Scheme skip-of-length.

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

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

\unfoldRepeats \music

[image of music]

La commande \skip ne fait que sauter du temps musical ; elle ne produit rien du tout, pas même un symbole transparent.

% This is valid input, but does nothing
{ \skip 1 \skip1 \skip 1 }

[image of music]

Voir aussi

Manuel d’initiation : Visibilité et couleur des objets.

Manuel de notation : Dictée à trous, Visibilité des objets.

Morceaux choisis : Rythme.

Référence des propriétés internes : SkipMusic.

Problèmes connus et avertissements

Dans la mesure où l’argument fourni à la commande \skip – durée ou fragment musical – affecte différemment la durée de la musique qui suit, il est de bon ton de mentionner explicitement une durée à ce qui la suit.


Silences valant une mesure

Un silence valant une ou plusieurs mesures entières s’entre avec un R majuscule. Sa durée s’indique comme pour n’importe quelle note, y compris un éventuel multiplicateur comme indiqué dans Changement d’échelle des durées.

% Rest measures contracted to single measure
\compressMMRests {
  R1*4
  R1*24
  R1*4
  b'2^"Tutti" b'4 a'4
}

[image of music]

Cet exemple illustre aussi la manière de condenser une succession de mesures vides, comme indiqué dans Compression de mesures vides.

Ceci ne peut être utile que pour une mesure complètement vide. Sa durée doit donc correspondre à la longueur de la mesure telle que définie par la métrique. C’est la raison pour laquelle on utilisera aussi des points d’augmentation ou des fractions :

\compressMMRests {
  \time 2/4
  R1 | R2 |
  \time 3/4
  R2. | R2.*2 |
  \time 13/8
  R1*13/8 | R1*13/8*12 |
  \time 10/8
  R4*5*4 |
}

[image of music]

Un R qui s’étend sur une seule mesure s’imprime tantôt comme une pause, tantôt comme une brève – ou « bâton de pause » – qui sera centrée sur la mesure quelle qu’en soit la métrique :

\time 4/4
R1 |
\time 6/4
R1*3/2 |
\time 8/4
R1*2 |

[image of music]

Vous pouvez aussi ajouter du texte à un silence multimesure en utilisant la syntaxe note-markup (cf. Mise en forme du texte).

\compressMMRests {
  \time 3/4
  R2.*10^\markup { \italic "ad lib." }
}

[image of music]

Note : C’est MultiMeasureRestText qui créera le texte, et MultiMeasureRestScript pour les articulations, non TextScript ou Script. Les commandes de dérogation ou de redéfinition doivent s’adresser à l’objet concerné, comme vous pouvez le constater dans l’exemple suivant.

% Ceci échouera : il y a erreur quant à l'objet spécifié
\override TextScript.padding = #5
\override Script.color = #blue
R1^"pas bon !"
R1\fermata
% Formulation correcte, qui fonctionnera
\override MultiMeasureRestText.padding = #5
\override MultiMeasureRestScript.color = #blue
R1^"ça marche !"
R1\fermata

[image of music]

Un silence multimesure placé directement après une commande \partial risque fort de perturber le vérificateur de limites et numéros de mesure.

Commandes prédéfinies

\textLengthOn, \textLengthOff, \compressMMRests.

Morceaux choisis

Contrôle de la taille d’un silence multimesure

Les silences multimesure ont une largeur relative à leur durée totale, contrôlée par MultiMeasureRest.space-increment. Sa valeur par défaut est fixée à 2.0.

\relative c' {
  \compressEmptyMeasures
  R1*2 R1*4 R1*64 R1*16
  \override Staff.MultiMeasureRest.space-increment = 2.5
  R1*2 R1*4 R1*64 R1*16
}

[image of music]

Positionnement des silences multimesures

Si l’on peut positionner verticalement un silence simple en le rattachant à une note, il n’en va pas de même pour un silence multimesure. Néanmoins, et uniquement dans le cadre de musique polyphonique, les silences multimesures sont positionnés différemment selon qu’ils appartiennent à une voix au numéro pair ou impair.

Le positionnement des silences multimesures peut se contrôler ainsi :

\relative c'' {
  % Multi-measure rests by default are set under the fourth line
  R1
  % They can be moved using an override
  \override MultiMeasureRest.staff-position = #-2
  R1
  \override MultiMeasureRest.staff-position = #0
  R1
  \override MultiMeasureRest.staff-position = #2
  R1
  \override MultiMeasureRest.staff-position = #3
  R1
  \override MultiMeasureRest.staff-position = #6
  R1
  \revert MultiMeasureRest.staff-position
  \break

  % In two Voices, odd-numbered voices are under the top line
  << { R1 } \\ { a1 } >>
  % Even-numbered voices are under the bottom line
  << { a1 } \\ { R1 } >>
  % Multi-measure rests in both voices remain separate
  << { R1 } \\ { R1 } >>

  % Separating multi-measure rests in more than two voices
  % requires an override
  << { R1 } \\ { R1 } \\
     \once \override MultiMeasureRest.staff-position = #0
     { R1 }
  >>

  % Using compressed bars in multiple voices requires another override
  % in all voices to avoid multiple instances being printed
  \compressMMRests
  <<
   \revert MultiMeasureRest.direction
    { R1*3 }
    \\
   \revert MultiMeasureRest.direction
    { R1*3 }
  >>
}

[image of music]

Ajout de texte à un silence multimesure

Lorsque du texte est attaché à un silence multimesure, il sera centré dans la mesure, au-dessus ou en dessous de la portée. Afin d’étirer la mesure dans le cas où ce texte est relativement long, il suffit d’insérer un accord vide auquel on attache le texte en question, avant le silence multimesure. Le texte attaché à un silence invisible sera aligné sur la gauche de là où serait positionnée la note dans la mesure. Cependant, si la taille de la mesure est déterminée par la longueur du texte, il apparaîtra comme centré.

\relative c' {
  \compressMMRests {
    \textLengthOn
    <>^\markup { [MAJOR GENERAL] }
    R1*19
    <>_\markup { \italic { Cue: ... it is yours } }
    <>^\markup { A }
    R1*30^\markup { [MABEL] }
    \textLengthOff
    c4^\markup { CHORUS } d f c
  }
}

[image of music]

Voir aussi

Glossaire musicologique : silence multimesures.

Manuel de notation : Changement d’échelle des durées, Commentaires textuels, Compression de mesures vides, Durées, Mise en forme du texte, Texte.

Morceaux choisis : Rythme.

Référence des propriétés internes : MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText.

Problèmes connus et avertissements

Vous ne pouvez pas utiliser de doigtés (par ex. R1*10-4) pour positionner des nombres au dessus d’un silence multimesure, le numéro de doigt (4) risquant de chevaucher le nombre de mesures à compter (10).

Condenser plusieurs silences en un unique silence multimesure ne peut être automatisé.

Les silences multimesures peuvent générer des collisions avec d’autres silences.


Césures

La commande \caesura indique un silence de durée non déterminée. Il s’agit typiquement d’une rupture du flux sonore qui ne raccourcit pas la note qui précède.

\fixed c'' { c2. \caesura d4 }

[image of music]

En matière d’hymne et de chants liturgiques, \caesura sert plus généralement à diviser les phrases. Pour plus d’information, voir les références à la fin de cette section. Pour les coupures qui amputent la note précédente, voir Signes de respiration.

Des articulations peuvent suivre un \caesura afin d’indiquer la durée relative ou la signification de la pause. Seront alors créés des objets CaesuraScript.

\fixed c'' { c2. \caesura \fermata d4 }

[image of music]

Par défaut, \caesura crée un objet BreathingSign. L’élément breath de la propriété de contexte caesuraType contrôle lequel des signes prédéfinis sera créé par \caesura – voir Liste des marques de respiration.

\fixed c'' {
  \set Score.caesuraType = #'((breath . curvedcaesura))
  c2. \caesura d4
}

[image of music]

Afin de désigner un ou plusieurs objets CaesuraScript devant être créés pour intégrer une césure sans articulation, il faudra définir l’élément scripts de la propriété de contexte caesuraType – des scripts additionnels peuvent toutefois s’attacher en tant qu’articulations. Conjointement à l’élément breath, les scripts listés dans l’élément script s’attachent au BreathingSign ; c’est par contre au barLine qu’ils s’attacheront s’il est présent.

La propriété de contexte caesuraTypeTransform peut consister en une fonction Scheme pour permettre une forme d’adaptation plus ou moins automatisée. Le générateur de fonction at-bar-line-substitute-caesura-type prend en charge les styles pour lesquels la notation diffère lors d’une barre de mesure.

\fixed c' {
  \set Score.caesuraType =
    #'((breath . spacer)
       (scripts . (outsidecomma)))
  \set Score.caesuraTypeTransform =
    #(at-bar-line-substitute-caesura-type
      '((scripts . (fermata))))
  c'2. \caesura d'4
  b1 \caesura
  a1
}

[image of music]

Commandes prédéfinies

\caesura.

Morceaux choisis

Positionnement de points d’orgue en opposition sur une barre de mesure

Dans l’extrait suivant est construite une commande qui permet d’imprimer un point d’orgue à la fois en surplomb et en dessous d’une barre de mesure. Dans le cas où il n’y aurait normalement pas de barre à cet endroit, sera ajoutée une double barre. Sémantiquement, cette commande constuit une césure plus longue que la normale, ce qui pourrait être considéré comme un usage abusif selon le cas.

twoWayFermata = {
  \once \set Staff.caesuraType = #'((underlying-bar-line . "||"))
  \once \set Staff.caesuraTypeTransform = ##f
  \caesura ^\fermata _\fermata
}

music = {
  f'1 \twoWayFermata
  R1
  f'2 \twoWayFermata f'2
  R1
  b'1 \twoWayFermata \fine
}

\new GrandStaff <<
  \new Staff \music
  \new Staff \music
>>

[image of music]

Voir aussi

Glossaire musicologique : césure.

Manuel de notation : Barre de mesure kiévienne, Barre de phrase en musique liturgique, Divisions, Signes de respiration.

Morceaux choisis : Signes d’interprétation.

Référence des propriétés internes : BreathingSign, Caesura_engraver, CaesuraEvent, CaesuraScript, caesuraTypeTransform, caesuraType.


1.2.3 Gravure du rythme


Métrique

Le chiffre de mesure indique le mètre d’une pièce : une alternance régulière de temps forts et de temps faibles. Il est indiqué par une fraction au début de la portée :

\time 2/4 c''2
\time 3/4 c''2.

[image of music]

Les changements de métrique en cours de mesure sont abordés dans Levées.

La métrique est imprimée en début de morceau, et à chaque fois qu’elle est modifiée. Si cette modification intervient au niveau d’un saut de ligne, une métrique « de précaution » sera imprimée avant de passer à la ligne suivante. Ce comportement par défaut peut être modifié, comme indiqué au chapitre Visibilité des objets.

\relative c'' {
  \time 2/4
  c2 c
  \break
  c c
  \break
  \time 4/4
  c c c c
}

[image of music]

Le symbole de métrique utilisé pour les mesures à 2/2 et 4/4 peut être changé pour un style numérique :

\relative c'' {
  % Default style
  \time 4/4 c1
  \time 2/2 c1
  % Change to numeric style
  \numericTimeSignature
  \time 4/4 c1
  \time 2/2 c1
  % Revert to default style
  \defaultTimeSignature
  \time 4/4 c1
  \time 2/2 c1
}

[image of music]

Les métriques anciennes font l’objet d’un chapitre particulier.

En plus de déterminer la métrique qui sera imprimée, la commande \time réglera aussi les valeurs par défaut des propriétés baseMoment, beatStructure et beamExceptions correspondant à la métrique. Les valeurs prédéterminées par défaut de ces différentes propriétés sont inscrites dans le fichier ‘scm/time-signature-settings.scm’.

La valeur par défaut de beatStructure peut se voir aménagée dès la commande \time à l’aide d’un premier argument :

\score {
  \new Staff {
    \relative {
      \time 2,2,3 7/8
      \repeat unfold 7 { c'8 } |
      \time 3,2,2 7/8
      \repeat unfold 7 { c8 } |
    }
  }
}

[image of music]

Les valeurs par défaut de toutes ces variables associées à la métrique, y compris baseMoment et beamExceptions, peuvent se définir en même temps. Ces valeurs peuvent se régler indépendamment pour différentes métriques. Les valeurs adaptées ne seront effectives qu’à partir du moment où interviendra une commande \time de la valeur de métrique correspondante :

\score {
  \relative c' {
    \overrideTimeSignatureSettings
      4/4        % timeSignatureFraction
      1/4        % baseMomentFraction
      3,1        % beatStructure
      #'()       % beamExceptions
    \time 4/4
    \repeat unfold 8 { c8 } |
  }
}

[image of music]

\overrideTimeSignatureSettings prend quatre arguments :

  1. timeSignatureFraction, une fraction indiquant la métrique pour laquelle ces valeurs doivent s’appliquer,
  2. baseMomentFraction, une fraction comprenant les numérateur et dénominateur de la fraction indiquant la base de la pulsation,
  3. beatStructure, une liste Scheme indiquant la structure de cette pulsation, en unité de base,
  4. beamExceptions, une liste associative des règles de ligature pour cette métrique, en dehors de celles basées sur le temps comme indiqué à la rubrique Définition des règles de ligature automatique.

Vous pouvez revenir à tout moment aux réglages prédéterminés d’une métrique :

\score {
  \relative {
    \repeat unfold 8 { c'8 } |
    \overrideTimeSignatureSettings
      4/4        % timeSignatureFraction
      1/4        % baseMomentFraction
      3,1        % beatStructure
      #'()       % beamExceptions
    \time 4/4
    \repeat unfold 8 { c8 } |
    \revertTimeSignatureSettings 4/4
    \time 4/4
    \repeat unfold 8 { c8 } |
  }
}

[image of music]

Le fait d’autoriser une présentation polymétrique permet d’obtenir des réglages particuliers pour les différentes portées d’un regroupement – voir Notation polymétrique.

\score {
  \new StaffGroup <<
     \new Staff {
        \overrideTimeSignatureSettings
          4/4        % timeSignatureFraction
          1/4        % baseMomentFraction
          3,1        % beatStructure
          #'()       % beamExceptions
        \time 4/4
        \repeat unfold 8 {c''8}
     }
     \new Staff {
        \overrideTimeSignatureSettings
          4/4        % timeSignatureFraction
          1/4        % baseMomentFraction
          1,3        % beatStructure
          #'()       % beamExceptions
        \time 4/4
        \repeat unfold 8 {c''8}
     }
  >>
  \layout {
    \enablePolymeter
  }
}

[image of music]

Une autre méthode de modification de ces variables liées à la métrique, et qui évite sa réimpression au moment du changement, est indiquée à la rubrique Définition des règles de ligature automatique.

Commandes prédéfinies

\numericTimeSignature, \defaultTimeSignature.

Morceaux choisis

Affichage seulement du numérateur d’une métrique (au lieu d’une fraction)

La métrique est parfois indiquée non pas par une fraction (par ex. 7/4) mais simplement par son numérateur (le chiffre 7 dans ce cas). L’instruction \override Staff.TimeSignature.style = #'single-digit permet de déroger au style par défaut de manière permanente – un \revert Staff.TimeSignature.style annulera ces modifications. Lorsque cette métrique sous la forme d’un seul chiffre ne se présente qu’une seule fois, il suffit de faire précéder l’instruction \override d’un simple \once.

\relative c'' {
  \time 3/4
  c4 c c
  % Change the style permanently
  \override Staff.TimeSignature.style = #'single-digit
  \time 2/4
  c4 c
  \time 3/4
  c4 c c
  % Revert to default style:
  \revert Staff.TimeSignature.style
  \time 2/4
  c4 c
  % single-digit style only for the next time signature
  \once \override Staff.TimeSignature.style = #'single-digit
  \time 5/4
  c4 c c c c
  \time 2/4
  c4 c
}

[image of music]

Voir aussi

Glossaire musicologique : métrique.

Manuel de notation : Définition des règles de ligature automatique, Gestion du temps, Métriques anciennes, Notation polymétrique.

Installed Files: ‘scm/time-signature-settings.scm’.

Morceaux choisis : Rythme.

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

Problèmes connus et avertissements

\numericTimeSignature et \defaultTimeSignature sont sans effet dans le cadre d’un contexte MensuralStaff. L’obtention de métriques modernes avec un MensuralStaff requiert soit de le stipuler dès la création du contexte :

\new MensuralStaff \with { \numericTimeSignature } {
  c'1
}

[image of music]

soit de recourir explicitement à un \override :

\new MensuralStaff {
  \time 2/2
  c'1
  \override MensuralStaff.TimeSignature.style = #'numbered
  \time 2/2
  c'
  \override MensuralStaff.TimeSignature.style = #'default
  \time 2/2
  c'
}

[image of music]


Indication métronomique

Une indication métronomique s’insère tout simplement comme ceci :

\relative {
  \tempo 4 = 120
  c'2 d
  e4. d8 c2
}

[image of music]

Lorsque le réglage précis du métronome est laissé à l’appréciation de l’exécutant, vous pouvez cependant lui fournir une plage :

\relative {
  \tempo 4 = 40 - 46
  c'4. e8 a4 g
  b,2 d4 r
}

[image of music]

Vous pouvez préférer une indication textuelle :

\relative {
  \tempo "Allegretto"
    c''4 e d c
    b4. a16 b c4 r4
}

[image of music]

Lorsque vous combinez des indications métronomiques sous forme textuelle et numérique, l’indication numérique sera placée entre parenthèses :

\relative {
  \tempo "Allegro" 4 = 160
  g'4 c d e
  d4 b g2
}

[image of music]

En matière d’indication textuelle, vous pouvez utiliser n’importe quel objet de type markup, comme ici :

\relative {
  \tempo \markup { \italic Faster } 4 = 132
  a'8-. r8 b-. r gis-. r a-. r
}

[image of music]

La commande de markup \rhythm a ceci de particulier qu’elle permet d’imprimer un motif rythmique – voir l’annexe Music.

\relative {
  \tempo \markup {
    Swing
    \hspace #0.4
    \rhythm { 8[ 8] } = \rhythm { \tuplet 3/2 { 4 8 } }
  }
  b8 g' c, d ees d16 ees d c r8
}

[image of music]

Mentionner une indication textuelle vide vous permet de mettre entre parenthèses l’indication numérique :

\relative {
  \tempo "" 8 = 96
  d''4 g e c
}

[image of music]

Dans le cas d’une partie où l’instrumentiste a de longs moments de silence, les indications de tempo peuvent être fort rapprochées l’une de l’autre. L’instruction \markLengthOn permet de préserver suffisamment d’espace horizontal de telle sorte que ces indications ne se chevauchent ; l’instruction \markLengthOff restaure le comportement par défaut qui ignore les indications de tempo dans les calculs d’espacement horizontal.

\compressMMRests {
  \markLengthOn
  \tempo "Molto vivace"
  R1*12
  \tempo "Meno mosso"
  R1*16
  \markLengthOff
  \tempo "Tranquillo"
  R1*20
}

[image of music]

Morceaux choisis

Impression du métronome et des repères sous la portée

Les indications de tempo et les marques de repère s’impriment par défaut au-dessus de la portée. Le fait de régler en conséquence la propriété direction des objets MetronomeMark et RehearsalMark les placera au-dessous de la portée.

\layout {
  indent = 0
  ragged-right = ##f
}

{
  % Metronome marks below the staff
  \override Score.MetronomeMark.direction = #DOWN
  \tempo 8. = 120
  c''1

  % Rehearsal marks below the staff
  \override Score.RehearsalMark.direction = #DOWN
  \mark \default
  c''1
}

[image of music]

Changement de tempo sans indication sur la partition

Vous pouvez indiquer un changement de tempo pour le fichier MIDI sans pour autant l’imprimer. Il suffit alors de le rendre invisible aux musiciens.

\score {
  \new Staff \relative c' {
    \tempo 4 = 160
    c4 e g b
    c4 b d c
    \set Score.tempoHideNote = ##t
    \tempo 4 = 96
    d,4 fis a cis
    d4 cis e d
  }
  \layout { }
  \midi { }
}

[image of music]

Création d’une indication métronomique sous forme d’étiquette

Vous pouvez créer des indications de tempo sous la forme d’étiquettes textuelles – des objets markup –, notamment des équivalences. Cependant, elles n’apparaîtront pas dans le fichier MIDI.

\relative c' {
  \tempo \markup {
    \concat {
      (
      \smaller \general-align #Y #DOWN \note {16.} #1
      " = "
      \smaller \general-align #Y #DOWN \note {8} #1
      )
    }
  }
  c1
  c4 c' c,2
}

[image of music]

Pour de plus amples détails, veuillez consulter Mise en forme du texte.

Voir aussi

Glossaire musicologique : métronome, indication métronomique, indication du tempo, marque de métronome.

Manuel de notation : Génération de fichiers MIDI, Mise en forme du texte.

Morceaux choisis : Notation sur la portée.

Référence des propriétés internes : MetronomeMark.


Levées

Les mesures incomplètes, telles que les anacrouses ou levées, doivent être entrées avec la commande \partial. La syntaxe de cette commande est

\partial durée

Lorsque \partial est utilisé en début de pièce, durée égale la valeur rythmique précédant la première mesure.

\relative {
  \time 3/4
  \partial 4.
  r4 e'8 | a4 c8 b c4 |
}

[image of music]

Lorsque \partial est utilisé après le début du morceau, durée égale la valeur rythmique restant dans la mesure en cours. Ceci ne crée pas de nouveau numéro de mesure.

\relative {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  \override Score.BarNumber.break-visibility =
	    #end-of-line-invisible
  \time 9/8
  d''4.~ 4 d8 d( c) b | c4.~ 4. \bar "||"
  \time 12/8
  \partial 4.
  c8( d) e | f2.~ 4 f8 a,( c) f |
}

[image of music]

La commande \partial est obligatoire lorsque la métrique change en cours de mesure, mais peut aussi s’utiliser isolément.

\relative {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  \override Score.BarNumber.break-visibility =
	    #end-of-line-invisible
  \time 6/8
  \partial 8
  e'8 | a4 c8 b[ c b] |
  \partial 4
  r8 e,8 | a4 \bar "||"
  \partial 4
  r8 e8 | a4
  c8 b[ c b] |
}

[image of music]

La commande \partial détermine la propriété Timing.measurePosition, nombre rationnel qui indique combien de temps est déjà passé dans la mesure.

Voir aussi

Glossaire musicologique : anacrouse.

Manuel de notation : Notes d’ornement.

Morceaux choisis : Rythme.

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


Musique sans métrique

Dans un passage tel qu’une cadence, il peut être souhaitable de désactiver la temporisation et tout ce qu’elle entraîne : positionnement des barres et numérotation des mesures, réinitialisation des altérations accidentelles, etc. La musique placée entre \cadenzaOn et \cadenzaOff ne tient pas compte de la longueur de la mesure.

\relative c'' {
  % Affiche tous les numéros de mesure
  \override Score.BarNumber.break-visibility = #all-visible
  c4 d e d
  \cadenzaOn
  c4 cis d8[ d d] f4 g4.
  \cadenzaOff
  d4 e d c
}

[image of music]

Afin de diviser un passage non mesuré, il suffit de réactiver temporairement la temorisation grâce à l’utilisation de \partial pour créer une mesure réduite. La commande \bar n’entame pas de nouvelle mesure, même si une barre est imprimée.

cadenzaMeasure = {
  \cadenzaOff
  \partial 1024 s1024
  \cadenzaOn
}

\relative c'' {
  % Affiche tous les numéros de mesure
  \override Score.BarNumber.break-visibility = #all-visible
  c4 d e d
  \cadenzaOn
  c4 cis \bar "!" d8[ d d] \cadenzaMeasure f4 g4.
  \cadenzaMeasure
  \cadenzaOff
  d4 e d c
}

[image of music]

L’instruction \cadenzaOn désactive les ligatures automatiques ; elles seront réactivées après un \cadenzaOff. Toutes les ligatures devront donc être indiquées de manière explicite tout au long de la cadence – voir Barres de ligature manuelles).

\relative {
  \repeat unfold 8 { c''8 }
  \cadenzaOn
  cis8 c c c c
  \bar"|"
  c8 c c
  \cadenzaOff
  \repeat unfold 8 { c8 }
}

[image of music]

Ces commandes prédéfinies affecteront toutes les portées de la partition, même si vous ne les placez que dans un simple contexte Voice. Pour éviter ce désagrément, transférez le Timing_translator du contexte Score au contexte Staff, comme indiqué au chapitre Notation polymétrique.

Les sauts de ligne ou de page sont désactivés dans le cadre d’une cadence : puisqu’il n’y a pas de métrique, il n’est pas possible de déterminer automatiquement où ils seraient appropriés. Il est donc nécessaire, lorsque la cadence est relativement longue, d’insérer des points de rupture potentiels aux endroits appropriés à l’aide de la commande \allowBreak ou d’envisager d’autres solutions – voir Sauts de ligne.

\relative {
  c'4 f g c, d f g c
  \cadenzaOn
  c4 cis8
  \allowBreak
  d[ cis c cis]
  \allowBreak
  d[ f g a]
  \allowBreak
  ais[ g f g]
  \allowBreak
  d4 f8
  \allowBreak
  d[ cis] c4
  \allowBreak
  a8[ c] g4
}

[image of music]

Commandes prédéfinies

\cadenzaOn, \cadenzaOff.

Voir aussi

Glossaire musicologique : cadence.

Manuel de notation : Altérations, Barres de ligature manuelles, Notation polymétrique, Visibilité des objets.

Morceaux choisis : Rythme.


Notation polymétrique

LilyPond gère les métriques composites, aussi bien de manière explicite que de manière détournée – modification de l’indicateur de métrique et échelonnement de la durée des notes.

Métriques différentes et mesures d’égale longueur

Il suffit, pour obtenir cette forme de notation, de tout d’abord affecter une même métrique aux différentes portées. Cette métrique sera ensuite remplacée dans chacune des portées par un quotient fourni en argument à la propriété timeSignatureFraction. La durée des notes sera enfin proratisée selon la métrique commune grâce à la fonction \scaleDurations.

L’exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et 10/8. Pour la deuxième portée les durées sont multipliées par 2/3 de telle sorte que 2/3 * 9/8 = 3/4 ; pour la troisième elles sont multipliées par 3/5, de telle sorte que 3/5 * 10/8 = 3/4. Les ligatures devront être explicites, la fonction d’échelonnement venant perturber les règles de ligature automatique.

\relative <<
  \new Staff {
    \time 3/4
    c'4 c c |
    c4 c c |
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = 9/8
    \scaleDurations 2/3 {
      \repeat unfold 3 { c8[ c c] }
      \repeat unfold 3 { c4 c8 }
    }
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = 10/8
    \scaleDurations 3/5 {
      \repeat unfold 2 { c8[ c c] }
      \repeat unfold 2 { c8[ c] } |
      c4. c \tuplet 3/2 { c8[ c c] } c4
    }
  }
>>

[image of music]

Métriques différentes et mesures de longueur inégale

Il arrive aussi que chaque portée ait sa propre métrique. Vous y parviendrez en insérant l’instruction \enablePolymeter dans le bloc \layout.

\layout {
  \enablePolymeter
}

% Now each staff has its own time signature.

\relative <<
  \new Staff {
    \time 3/4
    c'4 c c |
    c4 c c |
  }
  \new Staff {
    \time 2/4
    c4 c |
    c4 c |
    c4 c |
  }
  \new Staff {
    \time 3/8
    c4. |
    c8 c c |
    c4. |
    c8 c c |
  }
>>

[image of music]

Lorsqu’un seul morceau est polymétrique, l’instruction \enablePolymeter sera placée dans la section \layout du bloc \score considéré.

\score {
  <<
    \new Staff { c''1 1 }
    \new Staff { c'2 d' g'2~ 2 }
  >>
}

\score {
  \layout {
    \enablePolymeter
  }
  <<
    \new Staff { \time 4/4 c''1 1 }
    \new Staff { \time 2/4 c'2 d' g'2~ 2 }
  >>
}

[image of music]

Dans le cadre d’une pièce polymétrique, toutes les portées doivent comporter une instruction \time dès lors qu’elles n’ont pas la métrique par défaut de 4/4. Ceci s’applique aussi aux portées spéciales dépourvues de lignes de portée, tels les contextes Dynamics, puisque le placement de certains bandeaux comme les soufflets est synchronisé sur les barres de mesure.

[image of music]

Cette fonctionnalité est opérationnelle dans une sortie MIDI dès lors qu’elle est libellée dans le bloc \midi.

\layout {
  \enablePolymeter
}

\midi {
  \enablePolymeter
}

Métriques complexes

Une métrique composite se crée à l’aide de la fonction \compoundMeter, en suivant la syntaxe :

\compoundMeter #'(liste de listes)

La construction la plus simple est constituée d’une seule liste, dans laquelle le dernier nombre indique le « dénominateur » de la métrique, les précédents représentent le « numérateur ».

\relative {
  \compoundMeter #'((2 2 2 8))
  \repeat unfold 6 c'8 \repeat unfold 12 c16
}

[image of music]

Une métrique plus élaborée s’obtient en ajoutant d’autres listes. Bien entendu, les ligatures automatiques s’ajusteront aux différentes valeurs.

\relative {
  \compoundMeter #'((1 4) (3 8))
  \repeat unfold 5 c'8 \repeat unfold 10 c16
}

\relative {
  \compoundMeter #'((1 2 3 8) (3 4))
  \repeat unfold 12 c'8
}

[image of music]

Voir aussi

Glossaire musicologique : polymétrie, métrique composite, métrique.

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

Morceaux choisis : Rythme.

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

Problèmes connus et avertissements

Bien que les notes de différentes portées tombant au même moment seront positionnées horizontalement au même endroit, les barres de mesure (dans chacune des portées) peuvent causer un espacement incohérent pour chacune des différentes métriques.


Découpage automatique des notes

On peut convertir automatiquement les notes longues en notes liées. Il suffit pour cela de remplacer le graveur Note_heads_engraver par le graveur Completion_heads_engraver. Il en va de même pour des silences ; le Completion_rest_engraver devra alors remplacer le Rest_engraver. Dans l’exemple suivant, les notes ou silences qui dépassent de la mesure sont divisés et au besoin liés.

\new Voice \with {
  \remove Note_heads_engraver
  \consists Completion_heads_engraver
  \remove Rest_engraver
  \consists Completion_rest_engraver
}
\relative {
  c'2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2
}

[image of music]

Ces graveurs divisent toutes les notes et silences qui débordent de la mesure, et insèrent des liaisons de prolongation. Dans la pratique, cette fonctionnalité permet de déboguer des partitions complexes : si les mesures ne sont pas entièrement remplies, alors les liaisons de prolongation montrent exactement la durée des décalages de mesure.

La propriété completionUnit détermine la durée de référence pour diviser les notes.

\new Voice \with {
  \remove Note_heads_engraver
  \consists Completion_heads_engraver
} \relative {
  \time 9/8 g\breve. d''4. \bar "||"
  \set completionUnit = #(ly:make-moment 3 8)
  g\breve. d4.
}

[image of music]

Ces graveurs découperont les notes de durée altérée, telles celles d’un triolet, en notes ayant le même facteur d’échelle que les otes saisies.

\new Voice \with {
  \remove Note_heads_engraver
  \consists Completion_heads_engraver
} \relative {
  \time 2/4 r4
  \tuplet 3/2 {g'4 a b}
  \scaleDurations 2/3 {g a b}
  g4*2/3 a b
  \tuplet 3/2 {g4 a b}
  r4
}

[image of music]

Voir aussi

Glossaire musicologique : liaison de tenue.

Manuel d’initiation : Ajout et suppression de graveurs, Tout savoir sur les graveurs.

Morceaux choisis : Rythme.

Références des propriétés internes : Note_heads_engraver, Completion_heads_engraver, Rest_engraver, Completion_rest_engraver, Forbid_line_break_engraver.

Problèmes connus et avertissements

Pour rester cohérent avec le comportement précédent, les notes ou silences d’une durée supérieure à la mesure, comme un c1*2, seront divisés sans être mis à l’échelle – on aura donc { c1 c1 }. La propriété completionFactor, qui contrôle ce comportement, peut être désactivée (valorisée à #f) pour autoriser les notes ou silences divisés à adopter le facteur d’échelle des durées saisies.


Gravure de lignes rythmiques

Au moyen d’une portée rythmique – rhythmic staff en anglais – on peut montrer seulement le rythme d’une mélodie : toutes les notes sont ramenées à la même hauteur, sur une portée d’une seule ligne.

<<
  \new RhythmicStaff {
    \new Voice = "myRhythm" \relative {
      \time 4/4
      c'4 e8 f g2
      r4 g g f
      g1
    }
  }
  \new Lyrics {
    \lyricsto "myRhythm" {
      This is my song
      I like to sing
    }
  }
>>

[image of music]

L’utilisation combinée du Pitch_squash_engraver et de \improvisationOn permet d’afficher la structure rythmique d’une grille d’accords :

<<
  \new ChordNames {
    \chordmode {
      c1 f g c
    }
  }
  \new Voice \with {
    \consists Pitch_squash_engraver
  } \relative c'' {
    \improvisationOn
    c4 c8 c c4 c8 c
    f4 f8 f f4 f8 f
    g4 g8 g g4 g8 g
    c4 c8 c c4 c8 c
  }
>>

[image of music]

Une musique comportant des accords peut s’utiliser dans un RhythmicStaff, et avec lePitch_squash_engraver, dès lors que les accords sont auparavant réduits en notes uniques à l’aide de la fonction musicale \reduceChords :

\new RhythmicStaff {
  \time 4/4
  \reduceChords {
    <c>2
    <e>2
    <c e g>2
    <c e g>4
    <c e g>4
  }
}

[image of music]

Commandes prédéfinies

\improvisationOn, \improvisationOff.

Morceaux choisis

Rythmique et guitare

En matière de notation pour guitare, il arrive que soient indiqués les « coups de gratte » en plus de la mélodie, grilles d’accords et diagrammes de tablature.

\include "predefined-guitar-fretboards.ly"
<<
  \new ChordNames {
    \chordmode {
      c1 | f | g | c
    }
  }
  \new FretBoards {
    \chordmode {
      c1 | f | g | c
    }
  }
  \new Voice \with {
    \consists "Pitch_squash_engraver"
  } {
    \relative c'' {
      \improvisationOn
      c4 c8 c c4 c8 c
      f4 f8 f f4 f8 f
      g4 g8 g g4 g8 g
      c4 c8 c c4 c8 c
    }
  }
  \new Voice = "melody" {
    \relative c'' {
      c2 e4 e4
      f2. r4
      g2. a4
      e4 c2.
    }
  }
  \new Lyrics {
    \lyricsto "melody" {
      This is my song.
      I like to sing.
    }
  }
>>

[image of music]

Voir aussi

Morceaux choisis : Rythme.

Référence des propriétés internes : RhythmicStaff, Pitch_squash_engraver.


1.2.4 Barres de ligature


Barres de ligature automatiques

LilyPond décide automatiquement de la manière de grouper les notes et d’imprimer les ligatures.

\relative c'' {
  \time 2/4 c8 c c c
  \time 6/8 c8 c c c8. c16 c8
}

[image of music]

Lorsque ce comportement automatisé n’est pas satisfaisant, on peut définir des groupements manuellement – voir Barres de ligature manuelles. Dans le cas où le groupe de notes en question contient un silence, il est impératif d’indiquer explicitement les début et fin de la ligature.

Lorsque les ligatures automatiques ne sont pas nécessaires, il suffit de désactiver la fonctionnalité par un \autoBeamOff – réactivation par \autoBeamOn :

\relative c' {
  c4 c8 c8. c16 c8. c16 c8
  \autoBeamOff
  c4 c8 c8. c16 c8.
  \autoBeamOn
  c16 c8
}

[image of music]

Note : Si des ligatures sont utilisées dans les paroles d’une chanson (pour indiquer des mélismes), les ligatures automatiques doivent être désactivées, avec \autoBeamOff, et indiquées manuellement.
L’utilisation conjointe de \partCombine et de \autoBeamOff peut produire des résultats quelque peu surprenants ; ceci fait l’objet d’un exemple particulier à la rubrique morceaux choisis.

Des règles de dérogation au comportement automatique par défaut sont possibles ; voir Définition des règles de ligature automatique.

Commandes prédéfinies

\autoBeamOff, \autoBeamOn.

Morceaux choisis

Ligature au moment d’un saut de ligne

Il est normalement impensable qu’un saut de ligne tombe au milieu d’une ligature. LilyPond permet néanmoins de l’obtenir.

\relative c'' {
  \override Beam.breakable = ##t
  c8 c[ c] c[ c] c[ c] c[ \break
  c8] c[ c] c[ c] c[ c] c
}

[image of music]

Ligature et directions de hampe inversées

LilyPond insère automatiquement des ligatures coudées – certaines hampes vers le haut, d’autres vers le bas – lorsqu’il détecte un intervalle important entre des têtes de notes. Ce comportement peut être changé par l’intermédiaire de l’objet auto-knee-gap – défini par défaut à 5,5 espaces, plus la largeur et la pente de la ligature en question.

{
  f8 f''8 f8 f''8
  \override Beam.auto-knee-gap = #6
  f8 f''8 f8 f''8
}

[image of music]

PartCombine et autoBeamOff

La fonction \autoBeamOff dans le cadre d’un \partCombine agit de façon bien particulière ; c’est pourquoi il vaut mieux tout d’abord recourir à

\set Staff.autobeaming = ##f

pour désactiver les ligatures automatiques pour l’ensemble de la portée concernée.

L’instruction \partCombine fonctionne apparemment sur la base de trois voix : solo hampes montantes, solo hampes descendantes et ensemble hampes montantes.

Lorsque \autoBeamOff apparaît dans le premier argument de la combinaison, il s’applique à la voix active à ce moment précis, qu’il s’agisse du solo hampes montantes ou du combiné hampes montantes. Lorsqu’elle est introduite dans le second argument, la commande \autoBeamOff s’appliquera au solo hampes descendantes.

Vous devrez donc, afin que \autoBeamOff soit pleinement opérationnel dans le cadre d’un \partCombine, l’introduire aux trois niveaux.

{
  %\set Staff.autoBeaming = ##f % turns off all autobeaming
  \partCombine
  {
    \autoBeamOff % applies to split up stems
    \repeat unfold 4 a'16
    %\autoBeamOff % applies to combined up stems
    \repeat unfold 4 a'8
    \repeat unfold 4 a'16
  }
  {
    \autoBeamOff % applies to down stems
    \repeat unfold 4 f'8
    \repeat unfold 8 f'16 |
  }
}

[image of music]

Voir aussi

Manuel de notation : Barres de ligature manuelles, Définition des règles de ligature automatique.

Fichiers d’initialisation : ‘scm/auto-beam.scm’.

Morceaux choisis : Rythme.

Références des propriétés internes : Auto_beam_engraver, Beam_engraver, Beam, BeamEvent, BeamForbidEvent, beam-interface, unbreakable-spanner-interface.

Problèmes connus et avertissements

Les propriétés d’une ligature sont déterminées dès le début de sa construction ; toute adaptation qui interviendrait avant sa terminaison ne sera prise en compte qu’à l’occasion de la prochaine ligature.


Définition des règles de ligature automatique

Lorsque la fonction de ligature automatique est active, le positionnement des ligatures dépend des trois propriétés baseMoment, beatStructure et beamExceptions. Les valeurs par défaut de ces variables peuvent s’adapter, comme indiqué ci-après, ou bien carrément être modifiées – voir Métrique.

Dès lors qu’une règle affectant beamExceptions est définie pour la métrique en vigueur, c’est cette règle qui servira à déterminer le placement des ligatures, ignorant les valeurs de baseMoment et beatStructure.

En l’absence de règle affectant beamExceptions pour la métrique en vigueur, les ligatures seront déterminées par les réglages conjoints de baseMoment et beatStructure.

Ligature basée sur baseMoment et beatStructure

beamExceptions dispose par défaut de règles pour les métriques les plus courantes ; il est donc impératif de les invalider pour gérer les ligatures automatiques à l’aide de baseMoment et beatStructure. Les règles de beamExceptions se désactivent par un

\set Timing.beamExceptions = #'()

Lorsque beamExceptions est défini à #'(), que ce soit explicitement ou en raison de l’absence de règles par défaut de beamExceptions pour la métrique en vigueur, la terminaison des ligatures est directement liée à la pulsation telle que spécifiée par les propriétés baseMoment et beatStructure. La propriété beatStructure est constituée d’une liste d’éléments Scheme qui définit la longueur de chaque pulsation, prenant baseMoment comme unité. L’unité de base (le baseMoment) correspond par défaut à l’inverse du dénominateur de la métrique. D’autre part, chaque unité de baseMoment constitue par défaut une seule pulsation.

Notez bien la présence de valeurs distinctes de beatStructure et baseMoment pour chaque métrique. Toute modification de ces variables ne s’applique qu’à la métrique alors en vigueur, raison pour laquelle elles doivent se placer à la suite de la commande \time qui entame un fragment ayant une nouvelle métrique, non au préalable. Les nouvelles valeurs affectées à une métrique particulière resteront en vigueur et ré-instaurées si cette métrique réapparaît plus tard.

\relative c'' {
  \time 5/16
  c16^"default" c c c c |
  % beamExceptions are unlikely to be defined for 5/16 time,
  % but let's disable them anyway to be sure
  \set Timing.beamExceptions = #'()
  \set Timing.beatStructure = 2,3
  c16^"(2+3)" c c c c |
  \set Timing.beatStructure = 3,2
  c16^"(3+2)" c c c c |
}

[image of music]

\relative {
  \time 4/4
  a'8^"default" a a a a a a a
  % Disable beamExceptions because they are definitely
  % defined for 4/4 time
  \set Timing.beamExceptions = #'()
  \set Timing.baseMoment = #(ly:make-moment 1/4)
  \set Timing.beatStructure = 1,1,1,1
  a8^"changed" a a a a a a a
}

[image of music]

Les effets de règles de ligature peuvent être restreints à un contexte particulier. En l’absence de règle particulière déterminée dans un contexte de niveau inférieur, les règles définies au niveau directement supérieur s’appliqueront.

\new Staff {
  \time 7/8
  % No need to disable beamExceptions
  % as they are not defined for 7/8 time
  \set Staff.beatStructure = 2,3,2
  <<
    \new Voice = one {
      \relative {
        a'8 a a a a a a
      }
    }
    \new Voice = two {
      \relative {
        \voiceTwo
        \set Voice.beatStructure = 1,3,3
        f'8 f f f f f f
      }
    }
  >>
}

[image of music]

Lorsque plusieurs voix cohabitent sur une même portée et que les règles de ligature doivent s’appliquer sans distinction, il faut spécifier que ces règles affectent le contexte Staff :

\time 7/8
% rhythm 3-1-1-2
% Change applied to Voice by default --  does not work correctly
% Because of autogenerated voices, all beating will
% be at baseMoment (1 . 8)
\set beatStructure = 3,1,1,2
<< \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>

% Works correctly with context Staff specified
\set Staff.beatStructure = 3,1,1,2
<< \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>

[image of music]

Vous pouvez ajuster la valeur de baseMoment afin d’obtenir des ligatures selon vos besoin. Notez cependant que la valeur de beatStructure devra être en corrélation avec cette nouvelle valeur de baseMoment.

\time 5/8
% No need to disable beamExceptions
% as they are not defined for 5/8 time
\set Timing.baseMoment = #(ly:make-moment 1/16)
\set Timing.beatStructure = 7,3
\repeat unfold 10 { a'16 }

[image of music]

baseMoment constitue un moment, autrement dit une unité de durée musicale. La fonction Scheme ly:make-moment est tout particulièrement chargée de créer cette quantité de type « moment » – voir Gestion du temps pour plus de précisions.

La pulsation – baseMoment en anglais – découle directement de la métrique telle que définie par la commande \time. Elle est par défaut égale à un sur le dénominateur de la métrique. Les exceptions à cette règle par défaut sont répertoriées dans le fichier ‘scm/time-signature-settings.scm’. Pour savoir comment jouer avec la valeur de baseMoment selon la métrique, reportez vous au chapitre Métrique.

Les règles de ligature et de subdivision spécifiques sont enregistrées dans la propriété beamExceptions. Ses valeurs par défaut, rangées par métrique et type de règle, sont répertoriées dans le fichier ‘scm/time-signature-settings.scm’.

Ligature basée sur beamExceptions

Les règles spécifiques autres que celles concernant la terminaison des ligatures sont gérées par la propriété beamExceptions.

\relative c'' {
  \time 3/16
  \set Timing.beatStructure = 2,1
  \set Timing.beamExceptions =
    \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
  c16 c c |
  \repeat unfold 6 { c32 } |
}

[image of music]

Note : La propriété beamExceptions doit répertorier absolument toutes les exceptions. Il n’est en effet pas possible d’en ajouter, modifier ou supprimer a posteriori. Cela peut paraître fastidieux, mais toutes les règles de ligature devraient être appréciées avant de les spécifier.

Lorsqu’intervient un changement de métrique, les valeurs par défaut de Timing.baseMoment, Timing.beatStructure et Timing.beamExceptions sont réinitialisées. Il suffit donc, pour revenir aux règles de ligature par défaut d’un contexte Timing, de spécifier à nouveau la métrique.

\relative a' {
  \time 6/8
  \repeat unfold 6 { a8 }
  % group (4 + 2)
  \set Timing.beatStructure = 4,2
  \repeat unfold 6 { a8 }
  % go back to default behavior
  \time 6/8
  \repeat unfold 6 { a8 }
}

[image of music]

Les règles de ligature automatique par défaut sont répertoriées, par métrique, dans le fichier ‘scm/time-signature-settings.scm’. Les manières de déroger à ce comportement sont abordées au chapitre Métrique.

De nombreuses règles de ligature automatique comportent une clé beamExceptions. Par exemple, s’il n’y a que des croches dans une mesure à 4/4, celles-ci seront réparties en deux groupes. Le fait de ne pas réinitialiser beamExceptions lors d’un aménagement de la pulsation – l’élément beatStructure – empêchera l’application de cette dérogation.

\time 4/4
\set Timing.baseMoment = #(ly:make-moment 1/8)
\set Timing.beatStructure = 3,3,2
% This won't beam (3 3 2) because of beamExceptions
\repeat unfold 8 {c''8} |
% This will beam (3 3 2) because we clear beamExceptions
\set Timing.beamExceptions = #'()
\repeat unfold 8 {c''8}

[image of music]

De la même manière, les croches d’une mesure à 3/4 sont ligaturées sur la mesure par défaut. Ligaturer sur le temps requiert un appel à beamExceptions.

\time 3/4
% by default we beam in (6) due to beamExceptions
\repeat unfold 6 {a'8} |
% This will beam (1 1 1) due to default baseMoment and beatStructure
\set Timing.beamExceptions = #'()
\repeat unfold 6 {a'8}

[image of music]

Certaines partitions des périodes romantique ou classique font apparaître des ligatures sur la moitié d’une mesure à 3/4 (ou à 3/8), ce qui va à l’encontre de la règle établie – comme le fait remarquer Gould à la page 153 de son ouvrage – puisque donne l’impression d’une mesure à 6/8. Il en va de même pour une mesure à 3/8. La reproduction d’un tel comportement se contrôle à l’aide de la propriété de contexte beamHalfMeasure, qui d’ailleurs ne sera effective que lorsque le numérateur de la métrique est un 3.

\relative a' {
  \time 3/4
  r4. a8 a a |
  \set Timing.beamHalfMeasure = ##f
  r4. a8 a a |
}

[image of music]

Principes de la ligature automatique

Lorsqu’elle est activée, la gestion automatisée des ligatures est directement liée aux propriétés baseMoment, beatStructure et beamExceptions.

Les règles déterminant le positionnement des ligatures automatiques s’appliquent dans l’ordre suivant de priorité :

Le type de ligature correspond à la durée la plus courte dans le groupe.

Les règles de ligature par défaut sont répertoriées dans le fichier ‘scm/time-signature-settings.scm’.

Morceaux choisis

Subdivision des ligatures

Les ligatures d’une succession de notes de durée inférieure à la croche ne sont pas subdivisées par défaut. Autrement dit, tous les traits de ligature (deux ou plus) seront continus. Ce comportement peut être modifié afin de diviser la ligature en sous-groupes grâce à la propriété subdivideBeams. Lorsqu’elle est activée, les ligatures seront subdivisées selon un intervalle défini par baseMoment ; il n’y aura alors plus que le nombre de traits de ligature déterminé entre chaque sous-groupe. Si le groupe qui suit la division est plus court que la valeur pour la métrique en cours – généralement lorsque la ligature est incomplète –, le nombre de traits de ligature correspond au regroupement de la bubdivision la plus longue. Cette restriction ne sera toutefois pas appliquée dans le cas où ne reste qu’une note après la division. Par défaut, baseMoment fixe la valeur de référence par rapport à la métrique en vigueur. Il faudra donc lui fournir, à l’aide de la fonction ly:make-moment, une fraction correspondant à la durée du sous-groupe désiré comme dans l’exemple ci-dessous. Gardez à l’esprit que, si vous venez à modifier baseMoment, vous devrez probablement adapter beatStrusture afin qu’il reste en adéquation avec les nouvelles valeurs de baseMoment.

\relative c'' {
  c32[ c c c c c c c]
  \set subdivideBeams = ##t
  c32[ c c c c c c c]

  % Set beam sub-group length to an eighth note
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c c c c]

  % Set beam sub-group length to a sixteenth note
  \set baseMoment = #(ly:make-moment 1/16)
  \set beatStructure = 4,4,4,4
  c32[ c c c c c c c]

  % Shorten beam by 1/32
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c c c] r32

  % Shorten beam by 3/32
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c] r16.
  r2
}

[image of music]

Ligature à la pulsation

Une sous-ligature tronquée peut pointer en direction de la pulsation à laquelle elle se rattache. Dans l’exemple suivant, la première ligature évite toute troncature (comportement par défaut), alors que la deuxième respecte rigoureusement la pulsation.

\relative c'' {
  \time 6/8
  a8. a16 a a
  \set strictBeatBeaming = ##t
  a8. a16 a a
}

[image of music]

Signes de direction, signes de sous-groupe

Les règles de ligature par mesure sont gérées par la propriété de contexte beatStructure. Ses valeurs par défaut sont répertoriées, par métrique, dans le fichier scm/time-signature-settings.scm. Elles sont modifiables grâce à la commande \set.

La fonction Scheme set-time-signature permet quant à elle de définir à la fois la métrique et la pulsation. Celle-ci prend trois arguments : le nombre de pulsations, la durée de la pulsation et le regroupement des pulsations dans la mesure. \time et set-time-signature s’appliquent tous deux au contexte Timing ; ils ne redéfiniront donc pas les valeurs de beatStructure ou baseMoment lorsqu’elles sont modifiées dans un contexte de niveau inférieur comme Voice par exemple.

Si l’on fait appel au Measure_grouping_engraver, la fonction set-time-signature créera aussi des symboles MeasureGrouping. Ces symboles aident à la lecture des œuvres modernes à la rythmique complexe. Dans l’exemple qui suit, la mesure à 9/8 est divisée en 2, 2, 2 et 3, alors que la mesure à 5/8 répond aux règles par défaut contenues dans le fichier ‘scm/time-signature-settings.scm’.

\score {
  \new Voice \relative c'' {
    \time 9/8
    g8 g d d g g a( bes g) |
    \set Timing.beatStructure = 2,2,2,3
    g8 g d d g g a( bes g) |
    \time 4,5 9/8
    g8 g d d g g a( bes g) |
    \time 5/8
    a4. g4 |
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}

[image of music]

Définition de règles de ligature pour la partition

Les règles de ligature définies au niveau du contexte Score s’appliqueront à toutes les portées. Il est toutefois possible de moduler au niveau Staff ou Voice :

\relative c'' {
  \time 5/4
  % Set default beaming for all staves
  \set Score.baseMoment = #(ly:make-moment 1/8)
  \set Score.beatStructure = 3,4,3
  <<
    \new Staff {
      c8 c c c c c c c c c
    }
    \new Staff {
      % Modify beaming for just this staff
      \set Staff.beatStructure = 6,4
      c8 c c c c c c c c c
    }
    \new Staff {
      % Inherit beaming from Score context
      <<
        {
          \voiceOne
          c8 c c c c c c c c c
        }
        % Modify beaming for this voice only
        \new Voice {
          \voiceTwo
          \set Voice.beatStructure = 6,4
          a8 a a a a a a a a a
        }
      >>
    }
  >>
}

[image of music]

Voir aussi

Manuel de notation : Métrique.

Fichiers d’initialisation : ‘scm/time-signature-settings.scm’.

Morceaux choisis : Rythme.

Référence des propriétés internes : Auto_beam_engraver, Beam, BeamForbidEvent, beam-interface.

Problèmes connus et avertissements

Si une partition se termine alors qu’une ligature automatique est restée inachevée, cette dernière ligature ne sera pas imprimée du tout. C’est également valable dans le cas d’une musique polyphonique saisie avec la syntaxe << … \\ … >>, où une voix se terminerait sans que la dernière ligature ne soit achevée. Le plus simple, en pareil cas, est de spécifier manuellement les dernières ligatures.

Le traducteur Timing est par défaut affecté au contexte Score. Définir la métrique dans une portée aura donc des effets sur les ligatures de toutes les autres. Par voie de conséquence, la définition de la métrique apparaissant dans une autre portée annulera les aménagements précédemment apportés aux règles de ligature. Il est donc préférable, pour éviter tout désagrément, de ne spécifier la métrique que dans une seule portée.

<<
  \new Staff {
    \time 3/4
    \set Timing.baseMoment = #(ly:make-moment 1/8)
    \set Timing.beatStructure = 1,5
    \set Timing.beamExceptions = #'()
    \repeat unfold 6 { a'8 }
  }
  \new Staff {
    \repeat unfold 6 { a'8 }
  }
>>

[image of music]

Vous pouvez adapter les règles de ligature par défaut pour une métrique particulière de telle sorte que ces règles que vous aurez définies soient toujours prises en compte. La modification des règles de ligature automatiques est abordée au chapitre Métrique.

<<
  \new Staff {
    \overrideTimeSignatureSettings
      3/4               % timeSignatureFraction
      1/8               % baseMomentFraction
      1,5               % beatStructure
      #'()		% beamExceptions
    \time 3/4
    \repeat unfold 6 { a'8 }
  }
  \new Staff {
    \time 3/4
    \repeat unfold 6 { a'8 }
  }
>>

[image of music]


Barres de ligature manuelles

Dans certaines situations, il peut s’avérer nécessaire de supplanter l’algorithme de regroupement automatique des notes, par exemple pour prolonger une ligature par-dessus un silence ou une barre de mesure, ou bien pour suivre le rythme des paroles plutôt que celui des notes. Le début et la fin de la ligature sont alors indiqués respectivement par [ et ].

r4 r8[ g' a r] r8 g[ | a] r

[image of music]

Le positionnement des ligatures manuelles se détermine comme pour toute indication attachée à une note :

\relative { c''8^[ d e] c,_[ d e f g] }

[image of music]

Le fait d’affubler une note particulière d’un \noBeam aura pour effet de l’empêcher d’être ligaturée :

\relative {
  \time 2/4
  c''8 c\noBeam c c
}

[image of music]

Notes d’ornement et normales font l’objet d’un traitement distinct. Il est dont possible de ligaturer ou non des notes d’ornement sans gêner ce qui est en place au niveau de la notation normale.

\relative {
  c''4 d8[
  \grace { e32 d c d }
  e8] e[ e
  \grace { f16 }
  e8 e]
}

[image of music]

LilyPond peut déterminer automatiquement les sous-groupes à l’intérieur d’un groupement de notes, bien que le résultat ne soit pas toujours optimal. Les propriétés stemLeftBeamCount et stemRightBeamCount permettent alors d’ajuster ce comportement. Lorsque l’une ou l’autre de ces propriétés est définie, elle ne s’applique qu’une seule fois, après quoi sa définition est effacée. Dans l’exemple qui suit, le dernier fa n’a de ligature supplémentaire que sur sa gauche ; autrement dit, c’est la ligature à la croche qui est importante.

\relative a' {
  a8[ r16 f g a]
  a8[ r16
  \set stemLeftBeamCount = #2
  \set stemRightBeamCount = #1
  f16
  \set stemLeftBeamCount = #1
  g16 a]
}

[image of music]

Commandes prédéfinies

\noBeam.

Morceaux choisis

Crochet rectiligne et débordement de ligature

En combinant stemLeftBeamCount, stemRightBeamCount et des paires de [], vous pourrez obtenir des crochets rectilignes et des ligatures qui débordent à leurs extrémités.

Pour des crochets rectilignes à droite sur des notes isolées, il suffit d’ajouter une paire d’indicateurs de ligature [] et de déterminer stemLeftBeamCount à zéro, comme dans l’exemple 1.

Pour des crochets rectiligne à gauche, c’est stemRightBeamCount qu’il faudra déterminer (exemple 2).

Pour que les barres de ligature débordent sur la droite, stemRightBeamCount doit avoir une valeur positive ; pour un débordement à gauche, c’est sur stemLeftBeamCount qu’il faut jouer. Tout ceci est illustré par l’exemple 3.

Il est parfois judicieux, lorsqu’une note est encadrée de silences, de l’affubler de crochets rectilignes de part et d’autre. L’exemple 4 montre qu’il suffit d’adjoindre à cette note un [].

(Notez bien que \set stemLeftBeamCount sera toujours synonyme de \once \set. Autrement dit, la détermination des ligatures n’est pas « permanente » ; c’est la raison pour laquelle les crochets du c'16[] isolé du dernier exemple n’ont rien à voir avec le \set indiqué deux notes auparavant.)

\score {
  <<
    % Example 1
    \new RhythmicStaff {
      \set stemLeftBeamCount = #0
      c16[]
      r8.
    }
    % Example 2
    \new RhythmicStaff {
      r8.
      \set stemRightBeamCount = #0
      16[]
    }
    % Example 3
    \new RhythmicStaff {
      16 16
      \set stemRightBeamCount = #2
      16 r r
      \set stemLeftBeamCount = #2
      16 16 16
    }
    % Example 4
    \new RhythmicStaff {
      16 16
      \set stemRightBeamCount = #2
      16 r16
      16[]
      r16
      \set stemLeftBeamCount = #2
      16 16
    }
  >>
}

[image of music]

Voir aussi

Manuel de notation : Direction et positionnement, Notes d’ornement.

Morceaux choisis : Rythme.

Référence des propriétés internes : Beam, BeamEvent, Beam_engraver, beam-interface, Stem_engraver.


Liens de croches en soufflet

Les ligatures en soufflet permettent d’indiquer qu’un petit groupe de notes se joue en accélérant ou en ralentissant sans pour autant modifier le tempo du morceau. L’étendue du soufflet s’indique par [ et ] ; son orientation est déterminée par la propriété grow-direction de l’objet Beam.

Lorsque la sortie MIDI doit refléter les ritardando ou accelerando indiqués par une ligature en soufflet, les notes qui la composent doivent être regroupées dans une expression musicale délimitée par des accolades, précédée de la commande \featherDurations. Cette commande détermine le ratio entre les durées des premières et dernières notes du groupe en question.

Les crochets indiquent l’étendue de la ligature et les accolades les notes concernées par une modification de leur durée. Il s’agit en général du même groupe de notes, mais les deux commandes sont indépendantes l’une de l’autre.

Dans l’exemple ci-après, les huit doubles croches occupent exactement le même espace qu’une blanche, mais la première est moitié moins longue que la dernière et celles qui les séparent s’allongent peu à peu. Les quatre triples croches qui suivent vont s’accélérant, alors que les quatre dernières gardent un tempo régulier.

\relative c' {
  \override Beam.grow-direction = #LEFT
  \featherDurations 2/1
  { c16[ c c c c c c c] }
  \override Beam.grow-direction = #RIGHT
  \featherDurations 2/3
  { c32[ d e f] }
  % revert to non-feathered beams
  \override Beam.grow-direction = #'()
  { g32[ a b c] }
}

[image of music]

Si le résultat imprimable ne reflète les durées que de manière approximative, la sortie MIDI sera quant à elle parfaitement « ponctuelle ».

Commandes prédéfinies

\featherDurations.

Voir aussi

Morceaux choisis : Rythme.

Problèmes connus et avertissements

La commande \featherDurations ne permet de traiter que de très courts extraits, avec une faible amplitude.


1.2.5 Mesures


Barres de mesure

Les barres de mesure délimitent les mesures ou sections, mais peuvent aussi indiquer une reprise. En principe, de simples barres sont insérées automatiquement en respectant la métrique en vigueur. Diverses commandes permettent l’insertion automatique de différents types de barre selon l’effet attendu – voir Barres de mesure automatiques.

Il est possible de forcer l’impression d’une barre de mesure spécifique à l’aide de commande \bar :

\relative { e'4 d c2 \bar "!" }

[image of music]

Rien ne s’oppose à ce que la dernière note d’une mesure ne s’arrête avant la barre de mesure ; on considère simplement qu’elle se prolonge sur la mesure suivante. Des débordements à répétition finissent par générer une musique comprimée ou qui sort de la page, pour la simple et bonne raison que les sauts de ligne automatiques ne peuvent intervenir qu’à la fin d’une mesure complète, autrement dit lorsque toutes les notes sont terminées avant la fin de la mesure.

Note : Une durée erronée peut empêcher les sauts de ligne, ce qui conduit à une musique compressée, voire à un débordement de la page.

Les sauts de ligne sont aussi possibles lorsqu’est inséré manuellement une barre de mesure, même si cette mesure est incomplète. L’utilisation de la commande \allowBreak permet de passer à la ligne suivante sans pour autant imprimer de barre de mesure – voir Sauts de ligne.

Cette barre invisible, ainsi que d’autres barres spéciales, peuvent être insérées manuellement n’importe où. Lorsqu’elles coïncident avec la fin d’une mesure, elles remplacent la simple barre que LilyPond aurait insérée automatiquement. Dans le cas contraire, la barre spécifiée s’insérera là où vous l’aurez positionnée.

Ces insertions n’affectent en rien le calcul du positionnement automatique des barres de mesure à suivre ni les propriétés y afférentes – numérotation, altérations accidentelles, sauts de ligne…
Lorsqu’une barre manuelle est insérée à l’endroit où viendrait se placer une barre normale, seul l’effet visuel en sera modifié.

Vous disposez de plusieurs types de barres simples et de doubles barres :

\relative {
  f'1 \bar "|"
  f1 \bar "."
  g1 \bar "||"     % voir \section
  a1 \bar ".|"
  b1 \bar ".."
  c1 \bar "|.|"
  d1 \bar "|."     % voir \fine
  e1
}

[image of music]

ainsi que d’une barre en pointillé et d’une discontinue :

\relative {
  f'1 \bar ";"
  g1 \bar "!"
  a1
}

[image of music]

et de différents types de barre de reprise :

\relative {
  f'1 \bar ".|:"
  g1 \bar ":..:"
  a1 \bar ":|.|:"
  b1 \bar ":|.:"
  c1 \bar ":.|.:"
  d1 \bar "[|:"
  e1 \bar ":|][|:"
  f1 \bar ":|]"
  g1 \bar ":|."
  a1
}

[image of music]

De plus, une barre de mesure peut s’imprimer racourcie ou sous la forme d’une coche. Dans le cadre du chant grégorien, nous vous invitons à plutôt utiliser \divisioMinima et \divisioMaior comme indiqué au paragraphe Divisions.

f'1 \bar "'"
g'1 \bar ","
a1

[image of music]

LilyPond prend en charge la notation kiévienne, qui dispose d’une barre de mesure spécifique :

f'1 \bar "k"

[image of music]

De plus amples détails quant à cette forme de notation sont fournis à la rubrique Typographie de notation kiévienne.

L’insertion d’un segno directement sur la portée s’obtient à l’aide de plusieurs types de barre de mesure, dont les effets diffèrent lorsqu’en fin de ligne :

\fixed c' {
  c4 4 4 4
  \bar "S"
  d4 4 4 4 \break
  \bar "S"
  e4 4 4 4
  \bar "S-|"
  f4 4 4 4 \break
  \bar "S-|"
  g4 4 4 4
  \bar "S-||"
  a4 4 4 4 \break
  \bar "S-||"
  b4 4 4 4
  \bar "S-S"
  c'4 4 4 4 \break
  \bar "S-S"
  d'1
}

[image of music]

Bien que l’on puisse insérer des barres de reprise manuellement, LilyPond n’en déduira pas pour autant qu’il s’agit d’un passage à répéter. Il est préférable d’indiquer les passages répétés à l’aide des différentes commandes de reprise (voir Répétitions et reprises) qui se chargeront d’imprimer le type de barre approprié qui peut d’ailleurs être personnalisé – voir Barres de mesure automatiques.

Dans les faits, un ".|:-||" équivaut à un ".|:" sauf s’il intervient à un saut de ligne : une double barre sera alors imprimée en fin de portée, et la barre de reprise au début de la nouvelle.

\fixed c' {
  c4 4 4 4
  \bar ".|:"
  d4 4 4 4 \break
  \bar ".|:"
  e4 4 4 4
  \bar ".|:-|"
  f4 4 4 4 \break
  \bar ".|:-|"
  g4 4 4 4
  \bar ".|:-||"
  a4 4 4 4 \break
  \bar ".|:-||"
  b4 4 4 4
  \bar ".|:-|."
  c'4 4 4 4 \break
  \bar ".|:-|."
  d'4 4 4 4
}

[image of music]

LilyPond dispose de différents moyens de combiner une barre de reprise avec un segno :

\fixed c' {
  g,4 4 4 4
  \bar ":|.S"
  a,4 4 4 4 \break
  \bar ":|.S"
  b,4 4 4 4
  \bar ":|.S-S"
  c4 4 4 4 \break
  \bar ":|.S-S"
  d4 4 4 4
  \bar "S.|:-S"
  e4 4 4 4 \break
  \bar "S.|:-S"
  f4 4 4 4
  \bar "S.|:"
  g4 4 4 4 \break
  \bar "S.|:"
  a4 4 4 4
  \bar "S.|:-|"
  b4 4 4 4 \break
  \bar "S.|:-|"
  c'4 4 4 4
  \bar "S.|:-||"
  d'4 4 4 4 \break
  \bar "S.|:-||"
  e'4 4 4 4
  \bar ":|.S.|:"
  f'4 4 4 4 \break
  \bar ":|.S.|:"
  g'4 4 4 4
  \bar ":|.S.|:-S"
  a'4 4 4 4 \break
  \bar ":|.S.|:-S"
  b'1
}

[image of music]

Nombre de ces indications peuvent s’insérer automatiquement à l’aide des commandes \repeat – voir Répétitions et reprises.

L’instruction \defineBarLine permet de définir ses propres types de barre de mesure, en respectant la syntaxe :

\defineBarLine type_de_barre #'(fin début extension)

Au-delà de type_de_barre (la chaîne de caractères qui sera utilisée pour faire appel à cette nouvelle barre), cette instruction prend trois valeurs : les deux premières déterminent l’apparence de la barre lorsqu’elle intervient sur un saut de ligne, auquel cas les premier et second glyphes indiqués s’imprimeront respectivement à la fin du système et au début du suivant. Le troisième glyphe indiqué n’est utile que dans le cas d’un système à plusieurs portées (voir Regroupement de portées) où il apparaîtra en tant qu’extension entre les portées.

Les arguments fournis à \defineBarline qui spécifient les glyphes de remplacement peuvent prendre les valeurs #t ou #f (absence de barre). La chaîne vide "" qui correspond à une barre invisible.

Une fois la définition explicitée, la nouvelle barre s’utilise à l’aide de \bar type_de_barre.

Sont à ce jour disponibles dix éléments différents :

\defineBarLine ":" #'(#f #t #f)
\defineBarLine "=" #'(#t #f #t)
\defineBarLine "[" #'(#f #t #f)
\defineBarLine "]" #'(#t #f #f)

\new Staff {
  s1 \bar "'"
  s1 \bar ","
  s1 \bar "|"
  s1 \bar "."
  s1 \bar "!"
  s1 \bar ";"
  s1 \bar ":"
  s1 \bar "k"
  s1 \bar "S"
  s1 \bar "="
  s1 \bar "["
  s1 \bar "]"
  s1 \bar ""
}

[image of music]

Le type "=" fournit un double trait destiné à être utilisé en combinaison avec un segno. Nous vous recommandons de lui préférer \bar "||" pour imprimer une simple double barre fine.

Le signe "-" permet d’annoter un type de barre de mesure pour le distinguer lorsqu’il en existe plusieurs ayant la même apparence mais au comportement différent en fin de ligne ou en matière d’extension. Ce qui suit le "-" n’est d’aucune utilité dans la construction de la barre.

\defineBarLine "||-dashedSpan" #'(#t #f "!!")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar "||"
    c1 \bar "||-dashedSpan"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

Par ailleurs, le caractère espace " " permer de préserver de l’espace et ainsi aligner correctement les différents tronçons d’une barre d’un seul tenant entre les portées d’un système :

\defineBarLine ":|.-wrong" #'(#t #f "|.")
\defineBarLine ":|.-right" #'(#t #f " |.")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar ":|.-wrong"
    c1 \bar ":|.-right"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

Un nouveau type de barre de mesure défini à l’aide de \defineBarLine peut même, à son tour, s’utiliser dans la définition d’un autre. Une telle définition « imbriquée » autorise le recours à des glyphes personnalisés là où ce ne serait en principe pas possible, comme en fin de système :

\defineBarLine "||-dashEverywhere" #'("!!" "!!" "!!")
\defineBarLine "||-advancedDashSpan" #'("||-dashEverywhere" #f "!!")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar "||"
    c1 \bar "||-advancedDashSpan"
    c1 \bar "||-advancedDashSpan"
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

Si d’autres éléments étaient nécessaires, LilyPond dispose de moyens aisés pour les définir. Pour de plus amples informations quant à la manière de modifier ou ajouter des barres de mesure, consultez le fichier ‘scm/bar-line.scm’.

Dans une partition comprenant plusieurs portées, la commande \bar placée sur une portée s’applique automatiquement à toutes les portées. Les barres de mesure que l’on obtient alors sont d’un seul tenant sur les portées d’un StaffGroup, d’un PianoStaff ou d’un GrandStaff.

<<
  \new StaffGroup <<
    \new Staff \relative {
      e'4 d
      \bar "||"
      f4 e
    }
    \new Staff \relative { \clef bass c'4 g e g }
  >>
  \new Staff \relative { \clef bass c'2 c2 }
>>

[image of music]

Le type de barre de mesure utilisé pour l’insertion automatique de barres de mesure est "|". Vous pouvez en changer à tout moment grâce à ‘\set Timing.measureBarType = type_de_barre’.

Voir aussi

Manuel de notation : Regroupement de portées, Répétitions et reprises, Sauts de ligne.

Fichiers d’initialisation : ‘scm/bar-line.scm’.

Morceaux choisis : Rythme.

Référence des propriétés internes : BarLine (faisant partie du contexte Staff), SpanBar (sur plusieurs portées), Timing_translator (pour les propriétés liées au temps).


Barres de mesure automatiques

Diverses commandes, autres que \bar, peuvent créer des barres de mesure en raison de leurs effets. Les barres générées en pariel cas peuvent se modifier en réglant des propriétés de contexte. Lorsqu’une des propriétés est réglée sur '() ou n’est pas définie, eslle est ignorée ; la valeur doit être l’un des types prédéfinis ou bein l’un de ceux précédemment définis à l’aide de la commande \defineBarLine – voir Barres de mesure.

De multiples raisons peuvent expliquer la création de barres de mesure automatiques différentes en un même moment. Les conflits se résoudront en partie par la fourniture de propriétés pour des combinaisons prédéterminées et en partie par un jeu de priorités. La table suivante présente, par ordre de priorité croissant, les propriétés disponibles.

underlyingRepeatBarType

S’utilise en des points de reprise ou de départ pour lesquels aucune barre n’apparaîtrait normalement. Tel est le cas lorsque des sections répétées ne s’alignent pas avec les mesures. Certaines commandes emploient ce type de barre : \codaMark, \inStaffSegno, \repeat segno, \repeat volta et \segnoMark.

caesuraType underlying-bar-line

S’utilise avec \caesura – voir Barre de phrase en musique liturgique.

measureBarType

S’utilise en limite de mesure.

caesuraType bar-line

S’utilise avec \caesura – voir Barre de phrase en musique liturgique.

sectionBarType

S’utilise à un saut de section créé par \section.

fineBarType

S’utilise avec l’instruction \fine.

doubleRepeatBarType
doubleRepeatSegnoBarType
endRepeatBarType
endRepeatSegnoBarType
fineSegnoBarType
fineStartRepeatSegnoBarType
segnoBarType
startRepeatBarType
startRepeatSegnoBarType

Seul l’un de ces types s’utilisera, selon la structure de la pièce.

Les propriétés dont le nom comporte startRepeat ou endRepeat s’utilisent en début ou en fin de reprise créée par \repeat volta. Celles comportant doubleRepeat s’utilisent lorsque la fin d’une reprise coïncide avec le début d’une autre.

Les propriétés dont le nom comporte segno s’utilisent pour un segno sur la portée ; ceux-ci peuvent être créés par \repeat segno ou \segnoMark, dès lors que la propriété segnoStyle est réglée sur bar-line, ou encore lorsqu’ils sont créés par \inStaffSegno.

Les propriétés dont le nom comporte fine répondent à l’instruction \fine.

La priorité s’aplique indépendamment du fait que la barre soit en début, en cours ou en fin de ligne, ce qui permet à des barres de mesure de priorité inférieure d’apparaître là où des types de barre de priorité supérieure n’auraient pas de glyphe défini – voir Barres de mesure.

\fixed c' {
  c1 \section \break
  \repeat volta 2 d1
}

[image of music]

Morceaux choisis

Succession de reprises et style de barre par défaut

LilyPond dispose de trois différents styles de barre pour indiquer une succession de reprises. Vous devez opter pour un style par défaut, à l’aide de la propriété doubleRepeatBarType.

\relative c'' {
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = #":..:"
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = #":|.|:"
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = #":|.:"
  \repeat volta 2 { c1 }
}

[image of music]

Voir aussi

Manuel de notation : Barres de mesure, Répétitions et reprises.

Morceaux choisis : Rythmes.

Référence des propriétés internes : Repeat_acknowledge_engraver.


Numéros de mesure

Les numéros de mesure sont imprimés par défaut à chaque début de ligne, sauf la première. Ce nombre est stocké par la propriété currentBarNumber qui sera mise à jour à chaque mesure. Vous pouvez aussi le définir de manière arbitraire :

\relative c' {
  c1 c c c
  \break
  \set Score.currentBarNumber = #50
  c1 c c c
}

[image of music]

Le comportement par défaut consiste à imprimer un numéro de mesure uniquement en tête de chaque ligne. Il est possible d’y déroger à l’aide de la propriété break-visibility du BarNumber. Elle se compose de trois commutateurs – définis à « vrai » (#t) ou « faux » (#f) – pour spécifier si le numéro de mesure est visible ou non. Les valeurs sont rangées dans l’ordre suivant : visible en fin de ligne, visible en cours de ligne et visible en début de ligne. Voici comment imprimer partout les numéros de mesure :

\relative c' {
  \override Score.BarNumber.break-visibility = ##(#t #t #t)
  \set Score.currentBarNumber = #11
  c1 | c | c | c |
  \break
  c1 | c | c | c |
}

[image of music]

Morceaux choisis

Afficher le numéro de la première mesure

Par défaut, LilyPond n’affiche pas le premier numéro de mesure s’il est inférieur à 2. Le fait de définir barNumberVisibility à all-bar-numbers-visible vous permettra d’imprimer n’importe quel numéro pour la première mesure.

\layout {
  indent = 0
  ragged-right = ##t
}

\relative c' {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  c1 | d | e | f \break
  g1 | e | d | c
}

[image of music]

Imprimer les numéros de mesure à intervalle régulier

Vous pouvez imprimer un numéro de mesure à intervalle régulier plutôt qu’en tête de chaque ligne seulement, en recourant à la propriété barNumberVisibility. Voici comment afficher le numéro toutes les deux mesures sauf en fin de ligne.

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.currentBarNumber = #11
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c | c | c | c
  \break
  c1 | c | c | c | c
}

[image of music]

Changement de la fréquence d’impression du numéro de mesure

La fonction de contexte set-bar-number-visibility permet de modifier la fréquence à laquelle les numéros de mesures s’impriment.

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \context Score \applyContext #(set-bar-number-visibility 4)
  \repeat unfold 10 c'1
  \context Score \applyContext #(set-bar-number-visibility 2)
  \repeat unfold 10 c
}

[image of music]

Impression du numéro des mesures tronquées

L’objet BarNumber (numéro de mesure) n’est pas répété en début de ligne pour une mesure tronquée. Il apparaîtra, entre parenthèses, dès lors que la propriété barNumberVisibility sera affublée de first-bar-number-invisible-save-broken-bars.

\layout {
  \context {
    \Score
    barNumberVisibility = #first-bar-number-invisible-save-broken-bars
    \override BarNumber.break-visibility = ##(#f #t #t)
  }
}

\relative c' {
  c1 | d | e | f2 \bar "" \break
  fis | g1 | e2 \bar "" \break
  <>^"reenabled default"
  % back to default -
  % \unset Score.barNumberVisibility would do so as well
  \set Score.barNumberVisibility =
    #first-bar-number-invisible-and-no-parenthesized-bar-numbers
  es | d1 | c
}

[image of music]

Impression du numéro de mesure selon modulo-bar-number-visible

Lorsque le reste de la division du numéro de la mesure courante par le premier argument de modulo-bar-number-visible égale le deuxième argument, LilyPond imprime le BarNumber.

Ceci permet d’imprimer le numéro de mesure à un intervalle donné, par exemple :

\layout {
  \context {
    \Score
    \override BarNumber.break-visibility = ##(#f #t #t)
    barNumberVisibility = #(modulo-bar-number-visible 3 2)
  }
}

\relative c' {
  c1 | d | e | f \break
  g1 | e | d | c
}

[image of music]

Inscrire le numéro de mesure dans un cadre ou un cercle

Les numéros de mesure peuvent être encadrés ou entourés d’un cercle.

\relative c' {
  % Prevent bar numbers at the end of a line and permit them elsewhere
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4)

  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2

  % Draw a box round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
  \repeat unfold 5 { c1 }

  % Draw a circle round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
  \repeat unfold 4 { c1 } \bar "|."
}

[image of music]

Numérotation des mesures et alternatives

Deux méthodes alternatives vous permettent de gérer la numérotation des mesures en cas de reprises.

\relative c'{
  \set Score.alternativeNumberingStyle = #'numbers
  \repeat volta 3 { c4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1 \break
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \repeat volta 3 { c,4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1
}

[image of music]

Alignement des numéros de mesure

Les numéros de mesure s’alignent en principe sur la droite de l’objet dont ils dépendent. C’est normalement le coin gauche de la portée ou, en cours de ligne, à gauche de la barre. Vous pouvez toutefois les centrer par rapport à la barre ou les afficher à droite de la barre.

\relative c' {
  \set Score.currentBarNumber = #111
  \override Score.BarNumber.break-visibility = #all-visible
  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c1
  % Center-align bar numbers
  \override Score.BarNumber.self-alignment-X = #CENTER
  c1 | c1
  % Left-align bar numbers
  \override Score.BarNumber.self-alignment-X = #LEFT
  c1 | c1
}

[image of music]

Suppression des numéros de mesure d’une partition

Désactiver le graveur concerné – Bar_number_engraver – donnera une partition – contexte Score – sans numéros de mesure.

\layout {
  \context {
    \Score
    \omit BarNumber
    % or:
    %\remove "Bar_number_engraver"
  }
}

\relative c'' {
  c4 c c c \break
  c4 c c c
}

[image of music]

Centrage des numéros de mesure

Il est d’usage, dans les partitions de musique de film, de trouver les numéros de mesure centrés sur leur mesure. Ceci s’obtient en activant la propriété de contexte centerBarNumbers. Lorsque cette propriété est utilisée, le type de grob (objet graphique) BarNumber est remplacé par CenteredBarNumber .

L’exemple ci-dessous illustre plusieurs réglages : les numéros de mesure sont à la fois centrés, encadrés, et disposés sous les portées.

\layout {
  \context {
    \Score
    centerBarNumbers = ##t
    barNumberVisibility = #all-bar-numbers-visible
    \override CenteredBarNumber.stencil
      = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
    \override CenteredBarNumberLineSpanner.direction = #DOWN
  }
}

\new StaffGroup <<
  \new Staff \relative c' {
    d4-. f8( e d4) bes'-> |
    d,-. f8( e d4) cis'-> |
    g-. f8( d e4) g-> |
    a,1-> |
  }
  \new Staff \relative c {
    \clef bass
    d4 f8 e d2~ |
    4 f8 e d2~ |
    4 4 2 |
    a1 |
  }
>>

[image of music]

Voir aussi

Morceaux choisis : Rythme.

Référence des propriétés internes : Bar_number_engraver, BarNumber, Centered_bar_number_align_engraver, CenteredBarNumber, CenteredBarNumberLineSpanner.

Problèmes connus et avertissements

Les numéros de mesure peuvent entrer en collision avec les crochets d’un StaffGroup. La propriété padding – décalage – de l’objet BarNumber permet alors d’ajuster leur positionnement.


Vérification des limites et numéros de mesure

Les tests de limite de mesure (ou tests de mesure) aident à détecter les erreurs dans les durées. Un test de mesure s’écrit avec une barre verticale, |. Lors du traitement, elle doit correspondre à une barre de mesure. Sinon, un avertissement est émis qui indique le numéro de ligne où est détectée l’erreur. Dans l’exemple suivant, le deuxième test de mesure signale une erreur.

\time 3/4 c2 e4 | g2 |

Des durées incorrectes font échouer les tests de mesure et peuvent souvent mettre la partition sens dessus dessous, particulièrement s’il s’agit de musique polyphonique. Vérifier les tests de mesure qui ont échoué et les durées incorrectes est un bon moyen de commencer à corriger sa partition.

Lorsque plusieurs tests successifs présentent un même décalage, seul le message d’avertissement concernant la première occurrence est affiché. L’origine du problème est de fait plus évidente.

Le test de mesure peut être aussi utilisé dans les paroles, par exemple :

\lyricmode {
 \time 2/4
 Twin -- kle | Twin -- kle
}

Notez bien qu’en matière de paroles, le test est effectué à l’instant musical où la syllabe suivant la marque est traitée. Par voie de conséquence, lorsqu’une mesure débute par un silence, il n’y a pas moyen de positionner une syllabe à cet endroit, et LilyPond émettra un avertissement.

Il est aussi possible d’attribuer une autre valeur au symbole |, en assignant une expression musicale à "|". Dans l’exemple suivant, le | servira à insérer une double barre là où il apparaît, au lieu de simplement vérifier que la fin de la mesure est atteinte.

"|" = \bar "||"
{
  c'2 c' |
  c'2 c'
  c'2 | c'
  c'2 c'
}

[image of music]

Lorsque l’on recopie de longues pièces, il peut être utile de vérifier que les numéros de mesure de LilyPond correspondent à l’original que l’on recopie. Cela se fait avec \barNumberCheck. Par exemple,

\barNumberCheck #123

affiche un avertissement lors du traitement si le numéro de mesure à ce point (variable currentBarNumber) n’est pas égal à 123.

Voir aussi

Morceaux choisis : Rythme.


Indications de repère

Indiquer un repère s’obtient grâce à la commande \mark.

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
}

[image of music]

Lorsque vous utilisez \mark \default, le repère s’incrémente automatiquement ; toutefois donner un nombre en argument permet de spécifier manuellement le repère en question. La valeur à utiliser est enregistrée dans la propriété rehearsalMark.

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

La lettre I n’est pas utilisée, conformément aux usages de la gravure. Cependant, vous pourrez intégrer la lettre I en utilisant l’une des commandes suivantes selon que ce repère doive être simple, inclus dans un rectangle ou dans un cercle :

\set Score.rehearsalMarkFormatter = #format-mark-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-circle-alphabet
\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

Le style de repère est déterminé par la propriété rehearsalMarkFormatter. Il s’agit d’une fonction qui prend en arguments le repère en cours (un entier) ainsi que le contexte en cours, et retournera un objet de type markup. Dans l’exemple qui suit, rehearsalMarkFormatter est réglé pour une procédure type. Quelques mesures plus loin, son comportement est modifié pour imprimer un repère encadré.

\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-numbers
  c1 \mark \default
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-box-numbers
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-circle-numbers
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-circle-letters
  c1
}

[image of music]

Le fichier ‘scm/translation-functions.scm’ comporte les définitions de format-mark-letters (comportement par défaut), format-mark-box-letters, format-mark-numbers et format-mark-box-numbers. Vous pouvez vous en inspirer pour d’autres fonctions de formatage.

format-mark-barnumbers, format-mark-box-barnumbers et format-mark-circle-barnumbers permettent d’imprimer le numéro de mesure au lieu des compteurs alphabétique ou numérique.

Pour affiner le positionnement des repères, veuillez vous référer à Mise en forme du texte, et tout particulièrement ce qui concerne la break-alignable-interface au chapitre Alignement des objets.

Les définitions format-mark-numbers et format-mark-letters sont inscrites dan le fichier ‘scm/translation-functions.scm’. Elles seront une source d’inspiration en matière de fonctions de formatage.

Morceaux choisis

Impression des indications sur toutes les portées d’un système

Bien que ces indications textuelles ne soient habituellement imprimées qu’au niveau de la portée supérieure d’un système, leur affectation peut être répercutée à chacune des portées.

\score {
  <<
    \new Staff { \mark \default c''1 \textMark "molto" c'' }
    \new Staff { \mark \default c'1 \textMark "molto" c' }
  >>
  \layout {
    \context {
      \Score
      \remove Mark_engraver
      \remove Text_mark_engraver
      \remove Staff_collecting_engraver
    }
    \context {
      \Staff
      \consists Mark_engraver
      \consists Text_mark_engraver
      \consists Staff_collecting_engraver
    }
  }
}

[image of music]

Voir aussi

Manuel de notation : Alignement des objets, Indication métronomique, La fonte Emmentaler, Marque de section, Mise en forme du texte, Notation musicale dans du texte formaté.

Fichiers d’initialisation : ‘scm/translation-functions.scm’.

Morceaux choisis : Rythme.

Référence des propriétés internes : AdHocMarkEvent, RehearsalMark, RehearsalMarkEvent.


Compteurs de mesures

Les compteurs de mesure constituent un moyen de numéroter des mesures consécutives pour, par exemple, assister l’interprète dans le décompte de mesures lors des reprises. Cette fonctionnalité requiert l’adjonction du Measure_counter_engraver à un contexte du type Staff ou Score.

\layout {
  \context {
    \Staff
    \consists Measure_counter_engraver
  }
}

\relative c' {
  \time 6/8
  \key e \minor
  r4 a8 b c dis
  \startMeasureCount
  \repeat unfold 3 {
    e8 b e g8. fis32 e dis8
  }
  \stopMeasureCount
  b'4. r
}

[image of music]

Le numéro des mesures tronquées se présente entre parenthèses.

\layout {
  \context {
    \Staff
    \consists Measure_counter_engraver
  }
}

\relative c' {
  \time 6/8
  \key e \minor
  r4 a8 b c dis
  \startMeasureCount
  e8 b e g8. fis32 e dis8
  e8 b e \break g8. fis32 e dis8
  e8 b e g8. fis32 e dis8
  \stopMeasureCount
  b'4. r
}

[image of music]

La compression de silences multimesure reçoit un traitement particulier : est présenté l’intervalle de mesures considéré.

\layout {
  \context {
    \Staff
    \consists Measure_counter_engraver
  }
  \context {
    \Voice
    \override MultiMeasureRestNumber.direction = #DOWN
  }
}

\compressMMRests {
  \key e \minor
  \startMeasureCount
  \new CueVoice {
    b4.( e'8) b8 r e' r
  }
  R1*2
  \stopMeasureCount
  g'2\> fis'2\!
}

[image of music]

Les compteurs de mesures prennent en considération le style de numérotation des alternatives. Lorsque le style est réglé sur numbers-with-letters, leur rendu est meilleur avec une fonte textuelle.

\layout {
  \context {
    \Score
    alternativeNumberingStyle = #'numbers-with-letters
  }
  \context {
    \Staff
    \consists Measure_counter_engraver
    \override MeasureCounter.Y-offset = 6
    \override MeasureCounter.font-encoding = #'latin1
    \override MeasureCounter.font-size = 1
  }
}

\relative c' {
  \startMeasureCount
  \repeat volta 2 {
    c8 d e f c d e f
  }
  \alternative {
    { e4 d c b }
    { g'4 g c2 }
  }
  \bar "|."
  \stopMeasureCount
}

[image of music]

Commandes prédéfinies

\startMeasureCount, \stopMeasureCount.

Voir aussi

Manuel de notation : Compression de mesures vides, Modification des greffons de contexte, Numéros de mesure, Sauts.

Référence des propriétés internes : Measure_counter_engraver, MeasureCounter, measure-counter-interface.


Division en sections

La commande \section marque un point dans la musique où une section se termine et une autre commence. Il n’y a pas nécessairement de musique à la suite : cela peut aussi indiquer que cette terminaison apparente n’est pas la fin du morceau comme lorsqu’apparaît l’instruction D.C. ou lorsqu’un mouvement s’enchaîne directement avec le suivant. En règle générale, \section crée une double barre de mesure. Ses effets peuvent aussi dépendre d’autres considérations, comme par exemple une barre de reprise.

La commande \fine indique la fin de la pièce, normalement par une barre finale. Son utilisation ne se limite toutefois pas à la dernière note : elle peut apparaître au sein d’un bloc \repeat – voir Reprises Al-fine.

Une section peut être nommée à l’aide de \sectionLabel – voir Marque de section).

\fixed c' {
  f1
  \section
  \sectionLabel "Refrain"
  g1
  a1
  \fine
}

[image of music]

De plus amples détails sur les interactions des barres de mesure \fine et \section avec les autres types de barre de mesure, ainsi que sur les manières d’en changer leur apparence sont répertoriées dans Barres de mesure automatiques.

Voir aussi

Glossaire musicologique : fine.

Manuel de notation : Barres de mesure automatiques, Divisions, Marque de section, Reprises Al-fine.

Référence des propriétés internes : FineEvent, SectionEvent.


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.


1.3 Signes d’interprétation

[image of music]

Ce chapitre traite des différentes indications d’interprétation que l’on peut trouver sur les partitions.


1.3.1 Signes d’interprétation attachés à des notes

Nous allons voir au cours de ces lignes comment ajouter aux notes des indications d’interprétation – articulation, ornementation, nuance – et aborderons la manière de générer vos propres signes.


Articulations et ornements

Les différents symboles qui indiquent des ponctuations ou des modes de jeu différents s’ajoutent aux notes de la manière suivante :

note\nom

Les valeurs de nom sont répertoriées dans l’annexe Liste des signes d’articulation. En voici un exemple :

\relative {
  c''4\staccato c\mordent b2\turn
  c1\fermata
}

[image of music]

Certains signes d’articulation disposent d’un raccourci. On les ajoute à chaque note au moyen d’un tiret suivi du caractère correspondant à l’articulation désirée. C’est entre autres le cas pour marcato, stopped, tenuto, staccatissimo, accent, staccato, et portato, comme l’illustre l’exemple ci-dessous.

\relative {
  c''4-^  c-+  c--  c-!
  c4->  c-.  c2-_
}

[image of music]

Même si LilyPond place automatiquement ces symboles, selon les règles contenues dans le fichier ‘scm/script.scm’, il est possible de l’obliger à les positionner au-dessus ou en dessous de la note, comme indiqué au chapitre Direction et positionnement.

Le type d’objet graphique créé par une articulation dépend de ce à quoi il est attaché.

\override Score.Script.color = #(universal-color 'vermillion)
\override Score.MultiMeasureRestScript.color = #(universal-color 'blue)
\override Score.CaesuraScript.color = #(universal-color 'orange)
a'2\fermata r\fermata
R1\fermata
g'2 \caesura \fermata f'2

[image of music]

En dehors des articulations habituelles, vous pouvez adjoindre du texte – avec ou sans mise en forme – à n’importe quelle note. Voir à ce propos Commentaires textuels.

Pour plus d’information sur la manière d’ordonner Scripts et TextScripts, consultez le chapitre Positionnement des objets.

Morceaux choisis

Modification de la signification des raccourcis pour les signes d’articulation

Les raccourcis sont répertoriés dans le fichier ‘ly/script-init.ly’, dans lequel on retrouve les variables dashHat, dashPlus, dashDash, dashBang, dashLarger, dashDot et dashUnderscore ainsi que leur valeur par défaut. Ces valeurs peuvent être modifiées selon vos besoins. Il suffit par exemple, pour affecter au raccourci -+ (dashPlus) le symbole du trille en lieu et place du + (caractère plus), d’assigner la valeur \trill à la variable dashPlus :

\relative c'' { c1-+ }

dashPlus = \trill

\relative c'' { c1-+ }

[image of music]

Contrôle de l’ordre vertical des articulations et ornements

Les symboles s’ordonnent verticalement suivant la propriété script-priority. Plus sa valeur numérique est faible, plus le symbole sera proche de la note. Dans l’exemple suivant, l’objet TextScript – le dièse – a d’abord la propriété la plus basse et se voit donc placé au plus près de la note ; ensuite, c’est l’objet Script – le mordant – qui a la propriété la plus basse, et se place alors sous le dièse. Lorsque deux objets ont la même priorité, c’est l’ordre dans lequel ils sont indiqués qui détermine lequel sera placé en premier.

\relative c''' {
  \once \override TextScript.script-priority = #-100
  a2^\prall^\markup { \sharp }

  \once \override Script.script-priority = #-100
  a2^\prall^\markup { \sharp }
}

[image of music]

Création d’un groupetto retardé

Obtenir un groupetto retardé et dans lequel la note la plus basse est altérée requiert quelques surcharges. La propriété outside-staff-priority doit être désactivée (#f) pour éviter qu’elle prenne le pas sur la propriété avoid-slur. L’ajustement du positionnement horizontal s’effectue en jouant sur la fraction 2/3.

\relative c'' {
  \after 2*2/3 \turn c2( d4) r |
  \after 4 \turn c4.( d8)
  \after 4
  {
    \once \set suggestAccidentals = ##t
    \once \override AccidentalSuggestion.outside-staff-priority = ##f
    \once \override AccidentalSuggestion.avoid-slur = #'inside
    \once \override AccidentalSuggestion.font-size = -3
    \once \override AccidentalSuggestion.script-priority = -1
    \once \hideNotes
    cis8\turn \noBeam
  }
  d4.( e8)
}

[image of music]

Voir aussi

Glossaire musicologique : accent, portato, staccato, tenuto.

Manuel d’initiation : Positionnement des objets.

Manuel de notation : Commentaires textuels, Direction et positionnement, Liste des signes d’articulation, Trilles.

Fichiers d’initialisation : ‘scm/script.scm’.

Morceaux choisis : Signes d’interprétation.

Référence des propriétés internes : CaesuraScript, MultiMeasureRestScript, Script, TextScript.


Nuances

À chaque nuance absolue correspond une commande qui peut être indiquée après une note : c4\ff par exemple. Les commandes de nuance disponibles sont \ppppp, \pppp, \ppp, \pp, \p, \mp, \mf, \f, \ff, \fff, \ffff, \fffff, \fp, \sf, \sff, \sp, \spp, \sfz, \rfzet \n. Les nuances se placent aussi bien en dessous qu’au-dessus de la portée ; pour plus d’information, consultez Direction et positionnement.

\relative c'' {
  c2\ppp c\mp
  c2\rfz c^\mf
  c2_\spp c^\ff
}

[image of music]

Un crescendo est délimité par \< et \!, ou peut se terminer par une commande de nuance explicite, ou bien un decrescendo ou un nouveau crescendo. Il en va de même pour un diminuendo. Au lieu de \< et \>, vous pouvez utiliser \cr et \decr, tout comme \endcr et \enddecr au lieu de \!, auquel cas LilyPond n’imprimera pas de soufflet (hairpin en anglais).