@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-

@ignore
   Translation of GIT committish: 18cf09c1f24d22eeb0cdc187dec0af734d60cfc8

   When revising a translation, copy the HEAD committish of the
   version that you are working on.  For details, see the Contributors'
   Guide, node Updating translation committishes..
@end ignore

@c \version "2.25.33"

@c Translators: Frédéric Chiasson, Jean-Charles Malahieude
@c Translation checkers: Valentin Villenave, François Martin, Xavier Scheuer

@node Rhythms
@chapter Rythme

@lilypondfile[quote]{snippets/rhythms-headword.ly}

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


@need 1500
@node Writing rhythms
@section Écriture du rythme


@node Durations
@subsection Durées

@cindex durée
@cindex note, longueur
@cindex longueur de note

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 -- @emph{quarter note} en
anglais -- s'écrit @code{4}, alors qu'une blanche -- @emph{half-note},
1/2 ronde -- s'écrit @code{2}. Des durées plus courtes que la quintuple
croche -- 1/128 de ronde -- sont possibles, à condition de les ligaturer
-- @pxref{Ligatures}.

@funindex \longa
@funindex \breve
@funindex \maxima

Pour des notes plus longues qu'une ronde, vous devrez utiliser les
commandes @code{\longa} pour une longue, et @code{\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 @code{\maxima} ; celle-ci n'est toutefois
disponible que dans le cadre de la notation ancienne. Pour plus de
détails, @pxref{Ancient notation}.

@c Two 64th notes are needed to obtain beams
@lilypond[quote,verbatim]
\relative {
  \time 8/1
  c''\longa c\breve c1 c2
  c4 c8 c16 c32 c64 c128 c128
}
@end lilypond

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

@c not strictly "writing rhythms"; more of a "displaying" thing,
@c but it's ok here.  -gp
@lilypond[quote,verbatim]
\relative {
  \time 8/1
  \autoBeamOff
  c''\longa c\breve c1 c2
  c4 c8 c16 c32 c64 c128 c128
}
@end lilypond

@cindex durée par défaut
@cindex défaut, durée
@cindex durée isolée
@cindex isolée, durée

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.

@lilypond[quote,verbatim]
\relative {
  \time 8/1
  c'' \longa \breve 1 2
  4 8 16 32 64 128 128
}
@end lilypond

@cindex hauteur par défaut
@cindex défaut, hauteur
@cindex isolée, hauteur
@cindex hauteur isolée

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 (@code{4}).

@lilypond[quote,verbatim]
\relative { a' a a2 a a4 a a1 a }
@end lilypond

@cindex note pointée
@cindex pointée, note
@cindex doublement pointée, note
@cindex point
@cindex double point

@funindex .

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

@lilypond[quote,verbatim]
\relative { a'4 b c4. b8 a4. b4.. c8. }
@end lilypond

@funindex \dotsUp
@funindex \dotsDown
@funindex \dotsNeutral

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 @ref{Direction and placement}.

Certaines durées ne peuvent s'obtenir à partir de chiffres et de points,
mais uniquement en « liant » deux ou plusieurs notes entre elles. Voir
@ref{Ties} à 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 @ref{Vocal
music}.

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 à @ref{Proportional notation}.

@predefined
@code{\autoBeamOn},
@code{\autoBeamOff},
@code{\dotsUp},
@code{\dotsDown},
@code{\dotsNeutral}.
@endpredefined

@snippets

@cindex brève, style alternatif
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/alternative-breve-notes.ly}

@cindex point d'augmentation, modification du nombre
@cindex note pointée, nombre de points
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/changing-the-number-of-augmentation-dots-per-note.ly}

@morerefs
Glossaire musicologique :
@rglos{breve},
@rglos{longa},
@rglos{maxima},
@rglosnamed{note value,valeur des notes},
@rglosnamed{Duration names notes and rests,Noms de durée (notes et silences)}.

Manuel de notation :
@ref{Automatic beams},
@ref{Writing rests},
@ref{Writing rhythms},
@ref{Stems},
@ref{Ties},
@ref{Ligatures},
@ref{Vocal music},
@ref{Ancient notation},
@ref{Proportional notation}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{Dots},
@rinternals{DotColumn}.
@endmorerefs

@knownissues
@c Deliberately duplicated in Durations and Rests.  -gp
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
@ifnothtml
1 024@sup{e} de pause (256@sup{e} de soupir)
@end ifnothtml
@ifhtml
@html
1 024<sup>e</sup> de pause (256<sup>e</sup> de soupir)
@end html
@end ifhtml
 à la maxime (valant huit pauses).


@node Tuplets
@subsection N-olets

@cindex n-olet
@cindex triolet

@funindex \tuplet

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

@example
\tuplet @var{fraction} @{ @var{expression_musicale} @}
@end example

@noindent
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.

@lilypond[quote,verbatim]
\relative {
  a'2 \tuplet 3/2 { b4 4 4 }
  c4 c \tuplet 3/2 { b4 a g }
}
@end lilypond

@cindex regroupement de n-olets
@cindex n-olet, regroupment

Dans le cas d'une succession de n-olets, saisir la commande
@code{\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 :

@lilypond[quote,verbatim]
\relative {
  g'2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e }
}
@end lilypond

@cindex crochet de n-olet, positionnement
@cindex n-olet, positionnement du crochet

@funindex \tupletUp
@funindex \tupletDown
@funindex \tupletNeutral

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

@lilypond[quote,verbatim]
\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 }
}
@end lilypond

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

@lilypond[quote,verbatim,relative=2]
\autoBeamOff
c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 |
@end lilypond

@noindent
Lorsque, dans une imbrication, les n-olets débutent au même instant, il
vous faut recourir à la commande @code{\tweak} -- @pxref{Tweak and
single}.

@cindex n-olet, liaison
@cindex triolet, liaison
@cindex liaison de n-olet
@funindex tuplet-slur

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

@lilypond[quote, verbatim]
\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
}
@end lilypond

@noindent
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é @code{bracket-visibility} comme
indiqué dans les exemples qui suivent.

@cindex n-olet, visibilité du crochet
@cindex n-olet, visibilité du nombre
@cindex visibilité des n-olets

De manière générale, aussi bien les objets @code{TupletBracket} que
@code{TupletNumber} peuvent se masquer comme indiqué dans
@ref{Visibility of objects} ; on peut néanmoins interférer sur la durée
des notes sans imprimer de crochet, comme indiqué au chapitre
@ref{Scaling durations}.

@predefined
@code{\tupletUp},
@code{\tupletDown},
@code{\tupletNeutral}.
@endpredefined

@snippets

@cindex n-olet, formatage
@cindex triolet, formatage
@cindex n-olets successifs
@funindex tupletSpannerDuration
@funindex \tupletSpan
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/entering-several-tuplets-using-only-one--tuplet-command.ly}

@cindex n-olet, modification du chiffre
@cindex chiffre de n-olet, modification
@funindex TupletNumber
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/changing-the-tuplet-number.ly}

@cindex n-olet, chiffrage inhabituel
@cindex chiffre de n-olet inhabituel
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/non-default-tuplet-numbers.ly}

@cindex n-olet, visibilité du crochet
@cindex visibilité, crochet de n-olet
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/controlling-tuplet-bracket-visibility.ly}

@cindex n-olet, crochet côté tête de note
@cindex crochet de n-olet, affichage
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/printing-tuplet-brackets-on-the-note-head-side.ly}

@cindex n-olet, ligature, saut de ligne
@cindex ligature, n-olet, saut de ligne
@funindex Forbid_line_break_engraver
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/permitting-line-breaks-within-beamed-tuplets.ly}

@morerefs
Glossaire musicologique :
@rglosnamed{triplet,triolet},
@rglosnamed{tuplet,n-olet},
@rglosnamed{polymetric,polymétrie}.

Manuel d'initiation :
@rlearningnamed{Tweaking methods, Méthodes de retouche}.

Manuel de notation :
@ref{Scaling durations},
@ref{Direction and placement},
@ref{Time administration},
@ref{Tweak and single},
@ref{Polymetric notation},
@ref{Visibility of objects}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Références des propriétés internes :
@rinternals{TupletBracket},
@rinternals{TupletNumber},
@rinternals{TimeScaledMusic}.
@endmorerefs


@node Scaling durations
@subsection Changement d'échelle des durées

@cindex @'echelonnement des durées
@cindex durées, échelonnement

La durée des notes, silences ou accords peut se modifier en lui
adjoignant une fraction @var{N/D}, donnant « @code{*}@var{N/D} » -- ou
« @code{*}@var{N} » si @var{D=1}. Ce facteur peut aussi s'exprimer à
l'aide d'une expression Scheme évaluant à un nombre ou un temps musical
comme @code{*#(ly:music-length @var{musique})}. Cette solution est
pratique pour échelonner à une durée de @samp{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 @code{*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é.

@lilypond[quote,verbatim]
\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
}
@end lilypond

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

@cindex @'echelonnement de musique
@cindex musique échelonnée

@funindex \scaleDurations

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
@emph{numérateur}/@emph{dénominateur}. Voici un exemple illustrant la
manière de comprimer ou étirer de la musique :

@lilypond[quote,verbatim]
\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
  }
}
@end lilypond

@noindent
Cette technique est tout à fait appropriée à la notation polymétrique --
@pxref{Polymetric notation}.

@morerefs
Manuel de notation :
@ref{Tuplets},
@ref{Polymetric notation},
@ref{Invisible rests}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.
@endmorerefs

@knownissues
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 rencontrera
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.


@node Ties
@subsection Liaisons de prolongation

@cindex liaison de prolongation
@cindex liaison de tenue
@cindex tenue, liaison

@funindex ~

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
@dfn{laissez vibrer} -- @pxref{Laissez vibrer} pour la commande
@code{\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 @code{\repeatTie} -- @pxref{Repeat tie,, Tenue et reprise}.

@warning{Une liaison de tenue ne doit pas être confondue avec une
liaison d'@strong{articulation} ou de @strong{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 (@code{~}) 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. Il est à noter que les liaisons de tenue savent
interpréter la « dernière hauteur explicite » des durées isolées :

@lilypond[quote,verbatim]
{ a'2~ 4~ 16 r r8 }
@end lilypond

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

@lilypond[quote,verbatim]
{ a'2~ 4~ 16 r r8 }
@end lilypond

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 :

@c KEEP LY
@lilypond[verbatim,quote]
\relative {
  r8 c'4.~ 4 r4 |
  r8^"non" c2~ 8 r4
}
@end lilypond

Lorsque l'on doit lier de nombreuses notes sur plusieurs mesures, il
devient plus facile d'avoir recours à la division automatique des notes
-- @pxref{Automatic note splitting}. Ce procédé divise automatiquement
les notes trop longues, et les lie par-delà les barres de mesure.

@cindex liaison de tenue et accord
@cindex accord et liaisons de tenue

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.

@lilypond[quote,verbatim]
\relative c' {
  <c e g>2~ 2 |
  <c e g>4~ <c e g c>
    <c~ e g~ b> <c e g b> |
}
@end lilypond

@anchor{Repeat tie}
@cindex liaison de tenue et répétition
@cindex répétition et liaison de tenue
@cindex reprise avec alternative et liaison de prolongation
@cindex liaison de prolongation et reprise avec alternative
@cindex alternative et liaison

@funindex \repeatTie

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 :

@lilypond[quote,verbatim]
\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 }
  }
}
@end lilypond

@anchor{Laissez vibrer}
@cindex laissez vibrer
@cindex liaison, laissez vibrer
@funindex \laissezVibrer

Les liaisons « Laissez vibrer » (@notation{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 :

@lilypond[quote,verbatim,fragment]
 <c' f' g'>1\laissezVibrer
@end lilypond

@cindex liaison de prolongation, positionnement

@funindex \tieUp
@funindex \tieDown
@funindex \tieNeutral
@funindex \tieDashPattern
@funindex \tieHalfDashed
@funindex \tieHalfSolid

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, @ref{Direction and placement}.

@cindex liaison de prolongation, apparence
@cindex liaison de prolongation, pointillés
@cindex liaison de prolongation, tirets

@funindex \tieDotted
@funindex \tieDashed
@funindex \tieSolid

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

@lilypond[quote, verbatim]
\relative c' {
  \tieDotted
  c2~ 2
  \tieDashed
  c2~ 2
  \tieHalfDashed
  c2~ 2
  \tieHalfSolid
  c2~ 2
  \tieSolid
  c2~ 2
}
@end lilypond

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

@lilypond[quote, verbatim]
\relative c' {
  \tieDashPattern 0.3 0.75
  c2~ 2
  \tieDashPattern 0.7 1.5
  c2~ 2
  \tieSolid
  c2~ 2
}
@end lilypond

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 @ref{Slurs}.

@cindex blanchiment (@emph{whiteout})
@cindex @emph{grob}, blanchiment
@cindex surimpression de @emph{grob}
@cindex @emph{grob}, surimpression

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

@lilypond[verbatim,quote,ragged-right]
\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
}
@end lilypond

@predefined
@code{\tieUp},
@code{\tieDown},
@code{\tieNeutral},
@code{\tieDotted},
@code{\tieDashed},
@code{\tieDashPattern},
@code{\tieHalfDashed},
@code{\tieHalfSolid},
@code{\tieSolid}.
@endpredefined

@snippets

@cindex tenue et arpeggio
@cindex arpeggio et tenue
@funindex tieWaitForNote
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/using-ties-with-arpeggios.ly}

@cindex tenue, gravure manuelle
@cindex gravure manuelle, liaison de tenue
@funindex TieColumn
@anchor{Engraving ties manually}
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/engraving-ties-manually.ly}

@morerefs
Glossaire musicologique :
@rglosnamed{tie,liaison de tenue},
@rglos{laissez vibrer}.

Manuel de notation :
@ref{Automatic note splitting},
@ref{Slurs}.

Morceaux choisis :
@rlsrnamed{Rhythms, Rythme},
@rlsrnamed{Expressive marks, Signes d'interprétation}.

Référence des propriétés internes :
@rinternals{LaissezVibrerTie},
@rinternals{LaissezVibrerTieColumn},
@rinternals{TieColumn},
@rinternals{Tie}.
@endmorerefs

@knownissues
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
@emph{legato}.


@node Writing rests
@section Écriture des silences

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


@node Rests
@subsection Silences

@cindex silence
@cindex durée d'un silence
@cindex double pause

@cindex @code{r} (@emph{rest}, silence)
@funindex \maxima
@funindex \longa
@funindex \breve

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

@c \time 16/1 is used to avoid spurious bar lines
@c and long tracts of empty measures
@lilypond[quote,verbatim]
\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
}
@end lilypond

@cindex silence multimesure
@cindex mesure de silence

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 @ref{Full measure rests}.

@cindex silence, spécification du positionnement vertical
@cindex note silencieuse
@funindex \rest

Pour spécifier explicitement la position verticale d'un silence, écrivez
une note suivie de @code{\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.

@lilypond[quote,verbatim]
\relative { a'4\rest d4\rest }
@end lilypond

@snippets
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/rest-styles.ly}

@morerefs
Glossaire musicologique :
@rglos{breve},
@rglos{longa},
@rglos{maxima}.

Manuel de notation :
@ref{Full measure rests}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{Rest}.
@endmorerefs

@knownissues
@c Deliberately duplicated in Durations and Rests.  -gp
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
@ifnothtml
1 024@sup{e} de pause (256@sup{e} de soupir)
@end ifnothtml
@ifhtml
@html
1 024<sup>e</sup> de pause (256<sup>e</sup> de soupir)
@end html
@end ifhtml
 à la maxime (équivalant à huit pauses).


@node Invisible rests
@subsection Silences invisibles

@cindex saut de durée
@cindex silence invisible
@cindex silence d'espacement

@cindex @code{s} (silence invisible)
@funindex \skip

Il existe deux formes de silence invisible -- que l'on pourrait appeler
« saut » : le @dfn{silence d'espacement} qui se note @code{s}, et la
commande @code{\skip}. Le silence d'espacement est une note qui ne
produit pas de résultat. 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.

@lilypond[verbatim,quote]
\relative c'' {
  c4 c s c |
  s2 c |
}
@end lilypond

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

@lilypond[quote,verbatim]
{ s1 s s }
@end lilypond

@cindex paroles, blanc
@cindex paroles, saut de note

La syntaxe @code{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 @code{\skip} pour sauter
un moment. La commande @code{\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 @code{\addlyrics} ou @code{\lyricsto}.

@lilypond[quote,verbatim]
<<
  {
    a'2 \skip2 a'2 a'2
  }
  \new Lyrics {
    \lyricmode {
      foo2 \skip 1 bla2
    }
  }
>>
@end lilypond

Lorsque l'argument de @code{\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 @code{\skip}, la durée explicitée en
argument n'affectera en rien la durée des notes qui suivent.

@lilypond[quote,verbatim]
<<
  {
    \repeat unfold 12 { a'4 }
  }
  {
    a'4 \skip 2 a' |
    a'4 \skip { a'8 a' a' a' } a' a' |
    s2 a'
  }
>>
@end lilypond

La commande @code{\skip} préserve les effets de la commande
@code{unfoldRepeats} qui la contiendrait, à l'inverse de la fonction
Scheme @code{skip-@/of-@/length}.

@lilypond[verbatim,quote]
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
@end lilypond

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

@lilypond[quote,verbatim]
% This is valid input, but does nothing
{ \skip 1 \skip1 \skip 1 }
@end lilypond

@morerefs
Manuel d'initiation :
@rlearningnamed{Visibility and color of objects,
Visibilité et couleur des objets}.

Manuel de notation :
@ref{Hidden notes},
@ref{Visibility of objects}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{SkipMusic}.
@endmorerefs

@knownissues
Dans la mesure où l'argument fourni à la commande @code{\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.


@node Full measure rests
@subsection Silences valant une mesure

@cindex mesure à compter
@cindex mesure entière de silence
@cindex silence multimesure
@cindex silence, mesure entière
@cindex une pause par mesure

@funindex \compressMMRests
@cindex @code{R} (mesure de silence)

Un silence valant une ou plusieurs mesures entières s'entre avec un
@code{R} majuscule. Sa durée s'indique comme pour n'importe quelle note,
y compris un éventuel multiplicateur comme indiqué dans @ref{Scaling
durations}.

@lilypond[quote,verbatim]
% Rest measures contracted to single measure
\compressMMRests {
  R1*4
  R1*24
  R1*4
  b'2^"Tutti" b'4 a'4
}
@end lilypond

@noindent
Cet exemple illustre aussi la manière de condenser une succession de
mesures vides, comme indiqué dans @ref{Compressing empty measures}.

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 :

@lilypond[quote,verbatim]
\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 |
}
@end lilypond

Un @code{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 :

@lilypond[quote,verbatim,fragment]
\time 4/4
R1 |
\time 6/4
R1*3/2 |
\time 8/4
R1*2 |
@end lilypond

@cindex texte indiquant le nombre de mesures vides
@cindex silence multimesure, ajout de texte
@cindex script et silence multimesure
@cindex silence multimesure, script
@cindex @'etiquette et silence multimesure
@cindex silence multimesure, étiquette
@cindex point d'orgue et silence multimesure
@cindex silence multimesure et point d'orgue

Vous pouvez aussi ajouter du texte à un silence multimesure en utilisant
la syntaxe @w{@var{note}-@code{markup}} (cf. @ref{Formatting text}).

@lilypond[quote,verbatim]
\compressMMRests {
  \time 3/4
  R2.*10^\markup { \italic "ad lib." }
}
@end lilypond

@funindex MultiMeasureRestScript
@funindex MultiMeasureRestText

@warning{C'est @code{MultiMeasureRestText} qui créera le texte, et
@code{MultiMeasureRestScript} pour les articulations, non
@code{TextScript} ou @code{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.}

@c KEEP LY
@lilypond[quote,verbatim,fragment]
% 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
@end lilypond

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

@predefined
@funindex \textLengthOn
@funindex \textLengthOff
@funindex \compressMMRests

@code{\textLengthOn},
@code{\textLengthOff},
@code{\compressMMRests}.
@endpredefined

@snippets

@cindex silence multimesure, longueur
@cindex longueur d'un silence multimesure
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/multi-measure-rest-length-control.ly}

@cindex silence multimesure, positionnement
@cindex positionnement des silences multimesure
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/positioning-multi-measure-rests.ly}

@cindex silence multimesure et @emph{markup}
@cindex @emph{markup} et silence multimesure
@funindex \textLengthOn
@funindex \textLengthOff
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/multi-measure-rest-markup.ly}

@morerefs
Glossaire musicologique :
@rglosnamed{multi-measure rest,silence multimesures}.

Manuel de notation :
@ref{Scaling durations},
@ref{Text scripts},
@ref{Compressing empty measures},
@ref{Durations},
@ref{Formatting text},
@ref{Text}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{MultiMeasureRest},
@rinternals{MultiMeasureRestNumber},
@rinternals{MultiMeasureRestScript},
@rinternals{MultiMeasureRestText}.
@endmorerefs

@knownissues
@cindex doigté et silence multimesure
@cindex silence multimesure et doigté

Vous ne pouvez pas utiliser de doigtés (par ex. @code{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).

@cindex condenser les silences
@cindex silences, condenser les

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

@cindex silences et collisions

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


@node Caesuras
@subsection Césures

@cindex cæsura
@cindex césure
@cindex indication de pause
@funindex \caesura

La commande @code{\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.

@lilypond[verbatim,quote]
\fixed c'' { c2. \caesura d4 }
@end lilypond

@noindent
En matière d'hymne et de chants liturgiques, @code{\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, @pxref{Breath marks}.

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

@lilypond[verbatim,quote]
\fixed c'' { c2. \caesura \fermata d4 }
@end lilypond

Par défaut, @code{\caesura} crée un objet @code{BreathingSign}.
L'élément @code{breath} de la propriété de contexte @code{caesuraType}
contrôle lequel des signes prédéfinis sera créé par @code{\caesura} --
@pxref{List of breath marks}.

@lilypond[verbatim,quote]
\fixed c'' {
  \set Score.caesuraType = #'((breath . curvedcaesura))
  c2. \caesura d4
}
@end lilypond

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

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

@lilypond[verbatim,quote]
\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
}
@end lilypond

@predefined
@code{\caesura}.
@endpredefined

@snippets
@cindex point d'orgue sur barre de mesure
@cindex barre de mesure et point d'orgue
@funindex \caesura
@funindex \fermata
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/positioning-opposing-fermatas-on-a-bar-line.ly}


@morerefs
Glossaire musicologique :
@rglosnamed{caesura, césure}.

Manuel de notation :
@ref{Phrase bar lines in hymn tunes},
@ref{Kievan bar lines},
@ref{Divisiones},
@ref{Breath marks}.

Morceaux choisis :
@rlsrnamed{Expressive marks, Signes d'interprétation}.

Référence des propriétés internes :
@rinternals{BreathingSign},
@rinternals{Caesura_engraver},
@rinternals{CaesuraEvent},
@rinternals{CaesuraScript},
@rinternalsnamed{Tunable context properties,
Propriétés de contexte ajustables}.
@endmorerefs


@need 1500
@node Displaying rhythms
@section Gravure du rythme


@node Time signature
@subsection Métrique

@cindex chiffrage de mesure
@cindex chiffre indicateur de mesure
@cindex métrique

@funindex \time

Le chiffre de mesure, ou métrique, indique le mètre d'une pièce : une
alternance régulière de temps forts et de temps faibles.

Une métrique simple s'obtient en donnant une fraction en argument à la
commande @code{\time}.

@lilypond[quote,verbatim,fragment]
\time 2/4
c''2

\time 3/4
c''2.
@end lilypond

@noindent
Lorsque la métrique est fractionnelle ou que son dénominateur dure plus
d'une ronde, il faut recourir à une syntaxe Scheme.

@lilypond[quote,verbatim,fragment]
\time #'(5/2 . 4)
c''2 r8

\override Timing.TimeSignature.denominator-style = #'note
\time #'(2 . 1/2)
f''\breve c''
@end lilypond

D'autres dénominateurs inusuels peuvent s'utiliser pour ajouter un point
d'augmentation à la note présentée ; toutefois, et afin de bénéficier
des fonctionnalités présentées de part et d'autre, l'utilisation d'une
fraction conventionnelle pour @code{\time} associée à une dérogation à
@code{TimeSignature@/.time-signature} est fortement recommandée en
pareil cas.

@lilypond[quote,verbatim,fragment]
\override Timing.TimeSignature.denominator-style = #'note
\once \override Timing.TimeSignature.time-signature = #'(2 . 8/3)
\time 6/8
c''8 8 8 8 8 8
@end lilypond

Les changements de métrique en cours de mesure sont abordés dans
@ref{Upbeats}.

@cindex métrique, visibilité

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 @ref{Visibility of objects}.

@lilypond[quote,verbatim]
\relative c'' {
  \time 2/4
  c2 c
  \break
  c c
  \break
  \time 4/4
  c c c c
}
@end lilypond

@cindex métrique, style
@cindex style de métrique
@cindex alla breve
@funindex \numericTimeSignature
@funindex \defaultTimeSignature

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

@lilypond[quote,verbatim]
\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
}
@end lilypond

Les métriques anciennes font l'objet d'un @ref{Mensural time signatures,
chapitre particulier}.


@subsubheading Métriques complexes
@c VO Complex time signatures

@cindex métrique composite
@cindex composite, métrique
@cindex complexe, métrique

@funindex \time

Une métrique composite se crée à l'aide de la fonction @code{\time}, la
métrique étant représentée par un expression Scheme. Les fractions sont
représentées par des paires @code{(@var{numérateur}
. @var{dénominateur})} et où le « dénominateur » est toujours un nombre.
Le « numérateur » est un nombre ou une liste de deux ou plusieurs
nombres. Une liste représente une concaténation.

@lilypond[quote,verbatim]
\fixed c' {
  \time #'((2 2 2) . 8)
  \repeat unfold 6 c8
  \repeat unfold 12 c16
}
@end lilypond

Une métrique constituée de l'alternance stricte de plusieurs fractions
s'obtient en plus élaborée s'obtient en regroupant ces fractions dans
une liste. Bien entendu, les ligatures automatiques s'ajusteront aux
différentes valeurs. Des barres de subdivision de mesures peuvent
s'ajouter pour permettre une meilleure lecture des rythmes complexes.

@lilypond[quote,verbatim]
\fixed c' {
  \time #'((1 . 4) (3 . 8))
  \repeat unfold 5 c8
  \repeat unfold 10 c16
}
@end lilypond

@lilypond[quote,verbatim]
\fixed c' {
  \time #'(((1 2 3) . 8) (3 . 4))
  \repeat unfold 12 c8
  \submeasureBarsOn
  \repeat unfold 12 c8
}
@end lilypond


@subsubheading Propriétés de la métrique
@c VO Metric properties

@cindex métrique par défaut
@cindex ligature et métrique
@cindex métrique et ligature

En plus de déterminer la métrique qui sera imprimée, la commande
@code{\time} réglera aussi les valeurs par défaut des propriétés de
contexte @code{beatBase}, @code{beatStructure},
@code{submeasureStructure} et @code{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
@file{scm/time-signature-settings.scm}.

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

@lilypond[quote,verbatim]
\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 } |
    }
  }
}
@end lilypond

Les valeurs par défaut de toutes ces variables associées à la métrique
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
@code{\time} de la valeur de métrique correspondante :

@lilypond[quote,verbatim]
\score {
  \new Staff {
    \relative c' {
      \overrideTimeSignatureSettings
        8/4        % timeSignature
        #1/4       % beatBase
        3,1        % beatStructure
        #'((2 2) (3 1)) % beatStructure, measureStructure
        #'()       % beamExceptions
      \time 8/4
      \repeat unfold 16 { c8 } |
    }
  }
}
@end lilypond

@funindex \overrideTimeSignatureSettings

@code{\overrideTimeSignatureSettings} prend quatre arguments :

@enumerate
@item
@code{@var{timeSignature}}, une fraction indiquant la métrique pour
laquelle ces valeurs doivent s'appliquer,

@item
@code{@var{beatBase}}, durée musicale correspondant à une unité de
@code{beatStructure},

@item
@code{@var{structure}}, une liste Scheme décrivant la structure de
cette pulsation, en unité de @code{beatBase} -- autrement dit
@code{beatStructure} -- optionnellement couplée avec des listes
indiquant les subdivisions de la mesure -- c'est à dire
@code{submeasureStructure}.

@item
@code{@var{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 @ref{Setting automatic beam behavior}.
@end enumerate

@cindex métrique, retour au propriétés par défaut
@cindex retour au propriétés par défaut de la métrique
@funindex \revertTimeSignatureSettings

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

@lilypond[quote,verbatim]
\score {
  \relative {
    \repeat unfold 8 { c'8 } |
    \overrideTimeSignatureSettings
      4/4        % timeSignature
      #1/4       % beatBase
      3,1        % beatStructure
      #'()       % beamExceptions
    \time 4/4
    \repeat unfold 8 { c8 } |
    \revertTimeSignatureSettings 4/4
    \time 4/4
    \repeat unfold 8 { c8 } |
  }
}
@end lilypond

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 --
@pxref{Polymetric notation}.

@lilypond[quote, verbatim]
\score {
  \new StaffGroup <<
     \new Staff {
        \overrideTimeSignatureSettings
          4/4        % timeSignature
          #1/4       % beatBase
          3,1        % beatStructure
          #'()       % beamExceptions
        \time 4/4
        \repeat unfold 8 {c''8}
     }
     \new Staff {
        \overrideTimeSignatureSettings
          4/4        % timeSignature
          #1/4       % beatBase
          1,3        % beatStructure
          #'()       % beamExceptions
        \time 4/4
        \repeat unfold 8 {c''8}
     }
  >>
  \layout {
    \enablePerStaffTiming
  }
}
@end lilypond

Une autre méthode de modification de les propriétés liées à la métrique,
et qui évite sa réimpression au moment du changement, est indiquée à la
rubrique @ref{Setting automatic beam behavior}.

@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
@endpredefined

@snippets

@cindex métrique, numérateur seulement
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly}

@morerefs
Glossaire musicologique :
@rglosnamed{time signature,métrique}.

Manuel de notation :
@ref{Setting automatic beam behavior},
@ref{Time administration},
@ref{Mensural time signatures},
@ref{Polymetric notation}.

Installed Files:
@file{scm/time-signature-settings.scm}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Références des propriétés internes :
@rinternals{TimeSignature},
@rinternals{Timing_translator}.
@endmorerefs

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

@lilypond[quote,verbatim]
\new MensuralStaff \with { \numericTimeSignature } {
  c'1
}
@end lilypond

@noindent
soit de recourir explicitement à un @code{\override} :

@lilypond[quote,verbatim]
\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'
}
@end lilypond

@cindex reprise et métrique
@cindex métrique et reprise

Lorsqu'il y a plus d'une portée et qu'un changement de métrique
intervient lors d'une première fois, mais pas dans la suivante, il est
nécessaire d'aider LilyPond à synchroniser cette situation en ajoutant
explicitement une indication de métrique dans la seconde fois tout en
la rendant invisible.

@lilypond[quote,verbatim]
music = {
  \repeat volta 2 {
    \time 2/4 c'2 |
    \alternative {
      \volta 1 {
        \time 3/8 d'4. |
        \time 2/4 c'2 | }
      \volta 2 {
        \once \omit Staff.TimeSignature
        \time 2/4 c'2 |
      }
    }
  }
  \time 3/8 c'4. |
}

<<
  \new Staff \music
  \new Staff \music
>>
@end lilypond


@node Metronome marks
@subsection Indication métronomique

@cindex tempo
@cindex battements par minute
@cindex métronome, indication

@funindex \tempo

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

@lilypond[verbatim,quote]
\relative {
  \tempo 4 = 120
  c'2 d
  e4. d8 c2
}
@end lilypond

La vitesse donnée n'est pas forcément un entier, mais elle doit être un
nombre exact. Le formateur par défaut arrondi au quart le plus proche ;
la propriété de contexte @code{tempoCountPrecision} permet de le
contrôler.

@lilypond[verbatim,quote]
tempoI = 100
\fixed c' {
  \tempo 4 = #(* tempoI 2/3)  % 66,66...
  e2 e4 d
  \once \set Timing.tempoCountPrecision = #1/1000000
  \tempo 4 = #(* tempoI 8/11)  % 72.72...
  c2 g2
  g4 e2 f4
}
@end lilypond

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 :

@lilypond[verbatim,quote]
\relative {
  \tempo 4 = 40 - 46
  c'4. e8 a4 g
  b,2 d4 r
}
@end lilypond

Vous pouvez préférer une indication textuelle :

@lilypond[verbatim,quote]
\relative {
  \tempo "Allegretto"
    c''4 e d c
    b4. a16 b c4 r4
}
@end lilypond

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

@lilypond[verbatim,quote]
\relative {
  \tempo "Allegro" 4 = 160
  g'4 c d e
  d4 b g2
}
@end lilypond

En matière d'indication textuelle, vous pouvez utiliser n'importe quel
objet de type @emph{markup}, comme ici :

@lilypond[verbatim,quote]
\relative {
  \tempo \markup { \italic Faster } 4 = 132
  a'8-. r8 b-. r gis-. r a-. r
}
@end lilypond

La commande de @emph{markup} @code{\rhythm} a ceci de particulier
qu'elle permet d'imprimer un motif rythmique -- voir l'annexe
@ref{Markup for music and musical symbols}.

@lilypond[verbatim,quote]
\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
}
@end lilypond

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

@lilypond[verbatim,quote]
\relative {
  \tempo "" 8 = 96
  d''4 g e c
}
@end lilypond

@funindex \markLengthOn
@funindex \markLengthOff

Dans le cas d'une partie où l'instrumentiste a de longs moments de
silence (@pxref{Full measure rests}), les indications de tempo, marques
de repère et indications textuelles peuvent être fort rapprochées l'une
de l'autre. L'instruction @code{\markLengthOn} permet de préserver
suffisamment d'espace horizontal (et vertical) de telle sorte que ces
indications ne se chevauchent ; l'instruction @code{\markLengthOff}
restaure le comportement par défaut qui ignore les indications de tempo
dans les calculs d'espacement horizontal.

@lilypond[verbatim,quote]
\compressMMRests {
  \markLengthOn
  \tempo "Molto vivace"
  R1*12
  \mark \default \tempo "Allegretto ma non troppo"
  R1*16
  \mark \default \tempo "Tranquillo"
  R1*2
  \mark \default \tempo "Tempo I"
  R1 R1 \break

  \markLengthOff
  \tempo "Molto vivace"
  R1*12
  \mark \default \tempo "Allegretto ma non troppo"
  R1*16
  \mark \default \tempo "Tranquillo"
  R1*2
  \mark \default \tempo "Tempo I"
  R1 R1
}
@end lilypond

@snippets

@cindex tempo sous la portée
@cindex repère, sous la portée
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly}

@c perhaps also an example of how to move it horizontally?

@cindex tempo, changement masqué
@cindex changement de tempo sans indication sur la partition
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/changing-the-tempo-without-a-metronome-mark.ly}

@cindex tempo en @emph{markup}
@cindex @emph{markup}, tempo
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/creating-metronome-marks-in-markup-mode.ly}

Pour de plus amples détails, veuillez consulter
@ref{Formatting text}.

@morerefs
Glossaire musicologique :
@rglosnamed{metronome,métronome},
@rglosnamed{metronomic indication,indication métronomique},
@rglosnamed{tempo indication,indication du tempo},
@rglosnamed{metronome mark,marque de métronome}.

Manuel de notation :
@ref{Creating MIDI output},
@ref{Formatting text}.

Morceaux choisis :
@rlsrnamed{Staff notation,Notation sur la portée}.

Référence des propriétés internes :
@rinternals{MetronomeMark}.
@endmorerefs


@node Upbeats
@subsection Levées

@cindex anacrouse
@cindex levée
@cindex mesure incomplète
@cindex incomplète, mesure
@cindex métrique en cours de mesure

@funindex \partial

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

@example
\partial @var{durée}
@end example

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

@lilypond[quote,verbatim]
\relative {
  \time 3/4
  \partial 4.
  r4 e'8 | a4 c8 b c4 |
}
@end lilypond

@cindex position dans la mesure

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

@lilypond[quote,verbatim]
\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 |
}
@end lilypond

La commande @code{\partial} est @strong{obligatoire} lorsque la métrique
change en cours de mesure, mais peut aussi s'utiliser isolément.

@lilypond[quote,verbatim]
\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] |
}
@end lilypond

Pour des raisons techniques, l'argument fourni à @code{\partial} ne
saurait être une durée nulle (comme @code{\partial 4*0}).

@morerefs
Glossaire musicologique :
@rglosnamed{anacrusis,anacrouse}.

Manuel de notation :
@ref{Grace notes}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Références des propriétés internes :
@rinternals{Timing_translator}.
@endmorerefs


@node Unmetered music
@subsection Musique sans métrique

@cindex cadence
@cindex barre de mesure, suppression
@cindex numérotation des mesures, suppression
@cindex cadence et ligatures
@cindex ligature et cadence
@cindex cadence et altération
@cindex altération et cadence
@cindex cadence et barres de mesure
@cindex barre de mesure et cadence
@cindex cadence et numéro de mesure
@cindex numéro de mesure et cadence
@cindex musique non mesurée

@funindex \cadenzaOn
@funindex \cadenzaOff

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 @code{\cadenzaOn} et
@code{\cadenzaOff} ne tient pas compte de la longueur de la mesure.

@lilypond[verbatim,quote]
\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
}
@end lilypond

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

@lilypond[verbatim,quote]
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
}
@end lilypond

L'instruction @code{\cadenzaOn} désactive les ligatures automatiques ;
elles seront réactivées après un @code{\cadenzaOff}. Toutes les
ligatures devront donc être indiquées de manière explicite tout au long
de la cadence -- @pxref{Manual beams}).

@lilypond[verbatim,quote]
\relative {
  \repeat unfold 8 { c''8 }
  \cadenzaOn
  cis8 c c c c
  \bar"|"
  c8 c c
  \cadenzaOff
  \repeat unfold 8 { c8 }
}
@end lilypond

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
@code{Voice}. Pour éviter ce désagrément, transférez le
@code{Timing_translator} du contexte @code{Score} au contexte
@code{Staff}, comme indiqué au chapitre @ref{Polymetric notation}.

@cindex cadence et saut de ligne
@cindex cadence et saut de page
@cindex musique non mesurée et saut de ligne
@cindex musique non mesurée et saut de page
@cindex saut de ligne et cadences
@cindex saut de page et cadences
@cindex saut de ligne et musique non mesurée
@cindex saut de page et musique non mesurée

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 @code{\allowBreak} ou d'envisager d'autres solutions --
@pxref{Line breaking}.

@lilypond[verbatim,quote]
\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
}
@end lilypond

@predefined
@code{\cadenzaOn},
@code{\cadenzaOff}.
@endpredefined

@morerefs
Glossaire musicologique :
@rglosnamed{cadenza,cadence}.

Manuel de notation :
@ref{Accidentals},
@ref{Manual beams},
@ref{Polymetric notation},
@ref{Visibility of objects}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.
@endmorerefs


@node Polymetric notation
@subsection Notation polymétrique

@c This section necessarily uses \set
@c This is acceptable  -td

@cindex métrique double
@cindex métrique composite
@cindex composite, métrique
@cindex métrique polymétrique
@cindex polymétrie

@funindex timeSignature
@funindex \polymetric
@funindex \scaleDurations
@funindex \tuplet

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.


@subsubheading Métriques différentes et mesures d'égale longueur
@c VO Different time signatures with equal-length measures

Il suffit, pour obtenir cette forme de notation, d'utiliser la commande
@code{\polymetric \time} pour définir la métrique locale, et
@code{\scaleDurations} pour que la longueur de mesure corresponde à
@code{Timing@/.measureLength}. Ceci réglera le même jeu de propriétés
que la commande @code{\time}, à l'exception de @code{measureLength}.

Désactiver les propriétés locales et retrouver les valeurs du
contexte @code{Timing} s'obtient par un @code{\polymetric \default}.

@cindex ligature et musique polymétrique
@cindex polymétrie et ligature

L'exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et 10/8,
et 3/4 est choisi comme longueur de référence des mesures.

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.

@lilypond[quote,verbatim]
\relative <<
  \new Staff {
    \time 3/4
    c'4 c c |
    c4 c c |
  }
  \new Staff {
    \scaleDurations 2/3 {
      \context Staff \polymetric \time 9/8
      \repeat unfold 3 { c8 c c }
      \repeat unfold 3 { c4 c8 }
    }
  }
  \new Staff {
    \scaleDurations 3/5 {
      \context Staff \polymetric \time 3,3,2,2 10/8
      \repeat unfold 2 { c8 c c }
      \repeat unfold 2 { c8 c } |
      c4. c \tuplet 3/2 { c8 c c } c4
    }
  }
>>
@end lilypond


@subsubheading Métriques différentes et mesures de longueur inégale
@c VO Different time signatures with unequal-length measures

Il arrive aussi que chaque portée ait sa propre métrique. Vous y
parviendrez en insérant l'instruction @code{\enablePerStaffTiming} dans
le bloc @code{\layout}.

@lilypond[quote,verbatim]
\layout {
  \enablePerStaffTiming
}

% 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 |
  }
>>
@end lilypond

Lorsqu'un seul morceau est polymétrique, l'instruction
@code{\enablePerStaffTiming} sera placée dans la section @code{\layout}
du bloc @code{\score} considéré.

@lilypond[verbatim,quote]
\score {
  <<
    \new Staff { c''1 1 }
    \new Staff { c'2 d' g'2~ 2 }
  >>
}

\score {
  \layout {
    \enablePerStaffTiming
  }
  <<
    \new Staff { \time 4/4 c''1 1 }
    \new Staff { \time 2/4 c'2 d' g'2~ 2 }
  >>
}
@end lilypond

Dans le cadre d'une pièce polymétrique, toutes les portées doivent
comporter une instruction @code{\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 @code{Dynamics},
puisque le placement de certains bandeaux comme les soufflets est
synchronisé sur les barres de mesure.

@c no verbatim on purpose
@lilypond[quote]
\layout {
  \enablePerStaffTiming
}

upper = { c'1 | d' | f' }
lower = { c'4 4 8 8 | 4 2 | 2 4 | 4 4 4 }
dynamics = { s2. s2.\p\< s\> s\! }

<<
 \new Staff { \time 4/4 \upper }
  \new PianoStaff <<
    \new Staff { \time 3/4 \lower }
    \new Dynamics { <>-"No \\time" \dynamics }
    \new Staff { \time 3/4 \lower }
    \new Dynamics { <>-"With \\time" \time 3/4 \dynamics }
    \new Staff { \time 3/4 \lower }
  >>
>>
@end lilypond

Cette fonctionnalité est opérationnelle dans une sortie MIDI dès lors
qu'elle est libellée dans le bloc @code{\midi}.

@quotation
@verbatim
\layout {
  \enablePerStaffTiming
}

\midi {
  \enablePerStaffTiming
}
@end verbatim
@end quotation


@morerefs
Glossaire musicologique :
@rglosnamed{polymetric,polymétrie},
@rglosnamed{polymetric time signature,métrique composite},
@rglosnamed{meter,métrique}.

Manuel de notation :
@ref{Scaling durations},
@ref{Automatic beams},
@ref{Manual beams},
@ref{Time signature}.

Morceaux choisis :
@rlsrnamed{Rhythms, Rythme}.

Références des propriétés internes :
@rinternals{TimeSignature},
@rinternals{Timing_translator},
@rinternals{Staff}.
@endmorerefs

@knownissues
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.


@node Automatic note splitting
@subsection Découpage automatique des notes

@cindex note, division
@cindex division de note
@cindex silence, division
@cindex division de silence

@funindex Note_heads_engraver
@funindex Completion_heads_engraver
@funindex Completion_rest_engraver

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

@lilypond[quote,verbatim]
\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
}
@end lilypond

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é @code{completionUnit} détermine la durée de référence pour
diviser les notes.

@lilypond[quote,verbatim]
\new Voice \with {
  \remove Note_heads_engraver
  \consists Completion_heads_engraver
} \relative {
  \time 9/8 g\breve. d''4. \bar "||"
  \set completionUnit = #3/8
  g\breve. d4.
}
@end lilypond

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 notes saisies.

@lilypond[quote,verbatim]
\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
}
@end lilypond

@morerefs
Glossaire musicologique :
@rglosnamed{tie,liaison de tenue}.

Manuel d'initiation :
@rlearningnamed{Adding and removing engravers,
Ajout et suppression de graveurs},
@rlearningnamed{Engravers explained, Tout savoir sur les graveurs}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Références des propriétés internes :
@rinternals{Note_heads_engraver},
@rinternals{Completion_heads_engraver},
@rinternals{Rest_engraver},
@rinternals{Completion_rest_engraver},
@rinternals{Forbid_line_break_engraver}.
@endmorerefs

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


@node Showing melody rhythms
@subsection Gravure de lignes rythmiques

@cindex mélodie, affichage du rythme seul
@cindex rythmique d'une mélodie

Au moyen d'une portée rythmique -- @emph{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.

@lilypond[quote,verbatim]
<<
  \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
    }
  }
>>
@end lilypond

@cindex guitare, grille d'accords
@cindex coup de gratte, indication
@cindex guitare, coup de gratte

@funindex Pitch_squash_engraver
@funindex \improvisationOn
@funindex \improvisationOff

L'utilisation combinée du @code{Pitch_squash_engraver} et de
@code{\improvisationOn} permet d'afficher la structure rythmique d'une
grille d'accords :

@lilypond[quote,verbatim]
<<
  \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
  }
>>
@end lilypond

@funindex \reduceChords

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

@lilypond[quote,verbatim]
\new RhythmicStaff {
  \time 4/4
  \reduceChords {
    <c>2
    <e>2
    <c e g>2
    <c e g>4
    <c e g>4
  }
}
@end lilypond

@predefined
@code{\improvisationOn},
@code{\improvisationOff}.
@endpredefined

@snippets
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/guitar-strum-rhythms.ly}

@morerefs
Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{RhythmicStaff},
@rinternals{Pitch_squash_engraver}.
@endmorerefs


@need 1500
@node Beams
@section Barres de ligature

@cindex lien de croche
@cindex ligature

LilyPond dispose de deux façons d'indiquer des ligatures, l'une
automatisée, l'autre par saisie manuelle, les deux pouvant se combiner.


@node Automatic beams
@subsection Barres de ligature automatiques

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

@cindex ligature manuelle
@cindex ligature, définition de règles
@cindex ligature, personnalisation

@lilypond[quote,verbatim]
\relative c'' {
  \time 2/4 c8 c c c
  \time 6/8 c8 c c c8. c16 c8
}
@end lilypond

Lorsque ce comportement automatisé n'est pas satisfaisant, on peut
définir des groupements manuellement -- @pxref{Manual beams}. Dans le
cas où le groupe de notes en question contient un silence, il est
@strong{impératif} d'indiquer explicitement les début et fin de la
ligature.

@funindex \autoBeamOn
@funindex \autoBeamOff

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

@lilypond[quote,verbatim]
\relative c' {
  c4 c8 c8. c16 c8. c16 c8
  \autoBeamOff
  c4 c8 c8. c16 c8.
  \autoBeamOn
  c16 c8
}
@end lilypond

@cindex mélisme et ligature
@cindex ligature et mélisme

@warning{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 @code{@bs{}autoBeamOff}, et indiquées manuellement.@*
L'utilisation conjointe de @code{@bs{}partCombine} et de
@code{@bs{}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 ; @pxref{Setting automatic beam behavior}.

@predefined
@code{\autoBeamOff},
@code{\autoBeamOn}.
@endpredefined

@snippets

@anchor{Beams across line breaks}
@cindex saut de ligne et ligature
@cindex ligature et saut de ligne
@funindex breakable
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/beams-across-line-breaks.ly}

@cindex ligature coudée, personnalisation
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/changing-beam-knee-gap.ly}

@cindex ligature, @code{\partCombine} et @code{\autoBeamOff}
@cindex voix, @code{\autoBeamOff} et @code{\partCombine}
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/partcombine-and--autobeamoff.ly}

@morerefs
Manuel de notation :
@ref{Manual beams},
@ref{Setting automatic beam behavior}.

Fichiers d'initialisation :
@file{scm/auto-beam.scm}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

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

@knownissues
Les propriétés d'une ligature sont déterminées @strong{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
@strong{prochaine} ligature.


@node Setting automatic beam behavior
@subsection Définition des règles de ligature automatique

@cindex ligature et paroles
@cindex paroles et ligature

@funindex autoBeaming
@funindex beatBase
@funindex beamExceptions
@funindex beatStructure
@funindex measureLength
@funindex \time
@funindex \set

Lorsque la fonction de ligature automatique est active, le
positionnement des ligatures dépend des trois propriétés
@code{beatBase}, @code{beatStructure} et @code{beamExceptions}. Les
valeurs par défaut de ces variables peuvent s'adapter, comme indiqué
ci-après, ou bien carrément être modifiées --@pxref{Time signature}.

Dès lors qu'une règle affectant @code{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 @code{beatBase} et
@code{beatStructure}.

En l'absence de règle affectant @code{beamExceptions} pour la métrique
en vigueur, les ligatures seront déterminées par les réglages conjoints
de @code{beatBase} et @code{beatStructure}.


@subsubheading Ligature basée sur @code{beatBase} et @code{beatStructure}
@c VO Beaming based on @code{beatBase} and @code{beatStructure}

@code{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 @code{beatBase} et
@code{beatStructure}. Les règles de @code{beamExceptions} se désactivent
par un

@example
\set Timing.beamExceptions = #'()
@end example

Lorsque @code{beamExceptions} est défini à @code{#'()}, que ce soit
explicitement ou en raison de l'absence de règles par défaut de
@code{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 @code{beatBase} et @code{beatStructure}. La propriété
@code{beatStructure} est constituée d'une liste d'éléments Scheme qui
définit la longueur de chaque pulsation, prenant @code{beatBase} comme
unité. L'unité de base (le @code{beatBase}) correspond par défaut à
l'inverse du dénominateur de la métrique. D'autre part, chaque unité de
@code{beatBase} constitue par défaut une seule pulsation.

Notez bien la présence de valeurs distinctes de @code{beatStructure} et
@code{beatBase} 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 @code{\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.

@lilypond[quote,verbatim]
\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 |
}
@end lilypond

@lilypond[quote,verbatim]
\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.beatBase = #1/4
  \set Timing.beatStructure = 1,1,1,1
  a8^"changed" a a a a a a a
}
@end lilypond

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.

@lilypond[quote, verbatim]
\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
      }
    }
  >>
}
@end lilypond

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 @code{Staff} :

@lilypond[quote,verbatim,fragment]
\time 7/8
% rhythm 3-1-1-2
% Change applied to Voice by default --  does not work correctly
% Because of auto-generated voices, all beating will
% be at beatBase #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} >>
@end lilypond

Vous pouvez ajuster la valeur de @code{beatBase} afin d'obtenir des
ligatures selon vos besoin. Notez cependant que la valeur de
@code{beatStructure} devra être en corrélation avec cette nouvelle
valeur de @code{beatBase}.

@lilypond[quote,verbatim,fragment]
\time 5/8
% No need to disable beamExceptions
% as they are not defined for 5/8 time
\set Timing.beatBase = #1/16
\set Timing.beatStructure = 7,3
\repeat unfold 10 { a'16 }
@end lilypond

La pulsation -- @emph{beatBase} en anglais -- découle directement de
la métrique telle que définie par la commande @code{\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
@file{scm/time-signature-settings.scm}. Pour savoir comment jouer avec
la valeur de @code{beatBase} selon la métrique, reportez vous au
chapitre @ref{Time signature}.

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


@subsubheading Ligature basée sur @code{beamExceptions}
@c VO Beaming based on beamExceptions

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

@lilypond[quote,verbatim]
\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 } |
}
@end lilypond

@warning{La propriété @code{beamExceptions} doit répertorier absolument
@strong{toutes} les exceptions. Il n'est en effet pas possible d'en
ajouter, modifier ou supprimer @emph{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
@code{Timing@/.beatBase}, @code{Timing@/.beatStructure} et
@code{Timing@/.beamExceptions} sont réinitialisées. Il suffit donc, pour
revenir aux règles de ligature par défaut d'un contexte @code{Timing},
de spécifier à nouveau la métrique.

@lilypond[quote,verbatim]
\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 }
}
@end lilypond

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

De nombreuses règles de ligature automatique comportent une clé
@code{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 @code{beamExceptions} lors d'un aménagement de la
pulsation -- l'élément @code{beatStructure} -- empêchera l'application
de cette dérogation.

@lilypond[quote,verbatim,fragment]
\time 4/4
\set Timing.beatBase = #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}
@end lilypond

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 à
@code{beamExceptions}.

@lilypond[quote,verbatim,fragment]
\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 beatBase and beatStructure
\set Timing.beamExceptions = #'()
\repeat unfold 6 {a'8}
@end lilypond

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
@code{beamHalfMeasure}, qui d'ailleurs ne sera effective que lorsque le
numérateur de la métrique est un 3.

@lilypond[quote,verbatim]
\relative a' {
  \time 3/4
  r4. a8 a a |
  \set Timing.beamHalfMeasure = ##f
  r4. a8 a a |
}
@end lilypond


@subsubheading Principes de la ligature automatique
@c VO How automatic beaming works

Lorsqu'elle est activée, la gestion automatisée des ligatures est
directement liée aux propriétés @code{beatBase}, @code{beatStructure}
et @code{beamExceptions}.

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

@itemize
@item
une ligature explicite -- indiquée par @code{[@dots{}]} -- sera toujours
respectée ; sinon

@item
si une règle explicite de terminaison a été définie grâce à la propriété
@code{beamExceptions} pour un type de ligature spécifique dans la
métrique en cours, c'est elle qui s'appliquera ; sinon

@item
si une règle explicite de terminaison a été définie grâce à la propriété
@code{beamExceptions} pour un type de ligature plus large, c'est elle
qui s'appliquera ; sinon

@item
utilisation des valeurs de @code{beatBase} et @code{beatStructure}
pour regrouper les notes par des ligatures.

@end itemize

Le @emph{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
@file{scm/time-@/signature-@/settings.scm}.

@snippets

@cindex ligature, subdivision
@cindex subdivision de ligature
@cindex subdividing beams
@funindex subdivideBeams
@funindex beatBase
@funindex beatStructure
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/subdividing-beams.ly}

@cindex sous-ligature, orientation
@funindex strictBeatBeaming
@cindex ligature, indication des subdivisions
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/strict-beat-beaming.ly}

@cindex groupement de mesures
@cindex groupement de pulsations
@cindex pulsation, regroupement
@cindex mesure, subdivision
@funindex Measure_grouping_engraver
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/conducting-signs,-measure-grouping-signs.ly}

@cindex ligature en fin de partition
@cindex ligature en fin de voix polyphonique
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/beam-endings-in-score-context.ly}

@morerefs
Manuel de notation :
@ref{Time signature}.

Fichiers d'initialisation :
@file{scm/time-signature-settings.scm}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{Auto_beam_engraver},
@rinternals{Beam},
@rinternals{BeamForbidEvent},
@rinternals{beam-interface}.
@endmorerefs

@knownissues
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 @w{@code{<< @dots{} \\ @dots{} >>}}, 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 @code{Timing} est par défaut affecté au contexte
@code{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.

@lilypond[quote,verbatim]
<<
  \new Staff {
    \time 3/4
    \set Timing.beatBase = #1/8
    \set Timing.beatStructure = 1,5
    \set Timing.beamExceptions = #'()
    \repeat unfold 6 { a'8 }
  }
  \new Staff {
    \repeat unfold 6 { a'8 }
  }
>>
@end lilypond

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 @ref{Time signature}.

@lilypond[quote,verbatim]
<<
  \new Staff {
    \overrideTimeSignatureSettings
      3/4               % timeSignature
      #1/8              % beatBase
      1,5               % beatStructure
      #'()		% beamExceptions
    \time 3/4
    \repeat unfold 6 { a'8 }
  }
  \new Staff {
    \time 3/4
    \repeat unfold 6 { a'8 }
  }
>>
@end lilypond


@node Manual beams
@subsection Barres de ligature manuelles

@cindex groupement de note manuel
@cindex ligature manuelle

@funindex ]
@funindex [

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
@code{[} et @code{]}.

@lilypond[quote,relative=1,verbatim]
r4 r8[ g' a r] r8 g[ | a] r
@end lilypond

@cindex ligature manuelle, orientation
@cindex ligature manuelle et note d'ornement
@cindex ornement et ligature

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

@lilypond[quote,verbatim]
\relative { c''8^[ d e] c,_[ d e f g] }
@end lilypond

@funindex \noBeam

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

@lilypond[quote,verbatim]
\relative {
  \time 2/4
  c''8 c\noBeam c c
}
@end lilypond

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.

@lilypond[quote,verbatim]
\relative {
  c''4 d8[
  \grace { e32 d c d }
  e8] e[ e
  \grace { f16 }
  e8 e]
}
@end lilypond

@funindex stemLeftBeamCount
@funindex stemRightBeamCount

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 @code{stemLeftBeamCount} et
@code{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 @code{fa} n'a de ligature supplémentaire
que sur sa gauche ; autrement dit, c'est la ligature à la croche qui est
importante.

@lilypond[quote,verbatim]
\relative a' {
  a8[ r16 f g a]
  a8[ r16
  \set stemLeftBeamCount = 2
  \set stemRightBeamCount = 1
  f16
  \set stemLeftBeamCount = 1
  g16 a]
}
@end lilypond

@predefined
@code{\noBeam}.
@endpredefined

@snippets

@cindex crochet rectiligne
@cindex rectiligne, crochet
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/beam-nibs.ly}

@cindex crochet plat
@cindex plat, crochet
@cindex crochet rectiligne
@cindex rectiligne, crochet
@cindex crochets empilés
@cindex empilés, crochets
@funindex \flagStyleStacked
@funindex \flagStyleDefault
@lilypondfile[verbatim,ragged-right,texidoc,doctitle]
{snippets/using-alternative-flag-styles.ly}

@morerefs
Manuel de notation :
@ref{Direction and placement},
@ref{Grace notes}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{Beam},
@rinternals{BeamEvent},
@rinternals{Beam_engraver},
@rinternals{beam-interface},
@rinternals{Stem_engraver}.
@endmorerefs


@node Feathered beams
@subsection Liens de croches en soufflet

@cindex soufflet, ligature
@cindex ligature en soufflet

@funindex \featherDurations
@funindex grow-direction

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 @code{[}
et @code{]} ; son orientation est déterminée par la propriété
@code{grow-direction} de l'objet @code{Beam}.

Lorsque la sortie MIDI doit refléter les @emph{ritardando} ou
@emph{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
@code{\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.

@lilypond[verbatim,quote]
\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] }
}
@end lilypond

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

@predefined
@code{\featherDurations}.
@endpredefined

@morerefs
Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.
@endmorerefs

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


@node Slashed beams
@subsection Ligatures barrées

@cindex ligature barrée
@cindex barrée, ligature

Les ligatures peuvent apparaître barrées à l'aide de la procédure de
stencil spécifique @code{beam::slashed-stencil}. La barre peut
s'imprimer sur la gauche ou sur la droite de la ligature, et peut
s'ajuster grâce aux sous-propriétés @code{details}
@code{over-beam-height}, @code{slash-slope}, @code{slash-side},
@code{slash-stem-fraction}, @code{slash-thickness} et
@code{slash-X-positions}. Il est à noter que ces sous-propriétés
s'accommodent entre elles afin d'obtenir un meilleur rendu ; autrement
dit, modifier l'une peut avoir un impact sur les autres.

@lilypond[verbatim,quote]
mus = \repeat unfold 4 a16

{
  \override TextScript.rotation = #'(15 1 0)
  \override Beam.stencil = #beam::slashed-stencil
  \mus
  <>^"slash-side" %% default: LEFT
  \once \override Beam.details.slash-side = #RIGHT
  \mus
  <>^"over-beam-height" %% default: 0.75
  \once \override Beam.details.over-beam-height = #1.5
  \mus
  <>^"slash-slope" %% default: 2
  \once \override Beam.details.slash-slope = #1.0
  \mus
  <>^"slash-stem-fraction" %% default: 0.3
  \once \override Beam.details.slash-stem-fraction = #0.6
  \mus
  <>^"slash-thickness" %% default: 0.1
  \once \override Beam.details.slash-thickness = #0.2
  \mus
  <>^"slash-X-positions" %% default: (-0.5 . 1)
  \once \override Beam.details.slash-X-positions = #'(-1 . 2)
  \mus
}
@end lilypond


@need 1500
@node Bars
@section Mesures


@node Bar lines
@subsection Barres de mesure

@cindex barre de mesure
@cindex barre finale
@cindex finale, barre
@cindex double barre
@cindex barre de reprise

@funindex \bar

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 -- @pxref{Automatic bar lines}.

Il est possible de forcer l'impression d'une barre de mesure spécifique
à l'aide de commande @code{\bar} :

@lilypond[quote,verbatim]
\relative { e'4 d c2 \bar "!" }
@end lilypond

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.

@warning{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.}

@cindex saut de ligne
@cindex barre de mesure invisible
@cindex invisible, barre de mesure
@funindex \allowBreak

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 @code{\allowBreak} permet de passer à la ligne suivante
sans pour autant imprimer de barre de mesure -- @pxref{Line breaking}.

@cindex manuelle, barre de mesure
@cindex barre de mesure manuelle

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@dots{}@*
Lorsqu'une barre manuelle est insérée à l'endroit où viendrait se placer
une barre normale, seul l'effet visuel en sera modifié.

@c TODO: "There are N of these and M of these and ..." is material
@c for an appendix.

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

@lilypond[quote,verbatim]
\relative {
  f'1 \bar "|"
  f1 \bar "."
  g1 \bar "||"     % voir \section
  a1 \bar ".|"
  b1 \bar ".."
  c1 \bar "|.|"
  d1 \bar "|."     % voir \fine
  e1
}
@end lilypond

@noindent
ainsi que d'une barre en pointillé et d'une discontinue :

@lilypond[quote,verbatim]
\relative {
  f'1 \bar ";"
  g1 \bar "!"
  a1
}
@end lilypond

@noindent
et de différents types de barre de reprise :

@lilypond[quote,verbatim]
\relative {
  f'1 \bar ".|:"
  g1 \bar ":..:"
  a1 \bar ":|.|:"
  b1 \bar ":|.:"
  c1 \bar ":.|.:"
  d1 \bar "[|:"
  e1 \bar ":|][|:"
  f1 \bar ":|]"
  g1 \bar ":|."
  a1
}
@end lilypond

De plus, une barre de mesure peut s'imprimer raccourcie ou sous la forme
d'une coche. Dans le cadre du chant grégorien, nous vous invitons à
plutôt utiliser @code{\divisioMinima} et @code{\divisioMaior} comme
indiqué au paragraphe @ref{Divisiones}.

@lilypond[quote,fragment,verbatim]
f'1 \bar "'"
g'1 \bar ","
a1
@end lilypond

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

@lilypond[quote,fragment,verbatim]
f'1 \bar "k"
@end lilypond

De plus amples détails quant à cette forme de notation sont fournis à la
rubrique @ref{Typesetting Kievan square notation}.

@cindex segno
@cindex barre et segno

L'insertion d'un @emph{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 :

@lilypond[quote,verbatim]
\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
}
@end lilypond

@cindex répétition
@cindex reprise

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 (@pxref{Repeats}) qui se chargeront
d'imprimer le type de barre approprié qui peut d'ailleurs être
personnalisé -- @pxref{Automatic bar lines}.

Dans les faits, un @code{".|:-||"} équivaut à un @code{".|:"} 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.

@lilypond[quote,verbatim]
\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
}
@end lilypond

@cindex segno

LilyPond dispose de différents moyens de combiner une barre de reprise
avec un @emph{segno} :

@lilypond[quote,verbatim]
\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
}
@end lilypond

Nombre de ces indications peuvent s'insérer automatiquement à l'aide des
commandes @code{\repeat} -- @pxref{Repeats}.

@cindex barre de mesure, personnalisation
@cindex définition d'une barre de mesure
@cindex interportées, barre de mesure
@funindex \defineBarLine

L'instruction @code{\defineBarLine} permet de définir ses propres types
de barre de mesure, en respectant la syntaxe :

@example
\defineBarLine @var{type_de_barre} #'(@var{fin} @var{début} @var{extension})
@end example

@noindent
En résumé, l'argument @var{type_de_barre} détermine à la fois le glyphe
qui sera utilisé en cours de portée et l'identifiant de cette barre de
mesure. Les autres arguments déterminent les glyphes à utiliser aux
extrémités de la portée et dans l'espace entres les portées d'un
système. Le fait de régler @var{fin}, @var{début} ou @var{extension} à
@code{#t} revient à utiliser le glyphe de @var{type_de_barre} à la
position correspondante. Un réglage à @code{#f} se traduira par
l'absence de barre à cette même position.

Dans le détail, l'argument @var{type_de_barre} est une chaîne de
caractères qui a deux fonctions : il détermine d'une part le glyphe qui
sera imprimé lorsqu'une barre de mesure intervient en cours de portée
et, d'autre part, il sert d'identifiant pour l'objet barre de mesure
appelé par @code{\bar @var{type_de_barre}}. Il doit être de la forme
@var{dessin} ou @var{dessin}@code{-}@var{annotation} (avec un trait
d'union littéral), où @var{annotation} est une chaîne quelconque et
@var{dessin} une chaîne dont les caractères sont les noms de l'un des
éléments de barre prédéfinis listés ci-après. La représentation qui
résulte de la concaténation de ces éléments sera utilisée en cours de
portée. Par exemple, un @var{type_de_barre} égal à @code{";|"} ou
@code{";|-autre"} spécifie une barre composite constituée d'une ligne
pointillée (@samp{;}) accouplée à une ligne pleine (@samp{|}) :

@lilypond[quote,verbatim]
\defineBarLine ";|" #'(#t #t #t)
\defineBarLine ";|-autre" #'(#f #f #f)
\fixed c' {
   \bar ";|" a1 \bar ";|" b1 \bar ";|-autre" c'1 \bar ";|-autre"
}
@end lilypond

@noindent
L'@var{annotation} (@var{autre} dans le second exemple ci-dessus) permet
de distinguer ce type de barre des autres ayant le même @var{dessin}
mais adoptant des comportements différents à l'occasion d'un saut de
ligne ou en cas de portées multiples. Par convention, la chaîne
spécifiée pour @var{fin} est souvent reprise comme annotation, aussi
aurions-nous pu avoir nommé le second exemple @samp{";|-f"}.

Les arguments @var{fin} et @var{début} spécifient la barre à afficher à
la fin d'une ligne et au début de la suivante lorsque @code{\bar
@var{type_de_barre}} intervient sur un saut de ligne. @var{début}
s'appliquera aussi lorsque @code{\bar @var{type_de_barre}} est placé au
commencement de la pièce. Le format de ces arguments est identique à
@var{type_de_barre}. La chaîne d'éléments de barre détermine le glyphe
qui apparaîtra selon son positionnement dans la ligne. De plus, chacun
de ces éléments peut prendre la valeur @code{#t} pour reproduire la
valeur de @var{type_de_barre}, ou @code{#f} pour ne rien afficher. Dans
l'exemple suivant, tous les types de barre impriment un trait pointillé
suivi d'un trait plein lorsqu'en cours de ligne, mais le comportement
change en début ou en fin de ligne.

@lilypond[quote,verbatim,line-width=80]
%   pointillé-plein partout
\defineBarLine  ";|"  #'( #t #t #t)
%   plein-gras en fin, plein-plein en début
\defineBarLine  ";|-A" #'( "|."  "||"  #f )
%   pointillé-plein en fin, rien en début
\defineBarLine  ";|-B" #'( #t  #f  #f )
%   rien en fin, pointillé-plein en début
\defineBarLine  ";|-C" #'( #f  #t  #f )
\relative c'' {
  \bar ";|" \textMark "\";|\""
  a1  \bar ";|-A"
  a1  \bar ";|-A" \textEndMark "\";|-A\"" \break
  b1  \bar ";|-B" b \bar ";|-B" \textEndMark "\";|-B\"" \break
  c1  \bar ";|-C" c \bar ";|-C" \textEndMark "\";|-C\"" \break
  d1  \bar ";|" \textEndMark "\";|\""
}
@end lilypond

Il est à noter que les chaînes de @var{début} ou de @var{fin} peuvent
être des noms de type de barre précédemment définis. Dans le cadre d'un
contexte de portée unique, ceci n'a pas d'importance puisque les
éléments de barre dans la chaîne spécifiée seront utilisés sans les
personnalisations de la barre à laquelle il est fait référence par cette
chaîne. Il est néanmoins important, dans le cadre d'un système à
plusieurs portées, que @var{fin} et @var{début} fassent référence à des
types de barre déjà définis (y compris @var{type_de_barre}) ou soient
réglés à @code{#t} ou @code{#f}.

L'argument @var{extension} sera effectif dans les systèmes à plusieurs
portées (voir @ref{Grouping staves}) puisqu'il détermine ce qui
apparaîtra entre les portées regroupées. Cet argument est composé d'une
chaîne d'éléments de barre, de même longueur que @var{type_de_barre} ou
plus court -- tout élément supplémentaire sera ignoré. Chaque élément
sera imprimé dans le prolongement de l'élément correspondant de
@var{type_de_barre}. Le caractère espace @code{" "} permet 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. Régler
@var{extension} à @code{#t} revient à sélectionner le glyphe utilisé en
cours de ligne. Le régler à @code{#f} omet la barre interportées et lui
affecter @code{""} (une chaîne vide) générera une extension de largeur
zéro. Voici quelques exemples :

@lilypond[quote,verbatim]
\defineBarLine  ";|!-A"  #'(#t #t "!|")
\defineBarLine  ";|!-B"  #'(#t #t " !|")
\defineBarLine  ";|!-C"  #'(#t #t #t)
\defineBarLine  ";|!-D"  #'(#t #t #f)
\fixed c' {
  \new StaffGroup <<
    \new Staff {
      a1 \bar ";|!-A"
      b  \bar ";|!-B"
      c' \bar ";|!-C"
      d' \bar ";|!-D"
      e'
    }
    \new Staff {
      a1 b c' d' e'
    }
  >>
}
@end lilypond

Lorsqu'intervient un saut de ligne seront utilisés, en lieu et place de
@var{extension}, @var{fin} et @var{début} pour déterminer la barre
interportées à afficher. Dans le cas d'un regroupement de portées,
LilyPond émettra un avertissement si @var{fin} et @var{début} ne font
pas référence à des types de barre définis, et aucune prolongation ne
sera imprimée. Il est toujours possible d'affecter @code{#f} à @var{fin}
et @var{début}, auquel cas aucune prolongation n'apparaîtra à la
position correspondante. Ces arguments peuvent aussi être affectés d'un
@code{#t} ou @var{type_de_barre}, auquel cas @var{extension} déterminera
le type de prolongation à utiliser à l'endroit correspondant.

@lilypond[quote,verbatim]
\defineBarLine  "!|-t"  #'(#t #t #t)
\defineBarLine  "|!-t"  #'(#t #t #t)
\defineBarLine  ";|!-bad"  #'("|!" "!|" #t)  % fails at line breaks
\defineBarLine  ";|!-good" #'("!|-t" "|!-t" #t)
\relative c'' {
  \new StaffGroup <<
    \new Staff {
      \bar ";|!-good"
      a1 \bar ";|!-good"
      % \bar ";|!-bad"     % "WARNING: No span bar glyph defined..."
      b1 \bar ";|!-good"
    }
    \new Staff {
      a1 b1
    }
  >>
}
@end lilypond

Notez bien que dans le cas où @var{extension} est constitué d'une
chaîne, celle-ci devrait comporter @emph{uniquement} des éléments de
barre de mesure ou une espace (@samp{ }), et sans annotation comme c'est
possible pour les autres arguments -- LilyPond émettra un avertissement
lorsque @var{extension} contient une annotation. La seule exception à
cette règle est une valeur égale à @var{type_de_barre} qui, lui, peut
comporter une annotation.

Les différents éléments de barre de mesure sont indiqués ci-dessous. La
plupart dispose par ailleurs de types de barre prédéfinis (utilisables
en argument à @code{\bar}) qui les les référencent individuellement.
Certains éléments sont premièrement destinés à être combinés à d'autres
et, de ce fait, n'ont pas de type de barre prédéfinis individuellement.

@lilypond[quote,verbatim]
\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 ""
}
@end lilypond

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

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 @file{scm/bar-line.scm}.

Dans une partition comprenant plusieurs portées, la commande @code{\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 @code{StaffGroup}, d'un @code{PianoStaff} ou d'un
@code{GrandStaff}.

@lilypond[quote,verbatim]
<<
  \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 }
>>
@end lilypond

@cindex barre de mesure par défaut, modification du style
@cindex modification du style par défaut des barres de mesure

@c snippets

@funindex measureBarType
@funindex \bar
@funindex bartype

Le type de barre de mesure utilisé pour l'insertion automatique de
barres de mesure est @code{"|"}. Vous pouvez en changer à tout moment
grâce à @samp{\set Timing@/.measureBarType = @var{type_de_barre}}.

Il est aussi possible de définir plusieurs types de barre de mesure dans
une partition à portées multiples, à partir des commandes ou propriétés
mentionnées ci-après (@pxref{Automatic bar lines}). Bien entendu, ceci
peut amener à des incohérences entre portion de barre inscrite dans la
portée et portion interportées en raison de leurs largeurs différentes.

Les barres de mesure sont généralement alignées par la gauche, sans
tenir compte des doubles points des barres de reprise. Pour les aligner
par la droite, l'instruction

@example
[\once] \override @var{Contexte}.BarLine.right-justified = ##t
@end example

@noindent
doit s'appliquer, avec @var{Contexte} correspondant à un contexte
spécifique aux portées multiples comme@var{Score}, @var{StaffGroup},
@var{Grandstaff}, etc.

@lilypond[quote,verbatim]
\new StaffGroup
  <<
    \new Staff = "a" {
      b1  b b
      <<
        { \textMark "BarLines right-justified" b b }
        \new Staff \with { alignAboveContext = "b" }
        {
          \override StaffGroup.BarLine.right-justified = ##t
          b
          \section
        }
      >>
    }
    \new Staff = "b" { b \section }
    \new Staff = "c" { b b \section b b b \section }
  >>
@end lilypond

Les barres de mesures ne sont jamais alignées par la droite à la suite
d'un saut de ligne. En ce qui concerne les barres en cours de portée et
celles alignées par la droite, le point d'ancrage -- utilisé pour
aligner les @code{BarNumber}, @code{RehearsalMark}, etc. -- est
repositionné en conséquence.

@morerefs
Manuel de notation :
@ref{Grouping staves},
@ref{Repeats},
@ref{Line breaking}.

Fichiers d'initialisation :
@file{scm/bar-line.scm}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

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


@node Automatic bar lines
@subsection Barres de mesure automatiques

@cindex automatique, barre de mesure
@cindex barre de mesure automatique

Diverses commandes, autres que @code{\bar}, peuvent créer des barres de
mesure en raison de leurs effets. Les barres générées en pareil cas
peuvent se modifier en réglant des propriétés de contexte. Lorsqu'une
des propriétés est réglée sur @code{'()} ou n'est pas définie, elle est
ignorée ; la valeur doit être l'un des types prédéfinis ou bien l'un de
ceux précédemment définis à l'aide de la commande @code{\defineBarLine}
-- @pxref{Bar lines}.

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.

@quotation
@table @code

@item underlyingRepeatBarType
@cindex barre double
@cindex barre de mesure, reprise sous-jascente
@cindex double barre
@cindex reprise sous-jascente, barre de mesure
@funindex \codaMark
@funindex \inStaffSegno
@funindex \repeat segno
@funindex \repeat volta
@funindex \segnoMark

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 : @code{\codaMark}, @code{\inStaffSegno},
@code{\repeat segno}, @code{\repeat volta} et @code{\segnoMark}.

@item caesuraType underlying-bar-line
@cindex barre de mesure, césure
@cindex barre de mesure, phrase
@cindex césure, barre de mesure
@cindex phrase, barre de mesure
@funindex \caesura

S'utilise avec @code{\caesura} -- voir @ref{Phrase bar lines in hymn
tunes}.

@item submeasureBarType
@cindex barre de mesure pointillée
@cindex barre, sous-mesure
@cindex pointillée, barre de mesure
@cindex métrique, mise en évidence
@cindex sous-mesure, barre
@funindex \submeasureBarsOn
@funindex submeasureStructure

S'utilise pour borner les sous-mesures spécifiées par
@code{submeasureStructure}, lorsque l'autorise un
@code{\submeasureBarsOn} ; @pxref{Time signature}.

@item measureBarType
@cindex barre par défaut
@cindex barre, mesure
@cindex barre simple
@cindex défaut, barre de mesure
@cindex simple, barre de mesure

S'utilise en limite de mesure.

@item caesuraType bar-line
@cindex barre de mesure, césure
@cindex barre de mesure, phrase
@cindex césure, barre de mesure
@cindex phrase, barre de mesure
@funindex \caesura

S'utilise avec @code{\caesura} -- @pxref{Phrase bar lines in hymn
tunes}.

@item sectionBarType
@cindex barre double
@cindex barre, section
@cindex double barre
@cindex section, barre de mesure
@funindex \section

S'utilise à un saut de section créé par @code{\section}.

@item fineBarType
@cindex barre finale
@cindex finale, barre de mesure
@funindex \fine

S'utilise avec l'instruction @code{\fine}.

@item doubleRepeatBarType
@itemx doubleRepeatSegnoBarType
@itemx endRepeatBarType
@itemx endRepeatSegnoBarType
@itemx fineSegnoBarType
@itemx fineStartRepeatSegnoBarType
@itemx segnoBarType
@itemx startRepeatBarType
@itemx startRepeatSegnoBarType
@cindex barre de mesure, reprise
@cindex barre de mesure, @emph{segno}
@cindex reprise, barre de mesure
@cindex @emph{segno}, barre de mesure
@funindex \inStaffSegno
@funindex \repeat segno
@funindex \repeat volta
@funindex \segnoMark

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

Les propriétés dont le nom comporte @code{startRepeat} ou
@code{endRepeat} s'utilisent en début ou en fin de reprise créée par
@code{\repeat volta}. Celles comportant @code{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 @code{segno} s'utilisent pour un
@emph{segno} sur la portée ; ceux-ci peuvent être créés par
@code{\repeat segno} ou @code{\segnoMark}, dès lors que la propriété
@code{segnoStyle} est réglée sur @code{bar-line}, ou encore lorsqu'ils
sont créés par @code{\inStaffSegno}.

Les propriétés dont le nom comporte @code{fine} répondent à
l'instruction @code{\fine}.

@end table
@end quotation

La priorité s'applique 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 -- @pxref{Bar lines}.

@lilypond[quote,verbatim]
\fixed c' {
  c1 \section \break
  \repeat volta 2 d1
}
@end lilypond

@snippets

@cindex reprises successives, barre de mesure
@cindex barre de mesure, reprises successives
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/setting-the-double-repeat-default-for-volte.ly}

@morerefs
Manuel de notation :
@ref{Bar lines},
@ref{Repeats}.

Morceaux choisis :
@rlsrnamed{Rhythms, Rythmes}.

Référence des propriétés internes :
@rinternals{Repeat_acknowledge_engraver}.
@endmorerefs


@node Bar numbers
@subsection Numéros de mesure

@cindex mesure, numérotation
@cindex numéro de mesure

@funindex currentBarNumber

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é
@code{currentBarNumber} qui sera mise à jour à chaque mesure. Vous
pouvez aussi le définir de manière arbitraire :

@lilypond[verbatim,quote]
\relative c' {
  c1 c c c
  \break
  \set Score.currentBarNumber = 50
  c1 c c c
}
@end lilypond

@cindex numéro de mesure à intervalle régulier

@funindex barNumberVisibility
@funindex BarNumber

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é @code{break-visibility} du @code{BarNumber}. Elle se
compose de trois commutateurs -- définis à « vrai » (@code{#t}) ou
« faux » (@code{#f}) -- pour spécifier si le numéro de mesure est
visible ou non. Les valeurs sont rangées dans l'ordre suivant :
@code{visible en fin de ligne}, @code{visible en cours de ligne} et
@code{visible en début de ligne}. Voici comment imprimer partout les
numéros de mesure :

@lilypond[verbatim,quote,line-width=15\cm]
\relative c' {
  \override Score.BarNumber.break-visibility = ##(#t #t #t)
  \set Score.currentBarNumber = 11
  c1 | c | c | c |
  \break
  c1 | c | c | c |
}
@end lilypond

@snippets

@cindex barre de mesure, impression du premier numéro
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/printing-the-bar-number-for-the-first-measure.ly}

@cindex barre de mesure, impression à intervalle régulier
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/printing-bar-numbers-at-regular-intervals.ly}

@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/printing-bar-numbers-with-changing-regular-intervals.ly}

@cindex numéro de mesure et mesure tronquée
@cindex mesure tronquée et numéro de mesure
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/printing-bar-numbers-for-broken-measures.ly}

@cindex numéro de mesure
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/printing-bar-numbers-using-modulo-bar-number-visible.ly}

@cindex numéro de mesure, formatage
@cindex formatage du numéro de mesure
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/printing-bar-numbers-inside-boxes-or-circles.ly}

@c XXX also included in `repeats.itely'
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/alternative-bar-numbering.ly}

@cindex alignement du numéro de mesure
@cindex numéro de mesure, alignement
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/aligning-bar-numbers.ly}

@cindex numéro de mesure, supression
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/removing-bar-numbers-from-a-score.ly}

@cindex numéro de mesure, centrage
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/measure-centered-bar-numbers.ly}

@morerefs
Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{Bar_number_engraver},
@rinternals{BarNumber},
@rinternals{Centered_bar_number_align_engraver},
@rinternals{CenteredBarNumber},
@rinternals{CenteredBarNumberLineSpanner}.
@endmorerefs

@knownissues
@cindex numéro de mesure et collision
@cindex collision et numéro de mesure

Les numéros de mesure peuvent entrer en collision avec les crochets d'un
@rinternals{StaffGroup}. La propriété @code{padding} -- décalage -- de
l'objet @rinternals{BarNumber} permet alors d'ajuster leur
positionnement.


@node Bar and bar number checks
@subsection Vérification des limites et numéros de mesure

@cindex vérification des limites de mesure
@cindex mesure, vérification des limites
@cindex test de mesure

@funindex |

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, @code{|}. 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.

@example
\time 3/4 c2 e4 | g2 |
@end example

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 :

@example
\lyricmode @{
 \time 2/4
 Twin -- kle | Twin -- kle
@}
@end example

Notez bien qu'en matière de paroles, le test est effectué à l'instant
musical où la syllabe @b{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.

@funindex |
@funindex "|"
@funindex pipe, symbole

Il est aussi possible d'attribuer une autre valeur au symbole @code{|},
en assignant une expression musicale à @code{"|"}. Dans l'exemple
suivant, le @code{|} 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.

@lilypond[quote,verbatim]
"|" = \bar "||"
{
  c'2 c' |
  c'2 c'
  c'2 | c'
  c'2 c'
}
@end lilypond

@funindex \barNumberCheck

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 @code{\barNumberCheck}. Par exemple,

@verbatim
\barNumberCheck 123
@end verbatim

@noindent
affiche un avertissement lors du traitement si le numéro de mesure à ce
point (variable @code{currentBarNumber}) n'est pas égal à 123.

@morerefs
Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.
@endmorerefs


@node Rehearsal marks
@subsection Indications de repère

@cindex repère, indication de
@cindex indication, repère

@funindex \mark

Indiquer un repère s'obtient grâce à la commande @code{\mark}.

@lilypond[quote,verbatim]
\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
}
@end lilypond

@funindex @sortas{defaultB} \default

@noindent
Lorsque vous utilisez @code{\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é @code{rehearsalMark}.

@lilypond[quote,verbatim]
\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark 8
  c1 \mark \default
  c1 \mark \default
}
@end lilypond

@noindent
La lettre @strong{I} n'est pas utilisée, conformément aux usages de la
gravure. Cependant, vous pourrez intégrer la lettre @strong{I} en
utilisant l'une des commandes suivantes selon que ce repère doive être
simple, inclus dans un rectangle ou dans un cercle :

@example
\set Score.rehearsalMarkFormatter = #format-mark-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-circle-alphabet
@end example

@lilypond[quote,verbatim]
\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
  c1 \mark \default
  c1 \mark \default
  c1 \mark 8
  c1 \mark \default
  c1 \mark \default
}
@end lilypond

@cindex repère, format
@cindex repère, style
@cindex style de repère
@cindex format de repère
@cindex repère manuel
@cindex spécification d'un repère
@cindex repère, personnalisation

Le style de repère est déterminé par la propriété
@code{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 @emph{markup}. Dans l'exemple qui suit,
@code{rehearsalMarkFormatter} est réglé pour une procédure type.
Quelques mesures plus loin, son comportement est modifié pour imprimer
un repère encadré.

@lilypond[quote,verbatim]
\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
}
@end lilypond

Le fichier @file{scm/translation-functions.scm} comporte les définitions
de @code{format-@/mark-@/letters} (comportement par défaut),
@code{format-@/mark-@/box-@/letters}, @code{format-@/mark-@/numbers} et
@code{format-@/mark-@/box-@/numbers}. Vous pouvez vous en inspirer pour
d'autres fonctions de formatage.

@code{format-@/mark-@/barnumbers},
@code{format-@/mark-@/box-@/barnumbers} et
@code{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 à
@ref{Formatting text}, et tout particulièrement ce qui concerne la
@code{break-@/alignable-@/interface} au chapitre @ref{Aligning objects}.

Les définitions @code{format-mark-numbers} et @code{format-mark-letters}
sont inscrites dan le fichier @file{scm/@/translation-@/functions.scm}.
Elles seront une source d'inspiration en matière de fonctions de
formatage.

@snippets
@c Also in 'Text marks'.
@cindex repère, sur toutes les portées
@funindex Mark_engraver
@funindex Staff_collecting_engraver
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{snippets/printing-marks-on-every-staff.ly}


@morerefs
Manuel de notation :
@ref{Aligning objects},
@ref{Metronome marks},
@ref{The Emmentaler font},
@ref{Section labels},
@ref{Formatting text},
@ref{Music notation inside markup}.

Fichiers d'initialisation :
@file{scm/translation-functions.scm}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{AdHocMarkEvent},
@rinternals{RehearsalMark},
@rinternals{RehearsalMarkEvent}.
@endmorerefs


@node Measure counts
@subsection Compteurs de mesures

@cindex mesure, compteur

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 @code{Measure_counter_engraver} à un contexte du type @code{Staff} ou
@code{Score}.

@lilypond[verbatim,quote]
\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
}
@end lilypond

Le numéro des mesures tronquées se présente entre parenthèses.

@lilypond[verbatim,quote]

\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
}
@end lilypond

La compression de silences multimesure reçoit un traitement
particulier : est présenté l'intervalle de mesures considéré.

@lilypond[verbatim,quote]
\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\!
}
@end lilypond

Les compteurs de mesures prennent en considération le style de
numérotation des alternatives. Lorsque le style est réglé sur
@code{numbers-@/with-@/letters}, leur rendu est meilleur avec une fonte
textuelle.

@lilypond[verbatim,quote]
\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
}
@end lilypond

@predefined
@code{\startMeasureCount},
@code{\stopMeasureCount}.
@endpredefined

@morerefs
Manuel de notation :
@ref{Compressing empty measures},
@ref{Modifying context plug-ins},
@ref{Bar numbers},
@ref{Breaks}.

Référence des propriétés internes :
@rinternals{Measure_counter_engraver},
@rinternals{MeasureCounter},
@rinternals{measure-counter-interface}.
@endmorerefs


@node Section divisions
@subsection Division en sections

@cindex barre de mesure double
@cindex barre de mesure, section
@cindex double barre
@cindex section, barre de mesure
@funindex \section

La commande @code{\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 @emph{D.C.} ou lorsqu'un mouvement s'enchaîne directement
avec le suivant. En règle générale, @code{\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.

@cindex barre finale
@cindex finale, barre
@funindex \fine

La commande @code{\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 @code{\repeat} --
@pxref{Al-fine repeats}.

Une section peut être nommée à l'aide de @code{\sectionLabel} --
voir @ref{Section labels}).

@lilypond[quote,verbatim]
\fixed c' {
  f1
  \section
  \sectionLabel "Refrain"
  g1
  a1
  \fine
}
@end lilypond

De plus amples détails sur les interactions des barres de mesure
@code{\fine} et @code{\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 @ref{Automatic bar lines}.

@morerefs
Glossaire musicologique :
@rglos{fine}.

Manuel de notation :
@ref{Automatic bar lines},
@ref{Divisiones},
@ref{Section labels},
@ref{Al-fine repeats}.

Référence des propriétés internes :
@rinternals{FineEvent},
@rinternals{SectionEvent}.
@endmorerefs


@need 1500
@node Special rhythmic concerns
@section Fonctionnalités rythmiques particulières


@node Grace notes
@subsection Notes d'ornement

@cindex ornement
@cindex broderie
@cindex note d'ornement
@cindex petite note

@funindex \grace

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.

@lilypond[quote,verbatim]
\relative {
  c''4 \grace b16 a4(
  \grace { b16 c16 } a2)
}
@end lilypond

@cindex appoggiature
@cindex acciaccature
@funindex \slashedGrace
@funindex \acciaccatura
@funindex \appoggiatura

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 @code{\slashedGrace}, d'une petite note
barrée et dépourvue de liaison, qui viendra s'insérer entre deux notes
déjà liées.

@lilypond[quote,verbatim]
\relative {
  \acciaccatura d''8 c4
  \appoggiatura e8 d4
  \acciaccatura { g16 f } e2
  \slashedGrace a,8 g4
  \slashedGrace b16 a4(
  \slashedGrace b8 a2)
}
@end lilypond

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.

@lilypond[quote,verbatim]
<<
  \new Staff \relative { e''2 \grace { c16 d e f } e2 }
  \new Staff \relative { c''2 \grace { g8 b } c2 }
>>
@end lilypond

@cindex note d'ornement en fin de note

@funindex \afterGrace

La commande @code{\afterGrace} sert à placer une petite note après une
note réelle -- et non @emph{avant} comme d'ordinaire. Cette commande
requiert deux arguments : la note réelle, et la ou les petites notes qui
s'y rattachent.

@lilypond[quote,verbatim]
\relative { c''1 \afterGrace d1 { c16[ d] } c1 }
@end lilypond

Les petites notes se placent alors @strong{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 à

@example
afterGraceFraction = 3/4
@end example

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

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

@lilypond[quote,verbatim]
<<
  \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
  }
>>
@end lilypond

Les effets d'une commande @code{\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 :

@lilypond[quote,verbatim]
\new Voice \relative {
  <<
    { d''1^\trill_( }
    { s2 s4. \grace { c16 d } }
  >>
  c1)
}
@end lilypond

@cindex retouche de note d'ornement
@cindex note d'ornement et retouche
@cindex note d'ornement, mise en forme

Les expressions @code{\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
@strong{à l'intérieur} de l'expression introduite par @code{\grace} ;
ces réglages additionnels doivent également être désactivés dans cette
même expression.

@lilypond[quote,verbatim]
\new Voice \relative {
  \acciaccatura {
    \stemDown
    f''16->
    \stemNeutral
  }
  g4 e c2
}
@end lilypond

@snippets

@cindex hampe barrée
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/using-grace-note-slashes-with-normal-heads.ly}

@funindex add-grace-property
@funindex remove-grace-property
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/tweaking-grace-layout-within-music.ly}

@cindex accord vide
@cindex vide, accord
@funindex startGraceMusic
@funindex stopGraceMusic
@funindex startAcciaccaturaMusic
@funindex stopAcciaccaturaMusic
@funindex startAppoggiaturaMusic
@funindex stopAppoggiaturaMusic
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/redefining-grace-note-global-defaults.ly}

@anchor{Positioning grace notes with floating space}
@cindex orenement, espacement
@cindex espacement, ornement
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/positioning-grace-notes-with-floating-space.ly}

@morerefs
Glossaire musicologique :
@rglosnamed{grace notes,ornements},
@rglosnamed{acciaccatura,acciaccature},
@rglosnamed{appoggiatura,appoggiature}.

Manuel de notation :
@ref{Manual beams},
@ref{Scaling durations}.

Fichiers d'initialisation :
@file{ly/grace-init.ly}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Référence des propriétés internes :
@rinternals{GraceMusic},
@rinternals{Grace_auto_beam_engraver},
@rinternals{Grace_beam_engraver},
@rinternals{Grace_engraver},
@rinternals{Grace_spacing_engraver}.
@endmorerefs

@knownissues

@cindex acciaccature, multinotes
@cindex note d'ornement, synchronisation
@cindex synchronisation des notes d'ornement

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

@c TODO Add link to LilyPond Wiki snippet to add slash when available

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 :

@lilypond[quote,verbatim]
<<
  \new Staff \relative { e''4 \section \grace c16 d2. }
  \new Staff \relative { c''4 \section d2. }
>>
@end lilypond

@noindent
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 @code{\grace} et
correspondant à la durée des petites notes :

@lilypond[quote,verbatim]
<<
  \new Staff \relative { e''4 \section \grace c16 d2. }
  \new Staff \relative { c''4 \section \grace s16 d2. }
>>
@end lilypond

Bien que la partie visible contient un @code{\acciaccatura} ou un
@code{\appoggiatura}, veillez bien à utiliser l'instruction
@code{\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
@qq{@code{Going back in MIDI time}}. Il vous faudra donc raccourcir les
petites notes. Par exemple,

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

@noindent
deviendrait

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

@noindent
ou bien modifier explicitement l'échelle des durées :

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

Voir @ref{Scaling durations}.


@node Aligning to cadenzas
@subsection Alignement et cadences

@cindex cadenza
@cindex cadence
@cindex cadence et alignement
@cindex alignement et cadence

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 @code{mmrest-of-length} ou @code{skip-of-length}
permettent de pallier ce problème. Ces fonctions Scheme prennent en
argument un fragment de musique, et génèrent un @code{\skip} ou un
silence multimesure d'une durée correspondant à ce fragment.

@lilypond[verbatim,quote]
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
  }
>>
@end lilypond

Une autre solution consiste à utiliser la commande @code{\skip}.

@lilypond[verbatim,quote]
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
@end lilypond

@morerefs
Glossaire musicologique :
@rglos{cadenza}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.
@endmorerefs


@node Time administration
@subsection Gestion du temps

@cindex temps, gestion du
@cindex musique non mesurée
@cindex non mesurée, musique

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

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

@cindex numéro de mesure
@cindex mesure, numéro de

@table @code
@item currentBarNumber
@funindex currentBarNumber

Le numéro de la mesure en cours.  Un exemple d'utilisation se trouve au
chapitre @ref{Bar numbers}.

@item measureLength
@funindex 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.

@item measurePosition
@funindex measurePosition
Cette propriété interne enregistre le moment où l'on en est dans la
mesure en cours. Cette quantité est remise à 0 dès lors qu'on dépasse
@code{measureLength} ; la variable @code{currentBarNumber} est alors
incrémentée. @code{measurePosition} ne devrait pas être déterminée
explicitement ; on peut la modifier par la commande @code{\partial}.

@item timing
@funindex timing
Lorsqu'on lui assigne la valeur @code{#t}, les valeurs ci-dessus
mentionnées sont mises à jour à chaque pas. Fixée à @code{#f}, leur
valeur restera figée indéfiniment.

@end table

Le calage peut être modifié en réglant l'une de ces variables. Dans
l'exemple qui suit, nous réglons la métrique à 4/4, tout en fixant
@code{measureLength} à 5/4. Arrivé à 4/8 dans la troisième mesure, la
commande @code{\partial} nous avance pour laisser 5/8, raccourcissant
donc cette mesure d'une croche. La barre de mesure suivante tombera donc
à 9/8 et non à 5/8.

@lilypond[quote,verbatim]
\fixed c' {
  \override Score.BarNumber.break-visibility = #all-visible
  \set Timing.measureLength = #5/4
  c1 c4
  c1 c4
  c4 c \partial 8*5 b4 b b8
  c4 c1
}
@end lilypond

@morerefs
Manuel de notation :
@ref{Unmetered music},
@ref{Bar numbers}.

Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.

Références des propriétés internes :
@rinternals{Timing_translator},
@rinternals{Score}.
@endmorerefs
