1.4.1 Répétition d’un long passage

Cette section présente la syntaxe des répétitions longues — c’est-à-dire plusieurs mesures. Ces répétitions peuvent prendre deux formes : encadrées par des barres de reprises, ou bien développées dans la partition. Les barres et autres signe de reprise peuvent être contrôlés manuellement.


Types de répétitions

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

bar

baz


Syntaxe des répétitions

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

\repeat type_de_la_reprise nombre_de_répétitions expression_à_répéter

On peut ajouter, pour indiquer une fin alternative :

\alternative {
 alternative1
 alternative2
 alternative3
 …
}

chaque 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 :

c1
\repeat volta 2 { c4 d e f }
\repeat volta 2 { f e d c }

[image of music]

Et avec des fins alternatives :

c1
\repeat volta 2 {c4 d e f}
\alternative { {d2 d} {f f,} }

[image of music]

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

\new Staff {
  \partial 4 e |
  \repeat volta 4 { c2 d2 | e2 f2 | }
  \alternative { { g4 g g e } { a a a a | b2. } }
}

[image of music]

ou

\new Staff {
  \partial 4 
  \repeat volta 4 { e | c2 d2 | e2 f2 | }
  \alternative { { \partial 4*3 g4 g g } { a a a a | b2. } }
}

[image of music]

Des liaisons de tenue peuvent être ajoutées à toute alternative :

c1
\repeat volta 2 {c4 d e f ~ }
\alternative { {f2 d} {f\repeatTie f,} }

[image of music]

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

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

[image of music]

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

… \bar "||:" \break
\repeat volta 2 { …

Consultez Barres de mesure pour plus d’informations.

Voir aussi

Program reference: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, et UnfoldedRepeatedMusic.

Exemples

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 Volta_engraver vers les contextes de portée (Staff) qui doivent comporter ces crochets ; voir Modification des greffons de contexte, et Répétitions et reprises.

Problèmes connus et avertissements

Des reprises imbriquées telles que

\repeat …
\repeat …
\alternative

présentent une ambiguïté, dans la mesure où l’on ne sait à quelle section \repeat attribuer la section \alternative. Pour résoudre cette ambiguïté, il convient de toujours insérer la commande \alternative à l’intérieur de la section \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 Score.measurePosition ou en invoquant la commande \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.


Commandes de reprise manuelles

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

start-repeat

Pour imprimer une barre de reprise |:

end-repeat

Pour imprimer une barre de reprise :|

(volta texte)

Pour imprimer un crochet indiquant une alternative. L’argument texte mentionné dans le crochet peut être n’importe quelle chaîne de caractères ou indication textuelle — voir Mise en forme du texte. Attention cependant à changer la police, car la police employée par défaut pour les chiffres ne contient aucun caractère alphabétique.

(volta #f)

Pour terminer un crochet indiquant une alternative.

c4
  \set Score.repeatCommands = #'((volta "93") end-repeat)
c4 c4
  \set Score.repeatCommands = #'((volta #f))
c4 c4

[image of music]

Voir aussi

Référence du programme : VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, et UnfoldedRepeatedMusic.


Autres langues : English, español, deutsch.

Manuel de notation