@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond.tely
@ignore
    Translation of GIT committish: 6ffead15d2e3dffd294c8e030938facef896d861

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@end ignore

@c A menu is needed before every deeper *section nesting of @node's; run
@c     M-x texinfo-all-menus-update
@c to automatically fill in these menus before saving changes

@node Basic notation
@chapter Basic notation

De l'utilisation des fonctions de notation de base.


@menu
* Pitches::
* Rhythms::
* Polyphony::
* Staff notation::
* Connecting notes::
* Expressive marks::
* Repeats::
@end menu


@node Pitches
@section Pitches

De la manière de spécifier les hauteurs de notes.

@menu
* Normal pitches::
* Accidentals::
* Cautionary accidentals::
* Micro tones::
* Note names in other languages::
* Relative octaves::
* Octave check::
* Transpose::
* Rests::
* Skips::
@end menu


@node Normal pitches
@subsection Normal pitches

@cindex noms de note
@cindex hauteurs

La hauteur s'écrit --- à moins de préciser une autre langue --- avec la
notation anglaise, en utilisant les lettres @code{a} à @code{g}.
Une gamme ascendante de do majeur s'écrit

@lilypond[quote,fragment,verbatim,ragged-right]
\clef bass
c d e f g a b c'
@end lilypond

La note @code{c} est écrite une octave sous le do central.

@lilypond[quote,fragment,verbatim,ragged-right]
\clef treble
c1
\clef bass
c1
@end lilypond

@funindex '
@funindex ,

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

@lilypond[quote,ragged-right,fragment,verbatim]
\clef treble
c' c'' e' g d'' d' d c
\clef bass
c, c,, e, g d,, d, d c
@end lilypond

Il existe une autre méthode pour préciser à quelle octave se situe la
note à graver ; cette méthode demande moins d'indications d'octave
(@code{'} and @code{,}) --- voir @ref{Relative octaves}.


@node Accidentals
@subsection Accidentals

@cindex noms de note, hollandais
@cindex noms de note, par défaut

Dans la notation par défaut, un dièse est formé en ajoutant @code{-is}
après le nom de note, un bémol en ajoutant @code{-es}.  Les
double-dièses et double-bémols sont obtenus en ajoutant @code{-isis}
ou @code{-eses} au nom de note.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
a2 ais a aes
a2 aisis a aeses
@end lilypond

@noindent
Ce sont les noms de note hollandais.  En hollandais, on élide @code{aes}
pour écrire @code{as}, mais les deux formes sont acceptées.  De manière
similaire, on accepte aussi bien @code{es} que @code{ees}.

@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
a2 as e es
@end lilypond

Un bécarre annule l'effet d'une altération, qu'elle soit accidentelle
ou à l'armure.  Cependant, dans la syntaxe des noms de note, les
bécarres ne s'écrivent pas avec un suffixe ; un simple nom de note
donnera une note bécarre.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
a4 aes a2
@end lilypond

LilyPond interprète l'entrée @code{d e f} comme @qq{imprimer un ré
naturel, un mi naturel et un fa naturel}, sans tenir compte de l'armure.
Pour plus d'information à propos de la distinction entre le contenu
musical et sa représentation, voir @ref{Accidentals and key signatures}.

@lilypond[fragment,quote,ragged-right,verbatim,relative]
\key d \major
d e f g
d e fis g
@end lilypond


@commonprop

En accord avec les règles standards de l'écriture musicale, on imprime
un bécarre avant un dièse ou un bémol si on a besoin d'annuler une
altération précédente.  Pour modifier ce comportement, spécifiez
@code{\set Staff.extraNatural = ##f}

@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
ceses4 ces cis c
\set Staff.extraNatural = ##f
ceses4 ces cis c
@end lilypond


@seealso

Référence du programme : @internalsref{LedgerLineSpanner},
@internalsref{NoteHead}.


@node Cautionary accidentals
@subsection Cautionary accidentals

@cindex altération, de précaution
@cindex altération, entre parenthèses
@cindex altération de précaution
@funindex ?
@cindex altération entre parenthèses
@funindex !

Normalement, les altérations sont imprimées automatiquement, mais il se
peut que vous vouliez les imprimer manuellement.  On peut forcer
l'impression d'une altération , dite @qq{de précaution}, en ajoutant un
point d'exclamation @samp{!} après la hauteur de note.  Une altération
entre parenthèses peut être obtenue en ajoutant un point d'interrogation
@samp{?} après la hauteur de note.  Ces signes peuvent aussi être
utilisés pour imprimer des bécarres.

@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
cis cis cis! cis? c c? c! c
@end lilypond


@seealso

L'impression automatique des altérations peut être affinée de plusieurs
manières.  Pour plus d'information, voir @ref{Automatic accidentals}.


@node Micro tones
@subsection Micro tones

@cindex quarts de ton
@cindex demi-bémols, demi-dièses

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

@lilypond[verbatim,ragged-right,quote,relative=2,fragment]
\set Staff.extraNatural = ##f
ceseh ceh cih cisih
@end lilypond

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

@refbugs

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


@node Note names in other languages
@subsection Note names in other languages

Vous disposez de jeux prédéfinis de noms de notes pour plusieurs autres
langues.  Pour les utiliser, incluez le fichier d'initialisation
spécifique à la langue voulue.  Par exemple, pour les langues romanes,
ajoutez @code{\include "italiano.ly"} au début du fichier source.  Les
fichiers de langues disponibles ainsi que les noms de notes utilisés
sont les suivants :

@cindex noms de note, autres langues
@example
                       Noms de note              dièse       bémol      double          double
                                                                        dièse           bémol
nederlands.ly  c   d   e   f   g   a   bes b   -is         -es          -isis           -eses
english.ly     c   d   e   f   g   a   bf  b   -s/-sharp   -f/-flat     -ss/-x/         -ff/
                                                                        -sharpshsarp    -flatflat
deutsch.ly     c   d   e   f   g   a   b   h   -is         -es          -isis           -eses
norsk.ly       c   d   e   f   g   a   b   h   -iss/-is    -ess/-es     -ississ/-isis   -essess/-eses
svenska.ly     c   d   e   f   g   a   b   h   -iss        -ess         -ississ         -essess
italiano.ly    do  re  mi  fa  sol la  sib si  -d          -b           -dd             -bb
catalan.ly     do  re  mi  fa  sol la  sib si  -d/-s       -b           -dd/-ss         -bb
espanol.ly     do  re  mi  fa  sol la  sib si  -s          -b           -ss             -bb
@end example

@noindent
Notez qu'en hollandais, en allemand, en norvégien et en suédois, un
@samp{la} altéré de bemol se note @code{aes} et @code{aeses}.  Ces
formes sont contractées en @code{as} et @code{ases} (ou plus communément
@code{asas}).  Dans certains fichiers linguistiques, seules ces formes
abrégées ont été définies ; ceci s'applique aussi aux suffixes pour les
quarts de ton.

@noindent
Certaines musiques utilisent des microtonalités, pour lesquelles les
altérations sont des fractions de dièse ou bémol @qq{normaux}.  Le
tableau suivant répertorie les noms de note en quart de ton, tels que
définis dans plusieurs fichiers linguistiques. Les préfixes @q{semi-} et
@q{sesqui-} correspondent au @q{demi-} et @q{trois demis}.  À noter
qu'aucune définition n'existe à ce jour pour le norvégien, le suédois,
le catalan et l'espagnol.

@c What about Turkish Maquam music and similar microtonal systems?
@c
@c Note that the term "three-quarter-sharp/-flat" used in lilypond's source code 
@c is actually misleading since the alteration is in fact one and a half
@c of a regular sharp/flat. Whence the naming "sesqui-sharp/-flat" used below.

@example
                        Noms de note           semi-   semi-  sesqui-  sesqui-
                                               dièse   bémol  dièse    bémol

nederlands.ly  c   d   e   f   g   a   bes b   -ih     -eh    -isih    -eseh
english.ly     c   d   e   f   g   a   bf  b   -qs     -qf    -tqs     -tqf
deutsch.ly     c   d   e   f   g   a   b   h   -ih     -eh    -isih    -eseh
norsk.ly       c   d   e   f   g   a   b   h   
svenska.ly     c   d   e   f   g   a   b   h   
italiano.ly    do  re  mi  fa  sol la  sib si  -sd     -sb    -dsd     -bsb
catalan.ly     do  re  mi  fa  sol la  sib si  
espanol.ly     do  re  mi  fa  sol la  sib si  
@end example



@node Relative octaves
@subsection Relative octaves

@cindex relatif
@cindex indication d'octave relative
@funindex \relative

On spécifie les octaves en ajoutant @code{'} et @code{,} aux noms de
hauteurs.  En recopiant de la musique, on a vite fait de mettre une note
à la mauvaise octave, et ce genre d'erreur est difficile à retrouver.
Le mode d'écriture \relative prévient ces erreurs dans la mesure où
elles deviennent beaucoup plus évidentes : une seule erreur décale le
reste de la pièce à une mauvaise octave.


@example
\relative @var{startpitch} @var{musicexpr}
@end example

@noindent
ou

@example
\relative @var{musicexpr}
@end example

@noindent
@code{c'} est utilisé par défaut si aucune hauteur de départ n'est
définie.

L'octave des notes mentionnées dans @var{musicexpr} va être calculée de
la manière suivante : si aucun signe de changement d'octave n'est
utilisé, l'intervalle de base entre la note actuelle et la précédente
sera toujours au plus d'une quarte.  Cet intervalle est déterminé sans
tenir compte des altérations ; ainsi un @code{fisis} après un
@code{ceses} sera placé au-dessus du @code{ceses}.  En d'autres termes,
une quarte doublement augmentée demeure considérée comme un intervavlle
plus petit qu'une quinte diminuée, bien que la quarte doublement
augmentée soit de sept demi-tons et la quinte diminuée de seulement six
demi-tons.

Les signes de changement d'octave @code{'} et @code{,} peuvent être
ajoutés pour hausser ou baisser la note d'une octave supplémentaire.
Lorsque l'on entre en mode @code{\relative}, une hauteur absolue de
départ peut être spécifiée, et agira dès lors comme si elle précédait la
première note de @var{musicexpr}.  Si aucune hauteur de départ n'est
spécifiée, le do central sert de point de départ.

Voici le mode \relative en action.
@lilypond[quote,fragment,ragged-right,verbatim]
\relative c'' {
  b c d c b c bes a
}
@end lilypond

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

@lilypond[quote,ragged-right,fragment,verbatim]
\relative c'' {
  c g c f, c' a, e''
}
@end lilypond

Si l'expression précédente est un accord, c'est la première note de
l'accord qui détermine l'emplacement de la première note du prochain
accord.

@lilypond[quote,ragged-right,fragment,verbatim]
\relative c' {
  c <c e g>
  <c' e g>
  <c, e' g>
}
@end lilypond

La hauteur après @code{\relative} contient un nom de note.

La conversion en mode \relative n'affectera pas les sections @code{\transpose},
@code{\chordmode} ou @code{\relative} situées dans son argument.  Pour
utiliser \relative dans de la musique transposée, un code
@code{\relative} additionnel doit être placé dans @code{\transpose}.


@node Octave check
@subsection Octave check

@cindex vérification d'octave

Les tests d'octave rendent la correction d'erreurs d'octave plus facile
dans le mode d'octave @code{relative} : une note peut être suivie de
@code{=}@var{apostrophes/virgules} pour indiquer à quelle octave absolue
elle devrait être.  Dans l'exemple suivant,

@example
\relative c'' @{ c='' b=' d,='' @}
@end example

@noindent
le @code{d} générera un avertissement, puisqu'on attend un @code{d''}
mais qu'on obtient un @code{d'} --- il n'y a qu'une tierce entre
@code{b'} et @code{d''}.  Sur la partition, l'octave sera corrigée pour
donner un @code{d''} et la prochaine note sera calculée en fonction de
@code{d''} et non de @code{d'}.

Il existe aussi une vérification d'octave qui ne produit pas de musique
imprimée, ayant pour syntaxe

@example
\octave @var{hauteur}
@end example

Cette commande vérifie que la @var{hauteur} considérée sans apostrophe
ni virgule et comme hauteur relative, est la même que la @var{hauteur}
absolue considérée avec ses éventuelles apostrophes ou virgules.  Sinon,
un avertissement est émis et l'octave est corrigée.  La @var{hauteur}
n'est pas considérée comme une note, et donc n'est pas imprimée.

Dans l'exemple ci-dessous, le premier test réussit, puisque le @code{e}
--- dans le mode @code{relative} --- est au plus à une quarte de
@code{a'}.  Cependant, le deuxième test produit un avertissement,
puisque le @code{e} est à quinte de @code{b'}.  Le message
d'avertissement est émis, et l'octave est corrigée afin que les notes
suivantes soient à nouveau à la bonne octave.

@example
\relative c' @{
  e
  \octave a'
  \octave b'
@}
@end example

L'octave d'une note qui suit un test d'octave est déterminée selon la
note précédente.  Dans l'exemple suivant, la dernière note est un
@code{a'}, au-dessus du do central.  Cela veut dire que le test
@code{\octave} réussit, et peut donc être enlevé sans changer le
résultat sur la partition.

@lilypond[quote,ragged-right,verbatim,fragment]
\relative c' {
  e
  \octave b
  a
}
@end lilypond


@node Transpose
@subsection Transpose

@cindex transposition
@cindex transposition des hauteurs
@funindex \transpose

Une expression musicale peut être transposée avec @code{\transpose}.
Voici la syntaxe :
@example
\transpose @var{note_de départ} @var{note_d_arrivée} @var{musicexpr}
@end example

Cela signifie que @var{musicexpr} est transposé d'un intervalle entre
les notes @var{note_de_départ} et @var{note_d_arrivée} : toute note
dont la hauteur était @code{note_de_départ}
est changée en @code{note_d_arrivée}.

Prenons comme exemple une pièce écrite en ré majeur.  Si cette pièce est
un peu trop basse pour l'interprète, elle peut être transposée en mi
majeur avec
@example
\transpose d e @dots{}
@end example

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

@example
\transpose a c @dots{}
@end example

@code{\transpose} fait la distinction entre les notes enharmoniques :
@code{\transpose c cis} et @code{\transpose c des} transposeront la
pièce un demi-ton plus haut.  Mais la première version écrira des
dièses et la deuxième des bémols.

@lilypond[quote,ragged-right,verbatim]
mus = { \key d \major cis d fis g }
\new Staff {
  \clef "F" \mus
  \clef "G"
  \transpose c g' \mus
  \transpose c f' \mus
}
@end lilypond

On peut aussi utiliser @code{\transpose} pour entrer des notes écrites
pour un instrument transpositeur.  Normalement, les hauteurs dans
LilyPond sont écrites en ut, i.e. en sons réels, mais elles peuvent être
écrites dans un autre ton.  Quand, par exemple, on écrit pour une
trompette en si bémol, commençant sur ré note réelle, on pourrait écrire
@example
\transpose c bes @{ e4 @dots{} @}
@end example

Pour imprimer cette musique en si bémol à nouveau --- et de ce fait
produire une partie de trompette, au lieu d'un conducteur en notes
réelles, on utilisera un deuxième @code{transpose}

@example
\transpose bes c @{ \transpose c bes @{ e4 @dots{} @} @}
@end example


@seealso

Référence du programme : @internalsref{TransposedMusic}.

Exemple : @lsr{scheme,transpose-pitches-with-minimum-accidentals.ly}.


@refbugs

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


@node Rests
@subsection Rests
@cindex silences

@funindex \rest
@funindex r

Les silences sont écrits comme des notes avec le nom de note @code{r}.

@lilypond[fragment,quote,ragged-right,verbatim]
r1 r2 r4 r8
@end lilypond

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 dans la section
@ref{Multi measure rests}.

Pour spécifier explicitement la position verticale d'un silence, écrivez
une note suivie de @code{\rest}.  Un silence sera placé à la position où
serait imprimée la note.

@lilypond[fragment,quote,ragged-right,verbatim]
a'4\rest d'4\rest
@end lilypond

@noindent
Cela rend plus facile la mise en place de la musique polyphonique,
puisque le formateur automatique de collision des silences laissera ces
silences tranquilles.

@seealso

Référence du programme : @internalsref{Rest}.


@node Skips
@subsection Skips

@cindex sauts de durée
@cindex silences invisibles
@cindex silences d'espacement
@funindex \skip
@funindex s

Un silence invisible --- que l'on pourrait appeler un @qq{saut} ---
peut être entré comme une note avec le nom de note `@samp{s}' ou avec
@code{\skip @var{durée}}

@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
a4 a4 s4 a4 \skip 1 a4
@end lilypond

La syntaxe @code{s} est seulement disponible pour les modes d'entrée
de notes et d'accords.  Dans d'autres situations, pour l'entrée de
paroles par exemple, vous devrez utiliser la commande @code{\skip}.

@lilypond[quote,ragged-right,verbatim]
<<
  \relative { a'2 a2 }
  \new Lyrics \lyricmode { \skip 2 bla2 }
>>
@end lilypond

La commande de saut génère simplement une case musicale vide.  Elle ne
produit rien sur la partition, pas même un symbole transparent.  Le code
de saut @code{s} crée tout de même une @internalsref{Staff} et une
@internalsref{Voice} lorsque nécessaire, tout comme les commandes de
note et de silence.  Ainsi, le code suivant aboutit à une portée vide.

@lilypond[quote,ragged-right,verbatim]
{ s4 }
@end lilypond

Le fragment @code{@{ \skip 4 @} } produirait une page vide.

@seealso

Référence du programme : @internalsref{SkipMusic}.



@node Rhythms
@section Rhythms

Des rythmes, durées et mesures.

@menu
* Durations::
* Augmentation dots::
* Tuplets::
* Scaling durations::
* Bar check::
* Barnumber check::
* Automatic note splitting::
@end menu


@node Durations
@subsection Durations

@cindex durées
@funindex \longa
@funindex \breve
@funindex \maxima

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 --- @qq{quarter note}
en anglais --- s'écrit @code{4}, alors qu'une blanche ---
@qq{half-note}, 1/2 ronde --- s'écrit @code{2}.  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.

@example
c'\breve
c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64
r\longa r\breve
r1 r2 r4 r8 r16 r32 r64 r64
@end example

@lilypond[quote]
\score {
\relative c'' {
    a\breve*1/2 \autoBeamOff
    a1 a2 a4 a8 a16 a32 a64 a64
   \bar "empty"
   \break
    r\longa*1/4 r\breve *1/2
    r1 r2 r4 r8 r16 r32 r64 r64
  }
  \layout {
    ragged-right = ##t
    indent=0\mm
    \context {
      \Score
        \remove "Bar_number_engraver"
    }
    \context {
      \Staff
        \remove "Clef_engraver"
        \override StaffSymbol #'transparent = ##t
        \override TimeSignature #'transparent = ##t
        \override BarLine #'transparent = ##t
        \consists "Pitch_squash_engraver"
    }
  }
}
@end lilypond

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

@lilypond[quote,ragged-right,verbatim,fragment]
{ a a a2 a a4 a a1 a }
@end lilypond


@node Augmentation dots
@subsection Augmentation dots

@funindex .

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

@lilypond[quote,ragged-right,fragment,verbatim]
a'4 b' c''4. b'8 a'4. b'4.. c''8.
@end lilypond

@refcommands

Les points sont normalement haussés pour éviter les lignes de portées,
sauf dans certaines polyphonies.  Les commandes suivantes peuvent être
utilisées pour demander manuellement une orientation particulière des
points.

@funindex \dotsUp
@code{\dotsUp},
@funindex \dotsDown
@code{\dotsDown},
@funindex \dotsNeutral
@code{\dotsNeutral}.

@seealso

Référence du programme : @internalsref{Dots}, @internalsref{DotColumn}.


@node Tuplets
@subsection Tuplets

@cindex nolets
@cindex triolets
@funindex \times

Les nolets --- triolets, quintolets, etc. --- sont obtenus en
multipliant toutes les durées d'une expression musicale par une
fraction.

@example
\times @var{fraction} @var{expr_musique}
@end example

@noindent
La durée de @var{expr_musique} sera multipliée par la fraction.  Le
dénominateur de la fraction sera imprimé au-dessus des notes, parfois
avec un crochet.  Le nolet le plus courant est le triolet, dans lequel 3
notes ont la durée de 2, et où les notes durent donc 2/3 de leur valeur
écrite.

@lilypond[quote,ragged-right,fragment,verbatim]
g'4 \times 2/3 {c'4 c' c'} d'4 d'4
@end lilypond

Les nolets peuvent être imbriqués ; par exemple,

@lilypond[fragment,ragged-right,verbatim,relative=2]
\override TupletNumber #'text = #tuplet-number::calc-fraction-text
\times 4/6 {
  a4 a
  \times 3/5 { a a a a a }
}
@end lilypond

@refcommands

@funindex \tupletUp
@code{\tupletUp},
@funindex \tupletDown
@code{\tupletDown},
@funindex \tupletNeutral
@code{\tupletNeutral}.


@commonprop

@funindex tupletNumberFormatFunction
@cindex nolets, formatage

La propriété @code{tupletSpannerDuration} spécifie la longueur voulue de
chaque crochet.  Avec elle, vous pouvez faire plusieurs nolets en ne
tapant @code{\times} qu'une fois, ce qui évite une longue saisie.  Dans
le prochain exemple, deux triolets sont imprimés avec une seule fonction
@code{\times}.

@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
\set tupletSpannerDuration = #(ly:make-moment 1 4)
\times 2/3 { c8 c c c c c }
@end lilypond

@noindent
Pour plus d'information sur @code{make-moment}, voir
@ref{Time administration}.

L'apparence du chiffre est déterminée par la propriété @code{text} dans
@code{TupletNumber}.  La valeur par défaut imprime seulement le
dénominateur, mais si elle est définie par la fonction
@code{tuplet-number::calc-fraction-text}, la fraction entière
@var{num}:@var{den} sera imprimée à la place.

Pour éviter d'imprimer les chiffres des nolets, utilisez

@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
\times 2/3 { c8 c c } \times 2/3 { c8 c c }
\override TupletNumber #'transparent = ##t
\times 2/3 { c8 c c } \times 2/3 { c8 c c }
@end lilypond

Utilisez la fonction @code{\tweak} pour définir une priorité dans le cas
de nolets imbriqués débutant au même moment.  Dans cet exemple,
@code{\tweak} spécifie un texte sous forme de fraction pour le
@code{TupletNumber} externe et de dénominateur pour les trois triolets
internes.

@lilypond[quote,ragged-right,verbatim]
\new Staff {
  \tweak #'text #tuplet-number::calc-fraction-text
  \times 4/3 {
     \tweak #'text #tuplet-number::calc-denominator-text
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
  }
}
@end lilypond

Ici, @code{\tweak} et @code{\override} agissent de concert pour
spécifier le positionnement du @code{TupletBracket}.  Le premier
@code{\tweak} positionne le @code{TupletBracket} du nolet externe au
dessus de la portée. Le second @code{\tweak} positionne le
@code{TupletBracket} du premier triolet interne au dessous de la
portée.  Notez que cette paire de fonctions @code{\tweak} n'affecte
que le triolet extérieur et le premier des trois triolets imbriqués
parce qu'ils commencent au même instant musical.  Nous utilisons
@code{\override} de manière tout à fait normale, pour forcer le
positionnement du @code{TupletBracket} des deuxième et troisième
triolets en dessous de la portée.

@lilypond[quote,ragged-right,verbatim]
\new Staff {
  \tweak #'text #tuplet-number::calc-fraction-text
  \tweak #'direction #up
  \times 4/3 {
     \tweak #'direction #down
     \times 2/3 { c'8[ c'8 c'8] }
     \override TupletBracket #'direction = #down
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
  }
}
@end lilypond

Les crochets de nolets peuvent aller jusqu'aux prémisses de la mesure
suivante, ou à la prochaine note.

@lilypond[ragged-right]
\new RhythmicStaff {
  \set tupletFullLength = ##t
  \time 4/4
  \times 4/5 {
    c4 c1
  }
  \set tupletFullLengthNote = ##t
  \time 2/4
  \times 2/3 {
    c4 c c 
  }
  \time 3/4
  c4 
}
@end lilypond


@seealso

Référence du programme : @internalsref{TupletBracket},
@internalsref{TupletNumber}, @internalsref{TimeScaledMusic}.



@node Scaling durations
@subsection Scaling durations

Vous pouvez altérer la durée des notes en leur joignant une fraction
@var{N/M}, donnant @q{@code{*}@var{N/M}} --- ou @q{@code{*}@var{N}} si
@var{M=1}.  Ceci n'affectera pas l'apparence des notes ou silences
produits.

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

@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\time 2/4
a4*2/3 gis4*2/3 a4*2/3
a4 a4 a4*2
b16*4 c4
@end lilypond


@seealso

Dans ce manuel : @ref{Tuplets}.


@node Bar check
@subsection Bar check

@cindex vérification des limites de mesure
@cindex mesures, vérification des limites
@funindex barCheckSynchronize
@funindex |

Les tests de limites 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, @samp{|}.  Lors du traitement, elle doit correspondre à une
barre de mesure.  Sinon, un avertissement est émis.  Dans l'exemple
suivant, le deuxième test de mesure signale une erreur.
@example
\time 3/4 c2 e4 | g2 |
@end example

Le test de mesure peut être aussi utilisé dans les paroles, par exemple :
@example
\lyricmode @{
 \time 2/4
 Twin -- kle | Twin -- kle
@}
@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.

@funindex |
@funindex pipeSymbol

Il est aussi possible d'attribuer une autre valeur au symbole
@code{|}, en assignant une expression musicale à @code{pipeSymbol},

@lilypond[quote,ragged-right,verbatim]
pipeSymbol = \bar "||"

{ c'2 c' | c'2 c' }
@end lilypond


@node Barnumber check
@subsection Barnumber check

Lorsque l'on recopie de longues pièces, il peut être utile de vérifier
que les numéros de mesures 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 123.


@node Automatic note splitting
@subsection Automatic note splitting

On peut convertir automatiquement les notes longues en notes liées.  Il
faut pour cela remplacer le graveur @internalsref{Note_heads_engraver}
par le graveur @internalsref{Completion_heads_engraver}.  Dans les
exemples suivants, les notes dépassant de la mesure sont divisées et
liées.

@lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
} {
  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
}
@end lilypond

Ce graveur divise toutes les notes qui sortent de la mesure, et insère
des liaisons de prolongation.  Une utilisation posible consiste à
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.

Si vous voulez permettre un saut de ligne aux barres de mesure où
@internalsref{Completion_heads_engraver} divise les notes, vous devez
aussi enlever @internalsref{Forbid_line_break_engraver}.


@refbugs

Bien que toutes les durées --- particulièrement celles contenant des
nolets --- ne puissent pas être représentées exactement avec des notes
normales et des points, le graveur n'insèrera pas de nolets.

@code{Completion_heads_engraver} affecte seulement les notes, il ne
divise pas les silences.

@seealso

Référence du programme : @internalsref{Completion_heads_engraver}.


@node Polyphony
@section Polyphony

La notion musicale de polyphonie fait référence au fait d'avoir plus
d'une voix simultanément dans une pièce.  Dans LilyPond, la notion de
polyphonie fait référence au fait d'avoir plus d'une voix sur la même
portée.

@menu
* Chords::
* Stems::
* Basic polyphony::
* Explicitly instantiating voices::
* Collision Resolution::
@end menu


@node Chords
@subsection Chords

@cindex accords

Un accord est formé en mettant une série de hauteurs entre @code{<}
et @code{>}.  Un accord peut être suivi d'une durée et d'indications
d'articulation, comme une simple note.

@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
<c e g>4 <c>8
@end lilypond

Pour plus d'information à propos des accords, voir @ref{Chord names}.


@node Stems
@subsection Stems

Dès qu'une note est rencontrée, un objet @internalsref{Stem} se crée
automatiquement.  Pour les rondes et les silences, ils sont aussi
créés, mais en mode invisible.

@refcommands

@funindex \stemUp
@code{\stemUp},
@funindex \stemDown
@code{\stemDown},
@funindex \stemNeutral
@code{\stemNeutral}.


@commonprop

Pour changer la direction des hampes au milieu de la portée, utilisez

@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
a4 b c b
\override Stem #'neutral-direction = #up
a4 b c b
\override Stem #'neutral-direction = #down
a4 b c b
@end lilypond


@node Basic polyphony
@subsection Basic polyphony

@cindex polyphonie

La manière la plus facile d'entrer des fragments avec plus d'une voix
sur une portée est d'entrer chaque voix comme une suite de notes
--- entre accolades : @code{@{...@}} --- puis de les combiner simultanément,
en séparant les voix avec @code{\\}

@funindex \\

@lilypond[quote,verbatim,fragment]
\new Staff \relative c' {
  c16 d e f
  <<
    { g4 f e | d2 e2 } \\
    { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\
    { s2. | s4 b4 c2 }
  >>
}
@end lilypond

Le séparateur permet aux contextes @internalsref{Voice}@footnote{Ces
voix polyphoniques sont parfois appelées @qq{couches} ou @qq{calques} dans
d'autres logiciels de notation.}
@cindex couches
@cindex calques
d'être identifiés.  Les contextes de voix portent les noms @code{"1"},
@code{"2"}, etc.  Dans chacun de ces contextes, la direction verticale
des liaisons, hampes, etc. est réglée de manière appropriée.

Ces voix sont toutes distinctes de la voix qui contient les notes en
dehors de la construction @code{<< \\ >>}.  On doit le prendre en compte
lorsqu'on fait des changements au niveau des voix.  Cela veut aussi dire
que les liaisons de prolongation et d'articulation ne peuvent ni entrer
ni sortir de la construction @code{<< \\ >>}.  À l'inverse, des voix
parallèles venant de constructions @code{<< \\ >>} séparées sur la même
portée sont dans les mêmes voix.  Voici le même exemple, avec des têtes
de note différentes pour chaque voix.  Notez que le changement de style
de tête de note n'affecte pas l'intérieur des constructions @code{<< \\
>>}.  Aussi, le changement à la deuxième voix dans la première
construction @code{<< \\ >>} l'affecte aussi dans la deuxième
construction @code{<< \\ >>}, et la voix est liée entre les deux
constructions.

@cindex têtes de note, styles

@lilypond[quote,verbatim,fragment]
\new Staff \relative c' {
  \override NoteHead #'style = #'cross
  c16 d e f
  <<
    { g4 f e } \\
    { \override NoteHead #'style = #'triangle
    r8 e4 d c8 ~ }
  >> |
  <<
    { d2 e2 } \\
    { c8 b16 a b8 g ~ g2 } \\
    { \override NoteHead #'style = #'slash s4 b4 c2 }
  >>
}
@end lilypond

La polyphonie ne change pas la relation des notes dans un bloc
@code{\relative @{ @}}.  Chaque note est calculée en fonction de la note
qui la précède immédiatement, sans tenir compte des différentes voix.

@example
\relative @{ noteA << noteB \\ noteC >> noteD @}
@end example

@code{noteC} est calculé relativement à @code{noteB}, non pas à
@code{noteA} ; @code{noteD} est calculé relativement à @code{noteC}, non
pas à @code{noteB} ou @code{noteA}.


@node Explicitly instantiating voices
@subsection Explicitly instantiating voices

Les contextes @internalsref{Voice} peuvent être déclarés manuellement
dans un bloc @code{<< >>} pour créer de la musique polyphonique, en
utilisant @code{\voiceOne}, @dots{} jusqu'à @code{\voiceFour} pour
assigner des directions de hampes et un déplacement horizontal pour
chaque partie.

En particulier,
@example
<< \upper \\ \lower >>
@end example

@noindent
équivaut à

@example
<<
 \new Voice = "1" @{ \voiceOne \upper @}
 \new Voice = "2" @{ \voiceTwo \lower @}
>>
@end example

Les commandes @code{\voiceXXX} fixent la direction des hampes, des
liaisons de prolongations et de phrasé, des articulations, des
annotations, des points d'augmentation des notes pointées et des
doigtés.  @code{\voiceOne} et @code{\voiceThree} font pointer ces objets
vers le haut, alors que @code{\voiceTwo} et @code{\voiceFour} les font
pointer vers le bas.  La commande @code{\oneVoice} les ramène aux
critères normaux.

Une expression séquentielle qui apparaît en premier dans un @code{<< >>}
appartient à la voix principale.  Ceci est utile lorsque des voix
supplémentaires apparaissent pendant que la voix principale est jouée.
Voici une meilleure réalisation de l'exemple de la section précédente.
Les notes en croix mettent en évidence le fait que la mélodie principale
est maintenant dans un seul contexte de voix.

@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' {
  \override NoteHead #'style = #'cross
  c16 d e f
  \voiceOne
  <<
    { g4 f e | d2 e2 }
    \new Voice="1" { \voiceTwo
      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
      \oneVoice
    }
    \new Voice { \voiceThree
      s2. | s4 b4 c2
      \oneVoice
    }
  >>
  \oneVoice
}
@end lilypond

La définition correcte des voix permet à la mélodie d'être liée.
@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' {
  c16^( d e f
  \voiceOne
  <<
    { g4 f e | d2 e2) }
    \context Voice="1" { \voiceTwo
      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
      \oneVoice
    }
    \new Voice { \voiceThree
      s2. s4 b4 c2
      \oneVoice
    }
  >>
  \oneVoice
}
@end lilypond

Le fait d'éviter le séparateur @code{\\} permet aussi d'imbriquer des
constructions polyphoniques, ce qui peut être une manière plus naturelle
de saisir la musique.

@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' {
  c16^( d e f
  \voiceOne
  <<
    { g4 f e | d2 e2) }
    \context Voice="1" { \voiceTwo
      r8 e4 d c8 ~ |
      <<
        {c8 b16 a b8 g ~ g2}
        \new Voice { \voiceThree
          s4 b4 c2
          \oneVoice
        }
      >>
    \oneVoice
    }
  >>
  \oneVoice
}
@end lilypond

Dans certaines circonstances de polyphonie complexe, vous pourrez être
amené à recourir à des voix supplémentaires afin d'éviter des collisions
de notes.  Ces voix additionnelles s'ajoutent en définissant un
identificateur, comme le montre l'exemple suivant :

@lilypond[quote,verbatim,ragged-right,relative=2]
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

\relative c''' <<
  { \voiceOne g4 ~  \stemDown g32[ f( es d c b a b64 )g] } \\
  { \voiceThree  b4} \\
  { \voiceFive d,} \\
  { \voiceTwo g,}
>>
@end lilypond


@node Collision Resolution
@subsection Collision Resolution

D'ordinaire, les têtes de notes pointées et non-pointées ne sont pas
fusionnées, mais lorsque la propriété @code{merge-differently-dotted} de
l'objet @internalsref{NoteCollision} est définie, elles se trouvent
fusionnées :

@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
\new Voice << {
  g8 g8
  \override Staff.NoteCollision
    #'merge-differently-dotted = ##t
  g8 g8
} \\ { g8.[ f16] g8.[ f16] } >>
@end lilypond

De même, vous pouvez fusionner une tête de blanche avec une tête de
croche, en définissant @code{merge-differently-headed}

@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\new Voice << {
  c8 c4.
  \override Staff.NoteCollision
    #'merge-differently-headed = ##t
c8 c4. } \\ { c2 c2 } >>
@end lilypond

LilyPond décale aussi verticalement les silences à l'opposé des hampes,
par exemple

@lilypond[quote,ragged-right,fragment,verbatim]
\new Voice << c''4 \\ r4 >>
@end lilypond

Lorsque trois notes ou plus s'agglutinent dans un même empilement,
@code{merge-differently-headed} ne peut mener à bien la fusion des deux
notes qui devraient l'être.  Pour obtenir une fusion optimale, appliquez
un décalage (@code{\shift}) à la note qui ne devrait pas s'empiler.
Dans la première mesure de l'exemple suivant,
@code{merge-differently-headed} ne fonctionne pas --- la tête de la
blanche est noire.  Dans la seconde mesure, @code{\shiftOn} s'applique
pour sortir le sol (@code{g}) de l'alignement, et
@code{merge-differently-headed} fonctionne correctement.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\override Staff.NoteCollision #'merge-differently-headed = ##t
<<
  { d=''2 g2 } \\
  { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
  { \voiceFour e,,2 e'2}
>>
<<
  { d'=''2 \shiftOn g2 } \\ 
  { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
  { \voiceFour e,,2 e'2}
>>
@end lilypond


@refcommands

@funindex \oneVoice
@code{\oneVoice},
@funindex \voiceOne
@code{\voiceOne},
@funindex \voiceTwo
@code{\voiceTwo},
@funindex \voiceThree
@code{\voiceThree},
@funindex \voiceFour
@code{\voiceFour}.

@funindex \shiftOn
@code{\shiftOn},
@funindex \shiftOnn
@code{\shiftOnn},
@funindex \shiftOnnn
@code{\shiftOnnn},
@funindex \shiftOff
@code{\shiftOff} : toutes ces commandes précisent le degré de décalage
des notes de la voix courante.  Les voix externes --- habituellement,
les voix une et deux --- ont @code{\shiftOff}, alors que les voix
internes --- trois et quatre --- ont @code{\shiftOn}.  @code{\shiftOnn}
et @code{\shiftOnnn} sont des niveaux supplémentaires de décalage.

Quand LilyPond est dépassé, la propriété @code{force-hshift} de l'objet
@internalsref{NoteColumn}, et des silences à hauteur déterminée, peuvent
s'avérer utiles pour dicter au programme les choix de placement.

@lilypond[quote,verbatim,ragged-right]
\relative <<
{
  <d g>
  <d g>
} \\ {
  <b f'>
  \once \override NoteColumn #'force-hshift = #1.7
  <b f'>
} >>
@end lilypond


@seealso
Référence du programme : les objets appropriés pour résoudre les
collisions sont @internalsref{NoteCollision} et
@internalsref{RestCollision}.


@refbugs

Quand @code{merge-differently-headed} est utilisé avec une croche ou
une valeur plus courte à hampe vers le haut, et une blanche hampe vers
le bas, la croche se retrouve à la mauvaise place.

Il n'y a aucune prise en charge des agrégats dans lesquels une même note
apparaît avec différentes altérations.  Il est conseillé d'avoir recours
aux enharmoniques, ou d'utiliser la notation spécifique de cluster ---
voir @ref{Clusters}.



@node Staff notation
@section Staff notation

@cindex Staff notation

De la notation musicale concernant la portée, comme
les armures, les clefs ou les chiffres de mesure.

@menu
* Clef::
* Key signature::
* Time signature::
* Partial measures::
* Bar lines::
* Unmetered music::
* System start delimiters::
* Staff symbol::
* Writing music in parallel::
@end menu


@node Clef
@subsection Clef

@funindex \clef

La clé indique quelles lignes de la portée correspondent à telles
hauteurs.  Elle est réglée par la commande @code{\clef}.

@lilypond[quote,ragged-right,fragment,verbatim]
{ c''2 \clef alto g'2 }
@end lilypond

@cindex clé de sol
@cindex clé de fa
@cindex clé d'ut

Les clés prises en charge sont

@multitable @columnfractions .33 .66
@headitem Clef @tab Position
@item @code{treble}, violin, G, G2 @tab Clé de sol 2e ligne
@item @code{alto, C} @tab Clé d'ut 3e ligne
@item @code{tenor} @tab Clé d'ut 4e ligne
@item @code{bass, F} @tab Clé de fa 4e ligne
@item @code{french} @tab Clé de sol 1e ligne
@item @code{soprano} @tab Clé d'ut 1e ligne
@item @code{mezzosoprano} @tab Clé d'ut 2e ligne
@item @code{baritone} @tab Clé d'ut 5e ligne
@item @code{varbaritone} @tab Clé de fa 3e ligne
@item @code{subbass} @tab Clé de fa 5e ligne
@item @code{percussion} @tab Clé de percussion
@item @code{tab} @tab Clé de tablature
@end multitable

En ajoutant @code{_8} ou @code{^8} au nom de la clé, celle-ci est
transposée à l'octave respectivement inférieure ou supérieure, et
@code{_15} ou @code{^15} la transpose de deux octaves.  L'argument
@var{clefname} doit être mis entre guillemets lorsqu'il contient un
caractère @qq{souligné} ou des chiffres.  Par exemple,


@cindex choral tenor clef
@lilypond[quote,ragged-right,verbatim,fragment,relative=1]
\clef "G_8" c4
@end lilypond


@commonprop

La commande @code{\clef "treble_8"} équivaut à définir @code{clefGlyph},
@code{clefPosition} --- qui contrôle la position verticale de la clé ---
@code{middleCPosition} et @code{clefOctavation}.  Une clé est imprimée
lorsque l'une de ces propriétés est changée.  Les exemples suivant font
apparaître des possibilités de réglage manuel de ces propriétés.

@lilypond[quote,ragged-right,verbatim]
{
  \set Staff.clefGlyph = #"clefs.F"
  \set Staff.clefPosition = #2
  c'4
  \set Staff.clefGlyph = #"clefs.G"
  c'4
  \set Staff.clefGlyph = #"clefs.C"
  c'4
  \set Staff.clefOctavation = #7
  c'4
  \set Staff.clefOctavation = #0
  \set Staff.clefPosition = #0
  c'4
  \clef "bass"
  c'4
  \set Staff.middleCPosition = #4
  c'4
}
@end lilypond


@seealso

Dans ce manuel : @ref{Grace notes}.

Référence du programme : @internalsref{Clef}.


@node Key signature
@subsection Key signature

@cindex armure
@funindex \key

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

On définit ou modifie l'armure avec la commande @code{\key}

@example
@code{\key} @var{hauteur} @var{type}
@end example

@funindex \minor
@funindex \major
@funindex \minor
@funindex \ionian
@funindex \locrian
@funindex \aeolian
@funindex \mixolydian
@funindex \lydian
@funindex \phrygian
@funindex \dorian
@cindex modes anciens

Ici, @var{type} doit être @code{\major} ou @code{\minor} afin d'avoir
respectivement @var{hauteur}-major ou @var{hauteur}-minor.  Vous pouvez
aussi avoir recours aux modes anciens que sont @code{\ionian},
@code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian},
@code{\phrygian}, et @code{\dorian}.

Cette commande fixe la propriété de contexte @code{Staff.keySignature}.
Des armures inhabituelles peuvent être spécifiées en modifiant
directement cette propriété.

Les nouveaux utilisateurs s'embrouillent souvent dans les altérations et
les armures, car des notes naturelles prennent ou non un bécarre selon
l'armure.  Pour plus d'informations, voir @ref{Accidentals} ou
@ref{Accidentals and key signatures}.

@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
\key g \major
f1
fis
@end lilypond


@commonprop

Un bécarre est imprimé pour annuler toute altération précédente.  Ceci
peut être supprimé en réglant la propriété
@code{Staff.printKeyCancellation}.

@lilypond[quote,fragment,ragged-right,fragment,verbatim,relative=2]
\key d \major
a b cis d
\key g \minor
a bes c d
\set Staff.printKeyCancellation = ##f
\key d \major
a b cis d
\key g \minor
a bes c d
@end lilypond


@seealso

Référence du programme : @internalsref{KeyCancellation},
@internalsref{KeySignature}.


@node Time signature
@subsection Time signature

@cindex chiffrage de mesure
@cindex chiffre indicateur de mesure
@cindex métrique
@funindex \time

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

Le chiffre de mesure est réglé par la commande @code{\time}.

@lilypond[quote,ragged-right,fragment,verbatim]
\time 2/4 c'2 \time 3/4 c'2.
@end lilypond

@commonprop

Le symbole imprimé peut être modifié avec la propriété @code{style}.
En la réglant sur @code{#'()}, une fraction sera utilisée pour les
chiffres de mesure 4/4 et 2/2.

@lilypond[fragment,quote,ragged-right,verbatim]
\time 4/4 c'1
\time 2/2 c'1
\override Staff.TimeSignature #'style = #'()
\time 4/4 c'1
\time 2/2 c'1
@end lilypond

Il y a bien d'autres options pour sa mise en place.  Voir @ref{Ancient time
signatures} pour plus d'exemples.

@code{\time} définit les propriétés @code{timeSignatureFraction},
@code{beatLength} et @code{measureLength} dans le contexte
@code{Timing}, qui en principe est assimilé à @internalsref{Score}.  La
propriété @code{measureLength} détermine où des barres de mesure doivent
être insérées, et comment les groupements de notes doivent être gérés.
La modification de la valeur de @code{timeSignatureFraction} donne
également lieu à l'impression d'un symbole.

Plus d'options sont accessibles au moyen de la fonction Scheme
@code{set-time-signature}.  De concert avec le
@internalsref{Measure_grouping_engraver}, elle crée les signes de
@internalsref{MeasureGrouping}, qui facilitent la lecture de musiques
modernes, complexes rythmiquement.  Dans l'exemple suivant, les mesures
à 9/8 sont subdivisées en @code{(2 2 2 3)}, ce qui est donné comme
argument à la commande @code{set-time-signature}, en troisième position.

@lilypond[quote,ragged-right,verbatim]
\score {
  \relative c'' {
    #(set-time-signature 9 8 '(2 2 2 3))
    g8[ g] d[ d] g[ g] a8[( bes g]) |
    #(set-time-signature 5 8 '(3 2))
    a4. g4
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}
@end lilypond


@seealso

Référence du programme : @internalsref{TimeSignature} et
@internalsref{Timing_translator}.

Exemples : @lsr{contemporary,compound-time-signature.ly}.


@refbugs

Le groupement automatique des ligatures n'utilise pas les groupements
spécifiés par @code{set-time-signature}.


@node Partial measures
@subsection Partial measures

@cindex anacrouse
@cindex levée
@cindex mesure incomplète
@funindex \partial


Les mesures incomplètes, telles que les anacrouses ou levées, doivent
être entrées avec la commande

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\partial 16*5 c16 cis d dis e | a2. c,4 | b2
@end lilypond


La syntaxe de cette commande est

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

@code{durée} étant la valeur rythmique devant être ajoutée avant la
mesure suivante.

Le programme traduit cette commande en

@example
\set Timing.measurePosition = -@var{durée}
@end example


La propriété @code{measurePosition} contient un nombre rationnel qui
indique, à ce point précis, où l'on en est de la mesure. Notez qu'il
peut s'agir d'un nombre négatif ; @code{\partial 4} signifie, pour le
programme : @qq{Dans cette mesure, il reste juste une noire}.


@refbugs

Cette commande ne prend pas en compte les notes d'ornement ou
appoggiatures au début de la musique. Lorsqu'un morceau commence par une
levée et avec des petites notes, la commande @code{\partial} devrait être
placée après celles-ci.

@lilypond[verbatim,quote,ragged-right,relative,fragment]
\grace f16
\partial 4
g4
a2 g2
@end lilypond

@code{\partial} n'est destiné à être utilisé qu'en début de pièce.
Si on l'utilise ailleurs qu'au début, des messages d'erreurs peuvent
s'afficher.


@node Bar lines
@subsection Bar lines

@cindex barres de mesure
@funindex \bar
@cindex barres de reprise


Les barres de mesures délimitent les mesures, mais peuvent aussi
indiquer une reprise. En principe, elles sont insérées automatiquement,
et les sauts de ligne ne peuvent avoir lieu qu'au niveau de ces barres.

Il est possible de forcer l'impression d'une barre de mesure spéciale,
avec la commande @code{\bar} :

@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
c4 \bar "|:" c4
@end lilypond


Les styles de barres de mesure disponibles sont

@lilypondfile[ragged-right,quote]{bar-lines.ly}


En plus de cela, on peut demander @code{"||:"}, qui équivaut à
@code{"|:"}, mais qui donnera, en cas de saut de ligne, une double barre
en fin de ligne, et une barre de reprise au début de la ligne suivante.

Il est possible d'autoriser un saut de ligne même s'il n'y a pas
de barre de mesure visible, en utilisant :

@example
\bar ""
@end example

@noindent


Ceci insérera une barre de mesure invisible, et permettra de sauter de
ligne à cet endroit, sans incrémenter le numéro de mesure.


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,ragged-right,fragment,verbatim]
<<
  \new StaffGroup <<
    \new Staff {
      e'4 d'
      \bar "||"
      f' e'
    }
    \new Staff { \clef bass c4 g e g }
  >>
  \new Staff { \clef bass c2 c2 }
>>
@end lilypond


@commonprop

@funindex whichBar
@funindex repeatCommands
@funindex defaultBarType


La commande @code{\bar }@var{bartype} sert de raccourci pour @code{\set
Timing.whichBar = }@var{bartype}.  Dès que l'on définit @code{whichBar},
une barre de mesure est créée selon le style défini.


Dès que la propriété @code{whichBar} est définie, une barre de mesure
est créée.  À chaque début de mesure, elle prend la valeur de
@code{Timing.defaultBarType}.  La valeur de @code{repeatCommands} sert à
remplacer les barres de mesure par défaut.

Nous vous invitons à utiliser @code{\repeat} pour indiquer les
reprises. Voyez à ce sujet @ref{Repeats}.


@seealso

Dans ce manuel : @ref{Repeats}, @ref{System start delimiters}.

Référence du programme : @internalsref{BarLine} (faisant partie du
contexte @internalsref{Staff}), @internalsref{SpanBar} (sur plusieurs
portées).


@node Unmetered music
@subsection Unmetered music

@cindex cadence
@funindex \cadenzaOn
@funindex \cadenzaOff


Les barres de mesure et les numéros de mesure sont calculés
automatiquement, ce qui n'est pas souhaitable dans le cas d'une musique
non mesurée --- les cadences, par exemple. Les commandes
@code{\cadenzaOn} et @code{\cadenzaOff} permettent de désactiver et de
rétablir la métrique automatique.

@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
c4 d e d
\cadenzaOn
c4 c d8 d d f4 g4.
\cadenzaOff
\bar "|"
d4 e d c
@end lilypond


@refbugs

LilyPond ne change de ligne ou de page qu'au niveau des barres de
mesure.  Si votre musique non mesurée dure plus d'une ligne, il vous
faudra insérer des barres de mesure invisibles, pour indiquer à quels
endroit un saut de ligne peut intervenir.

@example
\bar ""
@end example

@noindent


@node System start delimiters
@subsection System start delimiters

@cindex système, début de
@cindex crochet vertical
@cindex accolade verticale
@cindex portée multiple
@cindex portées, groupe de

De nombreuses partitions sont écrites sur plusieurs portées.  Ces
portées peuvent être regroupées de quatre manières différentes.

@itemize @bullet
@item Le groupe de portées est attaché par une accolade sur la gauche,
et les barres de mesure sont d'un seul tenant. Il s'agit du contexte
@internalsref{GrandStaff}.

@lilypond[verbatim,ragged-right,quote]
\new GrandStaff
\relative <<
  \new Staff { c1 c }
  \new Staff { c c }
>>
@end lilypond

@item Le groupe de portées est attaché par un crochet, et les barres
de mesure sont d'un seul tenant. Il s'agit du contexte
@internalsref{StaffGroup}.

@lilypond[verbatim,ragged-right,quote]
\new StaffGroup
\relative <<
  \new Staff { c1 c }
  \new Staff { c c }
>>
@end lilypond



@item Le groupe de portées est attaché par un crochet, mais les barres
de mesure sont séparées d'une portée à l'autre. Il s'agit du contexte
@internalsref{ChoirStaff}.

@lilypond[verbatim,ragged-right,quote]
\new ChoirStaff
\relative <<
  \new Staff { c1 c }
  \new Staff { c c }
>>
@end lilypond

@item Les portées du groupe ne sont pas attachées (hormis par une
simple ligne verticale). Les barres de mesure sont détachées. Il
s'agit de l'assemblage par défaut.

@lilypond[verbatim,ragged-right,quote]
\relative <<
  \new Staff { c1 c }
  \new Staff { c c }
>>
@end lilypond
@end itemize


@seealso

Les barres de mesure au début de chaque système prennent l'un des styles
@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
@internalsref{SystemStartBracket}.  Dans chaque contexte, seul l'un de
ces styles est utilisé, et c'est la propriété
@internalsref{systemStartDelimiter} qui détermine lequel.

@commonprop

Les accolades et crochets délimitant les systèmes peuvent être imbriqués
en profondeur,

@lilypond[quote,ragged-right,verbatim]
\new StaffGroup
\relative <<
  \set StaffGroup.systemStartDelimiterHierarchy
    = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
>>
@end lilypond


@node Staff symbol
@subsection Staff symbol

@cindex symbole de portée
@cindex portée, lignes de

Les notes, nuances, etc. sont regroupés dans un assemblage de lignes
horizontales, que l'on nomme la portée (en anglais @qq{staff}, et
@qq{staves} au pluriel).  Dans LilyPond, ces lignes sont dessinées au
moyen d'un objet de mise en forme à part entière, nommé @code{staff
symbol} --- symbole de portée.


L'aspect du symbole de portée peut être modifié selon différentes
propriétés, telles que le nombre de lignes, leur épaisseur, ou leur
éloignement. Vous en trouverez des exemples dans
@lsr{staff,changing-the-number-of-lines-in-a-staff.ly} et
@lsr{staff,changing-the-staff-size.ly}.


De plus, la portée peut commencer et s'arrêter où l'on veut, grâce aux
commandes @code{\startStaff} et @code{\stopStaff}.

@lilypond[verbatim,relative=2,fragment]
b4 b
\override Staff.StaffSymbol #'line-count = 2
\stopStaff \startStaff
b b
\revert Staff.StaffSymbol #'line-count
\stopStaff \startStaff
b b
@end lilypond

Cette manière de procéder peut être utilisée pour introduire des
@qq{ossias}, ou dans des partitions à nombre de portées variable,
comme sur l'exemple suivant :

@cindex ossia

@lilypondfile{ossia.ly}

@cindex lignes de portée, nombre de
@cindex lignes de portée, épaisseur des
@cindex épaisseur des lignes de portées
@cindex nombre de lignes de portée

@seealso

Référence du programme : @internalsref{StaffSymbol}.

D'autres exemples : @lsrdir{staff}.


@node Writing music in parallel
@subsection Writing music in parallel

@cindex écrire la musique en parallèle
@cindex musique en parallèle
@cindex musique entremêlée

On peut écrire plusieurs voix de façon entremêlée :

@lilypond[quote,fragment,verbatim]
\parallelMusic #'(voiceA voiceB) {
  r8     g'16[ c''] e''[ g' c'' e''] r8     g'16[ c''] e''[ g' c'' e''] |
  c'2                                c'2                                |
  r8     a'16[ d''] f''[ a' d'' f''] r8     a'16[ d''] f''[ a' d'' f''] |
  c'2                                c'2                                |
}
\new StaffGroup <<
  \new Staff \new Voice \voiceA
  \new Staff \new Voice \voiceB
>>
@end lilypond

Ceci fonctionne bien avec la musique pour piano :

@lilypond[quote,verbatim]
music = {
  \key c \major
  \time 4/4
  \parallelMusic #'(voiceA voiceB voiceC voiceD) {
    % Bar 1
    r8  g'16[ c''] e''[ g' c'' e''] r8  g'16[ c''] e''[ g' c''
e''] |
    c'2                                 c'2 |
    r8  a16[ d'] f'[ a d' f']       r8  a16[ d'] f'[ a d' f'] |
    c2                                  c2 |

    % Bar 2
    a'8 b'      c'' d''    e'' f''    g'' a'' |
    d'4         d'         d'         d' |
    c16 d e f   d e f g    e f g a    f g a b |
    a,4         a,4        a,4        a,4 |

    % Bar 3 ...
  }
}

\score {
  \new PianoStaff <<
    \music
    \new Staff <<
      \voiceA \\
      \voiceB
    >>
    \new Staff {
      \clef bass
      <<
        \voiceC \\
        \voiceD
      >>
    }
  >>
}
@end lilypond


@node Connecting notes
@section Connecting notes

De la notation qui affecte des groupes de notes.

@menu
* Ties::
* Slurs::
* Phrasing slurs::
* Laissez vibrer ties::
* Automatic beams::
* Manual beams::
* Grace notes::
@end menu


@node Ties
@subsection Ties

@cindex liaison de prolongation
@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, et ne
doit donc pas être confondue avec les liaisons d'articulation ou de
phrasé.  Une liaison de tenue est indiquée au moyen d'un tilde @samp{~}.

@lilypond[quote,ragged-right,fragment,verbatim]
e' ~ e' <c' e' g'> ~ <c' e' g'>
@end lilypond


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,ragged-right,fragment,verbatim,relative=1]
<c~ e g~ b> <c e g b>
@end lilypond


Une liaison de tenue est un moyen parmi d'autres pour prolonger la durée
d'une note, tout comme les points.  L'exemple suivant montre deux
manières de matérialiser exactement la même idée :


@lilypond[quote,fragment,ragged-right]
\time 3/4 c'2. c'2 ~ c'4
@end lilypond

@noindent
Les liaisons de tenues 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 subidivisions de la mesure, comme ici :

@c KEEP LY
@lilypond[fragment,quote,ragged-right]
\relative {
  r8^"oui" c8 ~ c2 r4 | r8^"non" c2 ~ c8 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
--- voir @ref{Automatic note splitting}.  Ce procédé divise
automatiquement les notes trop longues, et les lie par-delà les barres
de mesure.

@funindex \repeatTie

Lorsqu'une mesure de seconde fois après une reprise commence sur une
note liée, la liaison doit être répétée. C'est à cela que sert la
commande @code{\repeatTie} :

@lilypond[fragment,quote,ragged-right,relative=2]
r <c e g>\repeatTie
@end lilypond

@cindex liaison de prolongation, répétition
@cindex reprises avec alternatives et liaisons de prolongation

@commonprop

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

@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
\set tieWaitForNote = ##t
\grace { c16[~ e~ g]~ } <c, e g>2
\repeat "tremolo" 8 { c32~ c'~ } <c c,>1
e8~ c~ a~ f~ <e' c a f>2
@end lilypond

Il est possible de graver manuellement les liaisons de tenue, en
changeant la propriété @code{tie-configuration}.  Pour chaque paire, le
premier nombre indique la distance à la portée, en espaces de portée, et
le deuxième nombre indique la direction --- 1 pour haut, @minus{}1 pour
bas.

@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
<c e g>2~ <c e g> |
\override TieColumn #'tie-configuration =
  #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
<c e g>~ <c e g> |
@end lilypond


@refcommands

@funindex \tieUp
@code{\tieUp},
@funindex \tieDown
@code{\tieDown},
@funindex \tieNeutral
@code{\tieNeutral},
@funindex \tieDotted
@code{\tieDotted},
@funindex \tieDashed
@code{\tieDashed},
@funindex \tieSolid
@code{\tieSolid}.


@seealso

Dans ce même manuel : @ref{Automatic note splitting}.

Référence du programme : @internalsref{Tie}.


@refbugs

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

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


@node Slurs
@subsection Slurs

@cindex legato
@cindex liaison d'articulation

Une liaison d'articulation indique que les notes doivent être jouées
liées, ou @emph{legato}.  Ces liaisons s'indiquent au moyen de
parenthèses.

@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
f( g a) a8 b( a4 g2 f4)
<c e>2( <b d>2)
@end lilypond


On peut indiquer l'orientation des liaisons suivantes avec
@code{\slur@emph{DIR}}, @code{@emph{DIR}} pouvant être @code{Up} pour
une liaison vers le haut, @code{Down} pour une liaison vers le bas, ou
@code{Neutral} pour laisser LilyPond décider.

Il existe également un raccourci pratique pour forcer l'orientation
d'une seule liaison.  Il suffit pour cela d'ajouter @code{_} ou @code{^}
avant d'ouvrir une parenthèse.

@lilypond[relative=2,ragged-right,quote,verbatim,fragment]
c4_( c) c^( c)
@end lilypond


Une seule liaison d'articulation peut être imprimée à la fois.  S'il est
nécessaire d'imprimer une liaison plus longue, englobant des liaisons
plus courtes, utilisez des @ref{Phrasing slurs}.


@commonprop

Certains auteurs utilisent deux liaisons lorsqu'ils veulent
lier des accords. Dans LilyPond, il faut pour cela définir à
@emph{vrai} (@q{true}) la propriété @code{doubleSlurs} :

@lilypond[verbatim,ragged-right,relative,fragment,quote]
\set doubleSlurs = ##t
<c e>4 ( <d f> <c e> <d f> )
@end lilypond


@refcommands

@funindex \slurUp
@code{\slurUp},
@funindex \slurDown
@code{\slurDown},
@funindex \slurNeutral
@code{\slurNeutral},
@funindex \slurDashed
@code{\slurDashed},
@funindex \slurDotted
@code{\slurDotted},
@funindex \slurSolid
@code{\slurSolid}.

@seealso

Référence du programme : @seeinternals{Slur}.


@node Phrasing slurs
@subsection Phrasing slurs

@cindex liaisons de phrasé
@cindex phrasé, liaisons de

Une liaison de phrasé relie plusieurs notes en délimitant une phrase
musicale.  On indique les points de départ et d'arrivée avec @code{\(}
et @code{\)} respectivement.

@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
\time 6/4 c'\( d( e) f( e) d\)
@end lilypond


D'un point de vue typographique, rien ne distingue une liaison de phrasé
d'une liaison d'articulation. Cependant, LilyPond les considère comme
des objets différents. Une commande @code{\slurUp} n'affectera donc pas
une liaison de phrasé : il faut plutôt utiliser @code{\phrasingSlurUp},
@code{\phrasingSlurDown} ou @code{\phrasingSlurNeutral}.

Il n'est pas possible d'avoir plusieurs liaisons de phrasé en même temps.


@refcommands

@funindex \phrasingSlurUp
@code{\phrasingSlurUp},
@funindex \phrasingSlurDown
@code{\phrasingSlurDown},
@funindex \phrasingSlurNeutral
@code{\phrasingSlurNeutral}.


@seealso

Référence du programme : @internalsref{PhrasingSlur}.


@node Laissez vibrer ties
@subsection Laissez vibrer ties

@cindex laissez vibrer
@cindex liaison, laissez vibrer

Les liaisons @qq{Laissez vibrer} (L.V.) sont utilisées pour le piano, la
harpe, et certains instruments de percussion.  Elles indiquent à
l'instrumentiste de laisser sonner la note ou l'accord au lieu de
l'étouffer.  Cet effet s'obtient avec la commande @code{\laissezVibrer}.

@lilypond[fragment,ragged-right,verbatim,relative=1]
<c f g>\laissezVibrer
@end lilypond

@seealso

Référence du programme :
@internalsref{LaissezVibrerTie}
@internalsref{LaissezVibrerTieColumn}

D'autres exemples :
@lsr{connecting,laissez-vibrer-ties.ly}


@node Automatic beams
@subsection Automatic beams

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

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
@end lilypond

Lorsque ces décisions automatiques ne sont pas satisfaisantes, on peut
définir des groupements manuellement --- voir section suivante --- ou
personnaliser les groupements automatiques --- voir @ref{Setting
automatic beam behavior}.

La commande @code{\noBeam} peut servir à empêcher des notes
individuelles d'être rattachées aux autres.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\time 2/4 c8 c\noBeam c c
@end lilypond


@seealso

Référence du programme : @internalsref{Beam}.


@node Manual beams
@subsection Manual beams

@cindex groupements de note manuels
@cindex ligatures manuelles
@funindex ]
@funindex [

Dans certaines situations, il peut s'avérer nécessaire de
supplanter l'algorithme de groupement automatique des notes, par
exemple pour prolonger une ligature par-dessus un silence ou une barre
de mesure.  Le début et la fin de la ligature sont alors indiqués par
@code{[} et @code{]}.

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
{
  r4 r8[ g' a r8] r8 g[ | a] r8
}
@end lilypond


@commonprop

@funindex stemLeftBeamCount
@funindex stemRightBeamCount

En principe, les sous-groupes à l'intérieur d'un groupement de notes
sont déterminés automatiquement.  Cependant, les propriétés
@code{stemLeftBeamCount} et @code{stemRightBeamCount} permettent
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.

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
{
   f8[ r16
      f g a]
   f8[ r16
   \set stemLeftBeamCount = #1
      f g a]
}
@end lilypond

La propriété @code{subdivideBeams} sert à grouper les double-croches
ou les valeurs plus brèves pulsation par pulsation, la pulsation
étant définie par la propriété @code{beatLength}.

@lilypond[fragment,quote,relative=2,verbatim]
c16[ c c c c c c c]
\set subdivideBeams = ##t
c16[ c c c c c c c]
\set Score.beatLength = #(ly:make-moment 1 8)
c16[ c c c c c c c]
@end lilypond
@funindex subdivideBeams

@noindent
Pour plus d'information sur @code{make-moment}, voir
@ref{Time administration}.

Lorsqu'une ligature ntre des notes franchit une barre de mesure, le saut
de ligne est en principe interdit à cet endroit.  Ce comportement peut
être outrepassé en définissant @code{breakable}.

@funindex breakable

@cindex ligatures et sauts de ligne
@cindex ligatures coudées
@cindex auto-knee-gap

LilyPond insère automatiquement des ligatures coudées --- certaines
notes vers le haut, d'autres vers le bas --- lorsqu'il détecte un espace
important entre des têtes de notes. Ce comportement peut être changé par
l'intermédiaire de l'objet @code{auto-knee-gap}


@refbugs

Les ligatures coudées à cheval sur deux portées ne peuvent être
employées en même temps que des portées invisibles.  Voir
@ref{Hiding staves}.

@c Is this still true with skyline spacing stuff? -J.Mandereau
Les ligatures peuvent entrer en collision avec des symboles entourant
les notes, contrairement aux textes ou aux altérations.


@node Grace notes
@subsection Grace notes

@funindex \grace
@cindex ornements
@cindex notes d'ornement
@cindex appoggiature
@cindex accacciature
@cindex petite note


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

Ces petites notes sont entrées avec les commandes @code{\acciaccatura}
et @code{\appoggiatura}, comme le montre l'exemple suivant :

@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
b4 \acciaccatura d8 c4 \appoggiatura e8 d4
\acciaccatura { g16[ f] } e4
@end lilypond


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

@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
c4 \grace c16 c4
\grace { c16[ d16] } c2 c4
@end lilypond

@noindent
Contrairement à @code{\acciaccatura} ou @code{\appoggiatura}, la 
commande @code{\grace} ne provoque pas de liaison.

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

@lilypond[quote,ragged-right]
<<
  \relative c''{
    c4 \grace c16 c4 \grace {
    c16[ d16] } c2 c4
  }
  \new Lyrics \lyricmode {
    \override LyricText #'font-family = #'typewriter

    \markup { (0,0) } 4
    \grace { \markup {
      ( \fraction 1 4 , \fraction -1 16 ) } 16 }
    \markup { (\fraction 1 4 , 0 ) } 4
    \grace {
      \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
      \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
    }
    \markup { ( \fraction 2 4 , 0 ) }
  }
>>
@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,ragged-right,relative=2,verbatim,fragment]
<< \new Staff { e4 \grace { c16[ d e f] } e4 }
   \new Staff { c4 \grace { g8[ b] } c4 } >>
@end lilypond

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

@lilypond[ragged-right, verbatim,relative=2,fragment]
c1 \afterGrace d1 { c16[ d] } c4
@end lilypond

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

@example
#(define afterGraceFraction (cons 7 8))
@end example

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

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

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\new Voice {
  << { d1^\trill_( }
     { s2 \grace { c16[ d] } } >>
  c4)
}
@end lilypond

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

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

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\new Voice {
  \acciaccatura {
    \stemDown
    f16->
    \stemNeutral
  }
  g4
}
@end lilypond

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

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

@example
\new Staff @{
 #(add-grace-property 'Voice 'Stem 'direction '())
 @dots{}
@}
@end example

@noindent
Il est par ailleurs possible de modifier les variables
@code{startGraceMusic}, @code{stopGraceMusic},
@code{startAcciaccaturaMusic}, @code{stopAcciaccaturaMusic},
@code{startAppoggiaturaMusic}, et @code{stopAppoggiaturaMusic}.
Pour plus de détails, voir le fichier @file{ly/@/grace@/-init@/.ly}.

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


@commonprop

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

@lilypond[relative=2,ragged-right]
<<
  \override Score.SpacingSpanner #'strict-grace-spacing = ##t
  \new Staff {
     c'4
     \afterGrace
     c'4
     { c'16[ c'8 c'16] }
     c'4
  }  
  \new Staff {
     c'16[ c'16 c'16 c'16]
     c'16[ c'16 c'16 c'16]
     c'4
  }
>>
@end lilypond


@seealso

Référence du programme : @internalsref{GraceMusic}.


@refbugs

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

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

@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
<< \new Staff { e4 \bar "|:" \grace c16 d4 }
   \new Staff { c4 \bar "|:" d4 } >>
@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},
correspondant à la durée des petites notes.

@example
\new Staff @{ c4 \bar "|:" \grace s16 d4 @}
@end example

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.


@node Expressive marks
@section Expressive marks

Les signes d'interprétation aident les musiciens à faire en sorte que la
musique soit plus qu'un assemblage de notes et de rythmes.

@menu
* Articulations::
* Fingering instructions::
* Dynamics::
* Breath marks::
* Trills::
* Glissando::
* Arpeggio::
* Falls and doits::
@end menu


@node Articulations
@subsection Articulations

@cindex articulations
@cindex symboles d'ornementation
@cindex ornementations, symboles


Différents symboles peuvent être ajoutés au-dessus ou au-dessous des
notes pour indiquer des ponctuations ou des modes de jeu différents.
On les ajoute à chaque note au moyen d'un tiret suivi du caractère
correspondant à l'articulation désirée.  En voici une démonstration :

@lilypondfile[quote,ragged-right]{script-abbreviations.ly}

Il est possible de changer la signification de ces raccourcis : voir des
exemples dans @file{ly/@/script@/-init@/.ly}.

Même si LilyPond place automatiquement ces symboles, il est possible de
l'obliger à les placer au-dessus ou en-dessous de la note, tout comme
d'autres objets, en utilisant respectivement @code{^} et @code{_}.

@lilypond[quote,ragged-right,fragment,verbatim]
c''4^^ c''4_^
@end lilypond

On peut ajouter d'autres symboles, avec la syntaxe
@var{note}@code{\}@var{symbole}.  Ici encore, on peut forcer leur
orientation avec @code{^} and @code{_}.

@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
c\fermata c^\fermata c_\fermata
@end lilypond

@cindex accent
@cindex marcato
@cindex staccatissimo
@cindex espressivo
@cindex point d'orgue
@cindex point d'arrêt
@cindex staccato
@cindex portato
@cindex tenuto
@cindex tirer l'archet
@cindex pousser l'archet
@cindex bouché
@cindex sourdine
@cindex orgue, marque de pédale d'
@cindex grupetto
@cindex ouvert
@cindex flageolet
@cindex trille
@cindex mordant
@cindex ornementation baroque
@cindex baroque, ornementation
@cindex pouce
@cindex segno
@cindex coda
@cindex varcoda


Voici la liste exhaustive des symboles :

@lilypondfile[ragged-right,quote]{script-chart.ly}

@commonprop

Les symboles s'ordonnent verticalement suivant la propriété
@code{script-priority}. Plus sa valeur numérique est faible, plus le
symbole sera proche de la note. Dans l'exemple suivant, l'objet
@internalsref{TextScript} --- le dièse --- a d'abord la propriété la
plus basse, et il est donc placé plus près de la note ; ensuite c'est
l'objet @internalsref{Script} qui a la propriété la plus basse, et il se
place alors sous le dièse.  Lorsque deux objets ont la même priorité,
c'est l'ordre dans lequel ils sont indiqués qui détermine lequel sera
placé en premier.

@lilypond[verbatim,relative=3,ragged-right,fragment,quote]
\once \override TextScript #'script-priority = #-100
a4^\prall^\markup { \sharp }

\once \override Script #'script-priority = #-100
a4^\prall^\markup { \sharp }
@end lilypond


@seealso

Référence du programme : @internalsref{Script}.


@refbugs

Ces symboles sont présents sur la partition imprimée, mais
n'ont pas d'effet sur le rendu de la musique en MIDI.


@node Fingering instructions
@subsection Fingering instructions

@cindex fingering
@cindex finger change


Les doigtés peuvent être indiqués comme suit :
@example
@var{note}-@var{chiffre_du_doigt}
@end example
Pour les substitutions de doigts, on a recours à une indication
textuelle (commande @code{\markup}) de doigté
(commande @code{\finger}).

@lilypond[quote,verbatim,ragged-right,fragment,relative=1]
c4-1 c-2 c-3 c-4
c^\markup { \finger "2 - 3" }
@end lilypond


La commande @code{\thumb} peut être utilisée pour indiquer, par exemple
dans une partition de violoncelle, si une note doit être jouée avec le
pouce (@q{thumb} en anglais).

@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
<a_\thumb a'-3>8 <b_\thumb b'-3>
@end lilypond


Les doigtés des accords peuvent être saisis note par note,
en les indiquant après chaque hauteur de note.

@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
< c-1 e-2 g-3 b-5 >4
@end lilypond


@commonprop

On peut contrôler précisément les doigtés des accords en réglant
la propriété @code{fingeringOrientations}.

@lilypond[quote,verbatim,ragged-right,fragment,relative=1]
\set fingeringOrientations = #'(left down)
<c-1 es-2 g-4 bes-5 > 4
\set fingeringOrientations = #'(up right down)
<c-1 es-2 g-4 bes-5 > 4
@end lilypond


Cette propriété permet également, dans de la musique monophonique,
d'indiquer des doigtés très proches des têtes de notes.

@lilypond[verbatim,ragged-right,quote,fragment]
\set fingeringOrientations = #'(right)
<es'-2>4
@end lilypond


@seealso

Référence du programme : @internalsref{Fingering}.

D'autres exemples : @lsr{expressive,fingering-chords.ly}.


@node Dynamics
@subsection Dynamics

@cindex nuances
@funindex \pppp
@funindex \ppp
@funindex \pp
@funindex \p
@funindex \mp
@funindex \mf
@funindex \f
@funindex \ff
@funindex \fff
@funindex \ffff
@funindex \fp
@funindex \sf
@funindex \sff
@funindex \sp
@funindex \spp
@funindex \sfz
@funindex \rfz

À chaque nuance absolue correspond une commande, qui peut être indiquée
après une note : @code{c4\ff} par exemple.  Les commandes de nuances
disponibles sont @code{\ppppp}, @code{\pppp}, @code{\ppp}, @code{\pp},
@code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, @code{\fff},
@code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff}, @code{\sp},
@code{\spp}, @code{\sfz}, et @code{\rfz}.

@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
c2\fp c\sf c\sff c\sp c\spp c\sfz c\rfz
@end lilypond

@funindex \<
@funindex \>
@funindex \!

Un crescendo est délimité par @code{\<} et @code{\!}, ou peut se
terminer par une commande de nuance.  Au lieu de @code{\<}
ou @code{\>}, on peut aussi utiliser @code{\cr} et @code{\decr}.
Ces indications sont attachées aux notes ; aussi si l'on veut
faire se succéder plusieurs nuances pendant une note tenue, il faudra
avoir recours à des silences invisibles :

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c\< c\! d\> e\!
<< f1 { s4 s4\< s4\! \> s4\! } >>
@end lilypond

@noindent
En principe, un soufflet --- (de)crescendo imprimé sous forme graphique --
commence au bord gauche de la note de départ, et se termine au
bord droit de la note d'arrivée.  Cependant, si la note d'arrivée
est sur un premier temps, le soufflet s'arrêtera au niveau de la
barre de mesure qui la précède.  Ce comportement peut être annulé
en définissant à @emph{faux} (lettre @q{f}) la propriété
@code{hairpinToBarline} :

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\set hairpinToBarline = ##f
c4\< c2. c4\!
@end lilypond

On peut avoir recours à l'indication @code{\espressivo} pour indiquer un
crescendo puis un decrescendo sur une seule note.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c2 b4 a g1\espressivo
@end lilypond

Cependant, ces deux indications graphiques peuvent se trouver très
comprimées horizontalement.  Pour les rallonger, on peut modifier la
propriété @code{minimum-length} de
@internalsref{Voice}.@internalsref{Hairpin} --- @internalsref{Voice}
étant le contexte, et @internalsref{Hairpin} l'objet affecté. Par
exemple :

@example
\override Voice.Hairpin #'minimum-length = #5
@end example

@cindex al niente
@cindex niente, al

Des crescendos ou decrescendos @emph{al niente} peuvent être indiqués de
manière graphique, en définissant à @emph{vrai} (lettre @q{t}) la
propriété @code{circled-tip}, ce qui affiche un cercle à leur extrémité.

@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\override Hairpin #'circled-tip = ##t
c2\< c\!
c4\> c\< c2\!
@end lilypond


@cindex crescendo
@cindex decrescendo
@cindex diminuendo

Au lieu d'une notation graphique des crescendos, on peut utiliser
une notation textuelle.

@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\setTextCresc
c\< d e f\!
\setHairpinCresc
e\> d c b\!
\setTextDecresc
c\> d e f\!
\setTextDim
e\> d c b\!
@end lilypond

On peut même définir ses propres indications textuelles :

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
\set crescendoText = \markup { \italic "cresc. poco" }
\set crescendoSpanner = #'dashed-line
a'2\< a a a\!\mf
@end lilypond

Pour créer des indications de nuances qui restent alignées
avec les nuances habituelles, voir @ref{New dynamic marks}.

Le positionnement vertical des nuances est géré par le
@internalsref{DynamicLineSpanner}.


@commonprop

Des nuances différentes situées --- ou commençant --- sur une même
note seront alignées verticalement.  Pour aligner des nuances qui ne
se situeraient pas sur une même note, il est possible d'augmenter
la propriété @code{staff-padding}.

@example
\override DynamicLineSpanner #'staff-padding = #4
@end example

Cette propriété peut aussi servir à régler des problèmes de
collision entre des nuances et d'autres objets.

Les crescendos ou decrescendos qui aboutissent sur la première note
d'une nouvelle ligne ne sont imprimés que jusqu'à la fin de la ligne
précédente.  Ce comportement peut être outrepassé en définissant :

@example
\override Score.Hairpin #'after-line-breaking = ##t
@end example


Les crescendos et decrescendos indiqués textuellement --- tels que
@emph{cresc.} ou @emph{dim.} --- sont suivis de pointillés qui montrent
leur étendue.  On peut empêcher l'impression de ces pointillés avec :

@example
\override DynamicTextSpanner #'dash-period = #-1.0
@end example


@refcommands

@funindex \dynamicUp
@code{\dynamicUp},
@funindex \dynamicDown
@code{\dynamicDown},
@funindex \dynamicNeutral
@code{\dynamicNeutral}.


@seealso

Référence du programme : @internalsref{DynamicText}, @internalsref{Hairpin}.

Le placement vertical de ces éléments graphiques est géré par le
@internalsref{DynamicLineSpanner}.


@node Breath marks
@subsection Breath marks

Les indications de respiration sont indiquées par la commande @code{\breathe}.

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
c'4 \breathe d4
@end lilypond


@commonprop

On peut choisir le glyphe imprimé par cette commande, en modifiant la
propriété @code{text} de l'objet @code{BreathingSign}, pour lui affecter
n'importe quelle indication textuelle.  Par exemple :

@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
c'4
\override BreathingSign #'text
  = #(make-musicglyph-markup "scripts.rvarcomma")
\breathe
d4
@end lilypond

@seealso

Référence du programme : @internalsref{BreathingSign}.


@node Trills
@subsection Trills

Les trilles brefs s'indiquent comme n'importe quelle ponctuation :
voir @ref{Articulations}.


Les trilles plus longs sont délimités par @code{\startTrillSpan} et
@code{\stopTrillSpan} :

@lilypond[verbatim,ragged-right,relative=2,quote,fragment]
\new Voice {
  << { c1 \startTrillSpan }
     { s2. \grace { d16[\stopTrillSpan e] } } >>
  c4 }
@end lilypond

@cindex trilles avec hauteur explicite

Les trilles qui font intervenir une hauteur précise peuvent être
indiqués par la commande @code{pitchedTrill}.

@lilypond[ragged-right,verbatim,fragment,relative=1,quote]
\pitchedTrill c4\startTrillSpan fis
f\stopTrillSpan
@end lilypond

@noindent
Le premier argument est la note réelle ; le second est une hauteur qui
sera imprimée comme une tête de note noire entre parenthèses.


@refcommands

@code{\startTrillSpan},
@funindex \startTrillSpan
@code{\stopTrillSpan}.
@funindex \stopTrillSpan


@seealso

Référence du programme : @internalsref{TrillSpanner}.


@node Glissando
@subsection Glissando

@cindex glissando
@funindex \glissando

Un glissando relie une hauteur à une autre en passant par chaque hauteur
intermédiaire.  Il est indiqué graphiquement, par une ligne ou des
vaguelettes entre ces deux notes. On l'obtient en accolant la commande
@code{\glissando} à la première note.

@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
c2\glissando c'
\override Glissando #'style = #'zigzag
c2\glissando c,
@end lilypond


@seealso

Référence du programme : @internalsref{Glissando}.

D'autres exemples : @lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}.


@refbugs

Il n'est pas possible d'imprimer un texte (tel que @emph{gliss.})
le long de la ligne de glissando.


@node Arpeggio
@subsection Arpeggio

@cindex arpège
@cindex accord arpégé
@funindex \arpeggio


On peut indiquer qu'un accord doit être arpégé en lui accolant la
commande @code{\arpeggio} :

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
<c e g c>\arpeggio
@end lilypond


Pour spécifier qu'un autre accord doit être plaqué et non arpégé, on
peut remplacer ce signe par un crochet :

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
\arpeggioBracket
<c' e g c>\arpeggio
@end lilypond


Le sens de l'arpège est parfois indiqué par une pointe de flèche au bout
de la vaguelette :

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
\new Voice {
  \arpeggioUp
  <c e g c>\arpeggio
  \arpeggioDown
  <c e g c>\arpeggio
}
@end lilypond


@commonprop

Quand un arpège couvre plusieurs portées, il est possible d'indiquer
l'arpège sur chacune des portées, puis de relier la ligne de vaguelettes
en définissant à @emph{vrai} la propriété @code{connectArpeggios}, par
exemple dans le contexte @internalsref{PianoStaff} :

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
\new PianoStaff <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff { <c' e g c>\arpeggio }
  \new Staff { \clef bass <c,, e g>\arpeggio }
>>
@end lilypond


@refcommands

@code{\arpeggio},
@funindex \arpeggioUp
@code{\arpeggioUp},
@funindex \arpeggioDown
@code{\arpeggioDown},
@funindex \arpeggioNeutral
@code{\arpeggioNeutral},
@funindex \arpeggioBracket
@code{\arpeggioBracket}.


@seealso

Dans ce même manuel : @ref{Ties}, pour noter explicitement des arpèges.

Référence du programme : @internalsref{Arpeggio}.


@refbugs

Il est impossible de mêler au même instant, dans un contexte
@internalsref{PianoStaff}, des lignes d'arpèges connectées et d'autres
non connectées.


@node Falls and doits
@subsection Falls and doits

Des indications de désinence peuvent être obtenues au moyen de la
commande @code{\bendAfter} :

@lilypond[fragment,ragged-right,relative=2]
\override Score.SpacingSpanner #'shortest-duration-space = #3.0
c4-\bendAfter #+5
c4-\bendAfter #-3
@end lilypond


@node Repeats
@section Repeats

Une des notions essentielles, dans la musique, est le fait que des
éléments soient joués plusieurs fois. Il existe de nombreuses façons
de noter ces reprises.

@menu
* Repeat types::
* Repeat syntax::
* Repeats and MIDI::
* Manual repeat commands::
* Tremolo repeats::
* Tremolo subdivisions::
* Measure repeats::
@end menu


@node Repeat types
@subsection Repeat types

@cindex reprises et répétitions

On peut indiquer des répétitions des façons suivantes :

@table @code
@item unfold
La musique qui doit être répétée sera entièrement imprimée (et jouée).
Ceci est particulièrement utile dans de la musique répétitive.  Ce type
de reprise est le seul pris en compte dans le rendu MIDI.

@item volta
Le passage répété ne sera pas écrit explicitement, mais il sera encadré
sur la partition par des barres de reprises, et peut se terminer par
plusieurs fins alternatives, imprimées de gauche à droite sous des
crochets.  Il s'agit là de la notation courante des reprises avec des
fins alternatives.  Ces dernières, par défaut, ne sont pas jouées dans
le rendu MIDI.

@item tremolo
Pour réaliser des trémolos.  Ceux-ci, par défaut, ne sont pas joués dans
le rendu MIDI.

@item percent
Pour répéter des temps ou des mesures, sous forme de signes de
pourcentage.  Ceux-ci, par défaut, ne sont pas joués dans le rendu MIDI.
Les répétitions indiquées par ces symboles doivent être déclarées dans
un contexte @code{Voice}.

@end table


@node Repeat syntax
@subsection Repeat syntax

@cindex volta
@cindex première fois
@cindex seconde fois
@funindex \repeat

Tous les différents types de reprise se spécifient dans
LilyPond avec une même construction syntaxique, qui est :


@example
\repeat @var{type_de_la_reprise} @var{nombre_de_répétitions} @var{expression_à_répéter}
@end example

On peut ajouter, pour indiquer une fin alternative :
@funindex \alternative
@example
\alternative @{
 @var{alternative1}
 @var{alternative2}
 @var{alternative3}
 @dots{}
@}
@end example

@noindent
chaque @var{alternative} étant une expression musicale.  Si l'on donne
trop peu d'alternatives en regard du nombre de fois où le passage doit
être rejoué, la première alternative sera jouée plusieurs fois.


Les reprises courantes s'indiquent comme ceci :

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c1
\repeat volta 2 { c4 d e f }
\repeat volta 2 { f e d c }
@end lilypond

Et avec des fins alternatives :

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c1
\repeat volta 2 {c4 d e f}
\alternative { {d2 d} {f f,} }
@end lilypond

Il est possible de créer des répétitions avec une levée.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\new Staff {
  \partial 4 e |
  \repeat volta 4 { c2 d2 | e2 f2 | }
  \alternative { { g4 g g e } { a a a a | b2. } }
}
@end lilypond

@funindex \repeatTie
Des liaisons de tenue peuvent être ajoutées à toute alternative :

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c1
\repeat volta 2 {c4 d e f ~ }
\alternative { {f2 d} {f\repeatTie f,} }
@end lilypond


On peut raccourcir les crochets indiquant les fins alternatives,
en définissant la propriété @code{voltaSpannerDuration}.  Dans 
l'exemple suivant, le crochet ne se prolonge que sur une mesure
à 3/4.

@lilypond[verbatim,ragged-right,quote]
\relative c''{
  \time 3/4
  c c c
  \set Staff.voltaSpannerDuration = #(ly:make-moment 3 4)
  \repeat "volta" 5 { d d d }
  \alternative { { e e e f f f }
  { g g g } }
}
@end lilypond

Si l'on souhaite à la fois terminer une ligne par une double barre et
débuter la ligne suivante avec une section reprise, on peut utiliser
@example
@dots{} \bar "||:" \break
\repeat volta 2 @{ @dots{}
@end example

Consultez @ref{Bar lines} pour plus d'informations.

@seealso

Les crochets précédant une reprise s'impriment d'ordinaire seulement
au-dessus de la portée du haut.  On peut ajuster cela en déplaçant le
graveur @code{Volta_engraver} vers les contextes de portée
(@code{Staff}) qui doivent comporter ces crochets ;
voir @ref{Modifying context plug-ins} et @lsr{repeats,volta@/-multi@/-staff@/.ly}.


@refbugs

@cindex reprises ambigües

Des reprises imbriquées telles que

@example
\repeat @dots{}
\repeat @dots{}
\alternative
@end example

@noindent
présentent une ambiguïté, dans la mesure où l'on ne sait à quelle
section @code{\repeat} attribuer la section @code{\alternative}.  Pour
résoudre cette ambiguïté, il convient de toujours insérer la commande
@code{\alternative} à l'intérieur de la section @code{\repeat}.  Il est
préférable, dans une telle situation, d'utiliser des accolades pour plus
de clarté.

Lorsqu'une alternative commence, les informations de métrique sont
perdues, il faut donc les rappeler après une reprise, par exemple
en définissant @code{Score.measurePosition} ou en invoquant la commande
@code{\partial}.  De même, aucune liaison (de tenue ou autre)
n'est répétée.

Les crochets qui indiquent les alternatives ne sont pas alignés 
verticalement.


@node Repeats and MIDI
@subsection Repeats and MIDI

@cindex reprises développées
@funindex \unfoldRepeats

Au prix de quelques réglages, les reprises de toutes sortes peuvent être
rendues dans le fichier MIDI.  Il suffit pour cela de recourir à la
fonction @code{\unfoldRepeats}, qui développe toutes les reprises,
i.e. qui transforme toutes les reprises en reprises de type
@code{unfold}.


@lilypond[quote,verbatim,fragment,line-width=8.0\cm]
\unfoldRepeats {
  \repeat tremolo 8 {c'32 e' }
  \repeat percent 2 { c''8 d'' }
  \repeat volta 2 {c'4 d' e' f'}
  \alternative {
    { g' a' a' g' }
    {f' e' d' c' }
  }
}
\bar "|."
@end lilypond


Lorsque l'on veut utiliser @code{\unfoldRepeats} seulement pour le rendu
MIDI, il faut établir deux blocs @code{\score} : un pour le MIDI, avec
des reprises explicites, et l'autre pour la partition, avec des reprises
notées sous forme de barres de reprise, de trémolo ou de symboles de
pourcentage.  Par exemple

@example
\score @{
 @var{..musique..}
 \layout @{ ..  @}
@}
\score @{
 \unfoldRepeats @var{..musique..}
 \midi @{ ..  @}
@}
@end example


@node Manual repeat commands
@subsection Manual repeat commands

@funindex repeatCommands

La propriété @code{repeatCommands} sert à contrôler la mise en forme des
reprises.  On la définit par une suite de commandes de reprise Scheme.

@table @asis
@item @code{start-repeat}
Pour imprimer une barre de reprise @code{|:}

@item @code{end-repeat}
Pour imprimer une barre de reprise @code{:|}

@item @code{(volta @var{texte})}
Pour imprimer un crochet indiquant une alternative.  Le texte
@var{texte} mentionné dans le crochet peut être n'importe quelle chaîne
de caractères ou indication textuelle --- voir @ref{Text markup}.
Attention cependant à changer la police, car la police employée par
défaut pour les chiffres ne contient aucun caractère alphabétique.

@item @code{(volta #f)}
Pour terminer un crochet indiquant une alternative.
@end table

@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
c4
  \set Score.repeatCommands = #'((volta "93") end-repeat)
c4 c4
  \set Score.repeatCommands = #'((volta #f))
c4 c4
@end lilypond


@seealso

Référence du programme : @internalsref{VoltaBracket},
@internalsref{RepeatedMusic},
@internalsref{VoltaRepeatedMusic}, et
@internalsref{UnfoldedRepeatedMusic}.


@node Tremolo repeats
@subsection Tremolo repeats

@cindex ligatures de trémolo
@cindex trémolo, ligatures de

On peut placer une notation de trémolo entre deux notes, avec la
commande @code{\repeat} suivie du style trémolo :
@lilypond[quote,verbatim,ragged-right]
\new Voice \relative c' {
  \repeat "tremolo" 8 { c16 d16 }
  \repeat "tremolo" 4 { c16 d16 }
  \repeat "tremolo" 2 { c16 d16 }
}
@end lilypond


On peut aussi indiquer un trémolo sur une seule note, qu'il faudra
alors laisser sans accolades.

@lilypond[quote,verbatim,ragged-right]
\repeat "tremolo" 4 c'16
@end lilypond


La subdivision des trémolos aboutit à un résultat semblable : voir
@ref{Tremolo subdivisions}.


@seealso

Dans ce manuel : @ref{Tremolo subdivisions}, @ref{Repeats}.

Référence du programme : @internalsref{Beam}, @internalsref{StemTremolo}.


@node Tremolo subdivisions
@subsection Tremolo subdivisions

@cindex trémolo, indication de
@funindex tremoloFlags

Un trémolo peut être indiqué sur une seule note, en la faisant suivre
de deux points et d'un nombre :

@code{note:}[@var{nombre}]. 

Le nombre en question correspond à la valeur de la subdivision ;
il doit être au moins de 8, auquel cas la hampe sera barrée par une 
seule ligature.  Si ce nombre est omis, la dernière valeur --- telle
que mémorisée dans @code{tremoloFlags}) --- sera utilisée.

@lilypond[quote,ragged-right,verbatim,fragment]
c'2:8 c':32 | c': c': |
@end lilypond


@refbugs

Les trémolos entrés de cette manière ne sont pas rendus dans
le fichier MIDI.


@seealso

Dans ce manuel : @ref{Tremolo repeats}.

Référence du programme : @internalsref{StemTremolo}.


@node Measure repeats
@subsection Measure repeats

@cindex percent repeats
@cindex measure repeats

Le style de @qq{reprise en pourcent} sert à répéter une séquence de
notes.  Elle sera imprimée une fois, puis remplacée par un symbole
spécial.  Les séquences d'une ou deux mesures sont remplacées par un
symbole qui ressemble au symbole de pourcentage, tandis que les
séquences inférieures à une mesure sont remplacées par une barre
oblique.  Toutes ces répétitions doivent être déclarées dans un contexte
@code{Voice}.

@lilypond[quote,verbatim,ragged-right]
\new Voice \relative c' {
  \repeat "percent" 4 { c4 }
  \repeat "percent" 2 { c2 es2 f4 fis4 g4 c4 }
}
@end lilypond

Les répétitions de plus de 2 mesures sont surmontées d'un compteur,
si l'on définit à @emph{vraie} (lettre @q{t}) la propriété
@code{countPercentRepeats}.

@lilypond[relative=2,fragment,quote,verbatim,ragged-right]
\new Voice {
\set countPercentRepeats = ##t
  \repeat "percent" 4 { c1 }
}
@end lilypond

Des symboles de pourcentage isolés peuvent aussi être obtenus, au
moyen d'un silence multi-mesures dont on modifie l'aspect :

@lilypond[fragment,verbatim,quote]
\override MultiMeasureRest #'stencil
  = #ly:multi-measure-rest::percent
R1
@end lilypond


@seealso

Référence du programme : @internalsref{RepeatSlash},
@internalsref{PercentRepeat}, @internalsref{DoublePercentRepeat},
@internalsref{DoublePercentRepeatCounter},
@internalsref{PercentRepeatCounter},
@internalsref{PercentRepeatedMusic}.
