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 signes de reprise peuvent être contrôlés manuellement.


Répétitions courantes

On peut indiquer une répétition de la façon suivante :

\repeat volta nombre_de_fois expression_musicale

expression_musicale représente ce qui doît être répété.

Les reprises courantes, sans alternative, s’indiquent comme ceci :

\relative {
  \repeat volta 2 { c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

Aucun « début » de reprise n’est indiqué par défaut pour la première mesure d’un morceau. Vous pouvez cependant ajouter une barre de reprise avec un \bar ".|:" avant la première note.

\relative {
  \repeat volta 2 { \bar ".|:" c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

On peut ajouter une fin alternative à l’aide de la commande \alternative. Chaque alternative est une expression musicale en elle-même ; il faudra donc les regrouper par des accolades.

\repeat volta nombre_de_fois expression_musicale
\alternative {
  { 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.

Voici une simple reprise avec une fin alternative :

\relative {
  \repeat volta 2 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

Et une répétition avec plusieurs alternatives :

\relative {
  \repeat volta 3 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
    { a2 g | }
  }
  c1
}

[image of music]

Note : Lorsqu’il y a plus d’une alternative, prenez garde à ce qu’aucun caractère n’apparaisse entre l’accolade fermant une alternative et l’accolade ouvrant la suivante, au risque de ne pas obtenir le nombre voulu d’alternatives.

Note : Une clause \relative ne doit jamais se trouver à l’intérieur d’une section \repeat : vous aurez immanquablement des portées parasites. Voir Apparition d'une portée supplémentaire.

Lorsqu’une reprise sans fin alternative débute au milieu d’une mesure, elle devrait se terminer aussi au milieu d’une mesure, de telle sorte que les mesures soient complètes. En pareil cas, les indications de reprise ne constituent pas des barres de mesure à proprement parler ; il n’est donc pas nécessaire de faire appel à la commande \partial ou à des contrôles d’intégrité de mesure.

c'4 e g
\repeat volta 4 {
  e4 |
  c2 e |
  g4 g g
}
g4 |
a2 a |
g1 |

[image of music]

Il est possible de créer des reprises en début de morceau avec une levée. Le cas est similaire à ce que nous venons de voir. Toutefois, l’utilisation d’un \partial est ici nécessaire pour respecter cette entame.

\partial 4
\repeat volta 4 {
  e'4 |
  c2 e |
  g4 g g
}
g4 |
a2 a |
g1 |

[image of music]

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

\relative {
  c''1
  \repeat volta 2 { c4 d e f~ }
  \alternative {
    { f2 d }
    { f2\repeatTie f, }
  }
}

[image of music]

La commande \inStaffSegno permet de générer une barre de mesure composite par l’adjonction d’un symbole de segno à une barre de reprise créée par une commande \repeat volta. Qu’il s’agisse d’un début, d’une fin ou d’une double reprise, le type de barre est automatiquement sélectionné. L’indication « D.S. » devra cependant être

En dehors de toute reprise :

\relative {
  e'1
  \inStaffSegno
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

Au début d’une reprise :

\relative {
  e'1
  \repeat volta 2 {
    \inStaffSegno  % start repeat
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

En fin de reprise :

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \inStaffSegno  % end repeat
  }
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

Entre deux reprises :

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
  }
  \inStaffSegno  % double repeat
  \repeat volta 2 {
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

Des symboles alternatifs de barre de mesure sont aussi accessibles, dans un contexte Score, à l’aide des propriétés segnoType, startRepeatSegnoType, endRepeatSegnoType ou doubleRepeatSegnoType selon les besoins. Ces types de barre alternative doivent être choisis parmi les types prédéfinis ou préalablement créés à l’aide d’une commande \defineBarLine – voir Barres de mesure.

\defineBarLine ":|.S[" #'(":|." "S[" "")
\defineBarLine "]" #'("]" "" "")
\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \once \set Score.endRepeatSegnoType = ":|.S["
    \inStaffSegno
  }
  f2 g \bar "]" a b
  c1_"D.S." \bar "|."
}

[image of music]

Morceaux choisis

Diminution de la taille du crochet d’alternative

Les crochets indiquant les fins alternatives s’étalent tout au long de celles-ci. On peut les raccourcir en jouant sur la propriété voltaSpannerDuration. Dans l’exemple suivant, le crochet ne se prolonge que sur une mesure à 3/4.

\relative c'' {
  \time 3/4
  c4 c c
  \set Score.voltaSpannerDuration = #(ly:make-moment 3/4)
  \repeat volta 5 { d4 d d }
  \alternative {
    {
      e4 e e
      f4 f f
    }
    { g4 g g }
  }
}

[image of music]

Ajout du crochet de reprise à d’autres portées

D’ordinaire, le graveur Volta_engraver réside dans le contexte Score ; les crochets précédant une reprise s’impriment donc seulement au-dessus de la portée du haut. On peut ajuster cela en déplaçant ce graveur vers les contextes de portée (Staff) qui doivent comporter ces crochets.

<<
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
>>

[image of music]

Succession de reprises et style de barre par défaut

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

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

[image of music]

Numérotation des mesures et alternatives

Deux méthodes alternatives vous permettent de gérer la numérotation des mesures en cas de reprises.

\relative c'{
  \set Score.alternativeNumberingStyle = #'numbers
  \repeat volta 3 { c4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1 \break
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \repeat volta 3 { c,4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1
}

[image of music]

Voir aussi

Glossaire musicologique : répétition, volta.

Manuel de notation : Barres de mesure, Gestion du temps, Modification des greffons de contexte, Modification des liaisons.

Fichiers d’initialisation : ‘ly/engraver-init.ly’.

Morceaux choisis : Répétitions.

Référence des propriétés internes : VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic.

Problèmes connus et avertissements

L’extension d’une liaison à partir d’un bloc \repeat sur un bloc \alternative n’est possible que pour la première alternative. L’aspect visuel d’une liaison se continuant dans les autres alternatives, peut être simulée à l’aide de la commande \repeatTie lorsqu’elle s’arrête sur sa première note – méthode qui cependant ne fonctionne pas pour un TabStaff. D’autres moyens existent pour indiquer la prolongation d’une liaison sur des alternatives, y compris dans un TabStaff, en suivant les préceptes donnés à la rubrique Modification des liaisons.

Selon le même principe, une liaison ne saurait partir de la fin d’une alternative pour se terminer au début de la reprise.

L’extension d’un glissando à partir d’un bloc \repeat sur un bloc \alternative n’est possible que pour la première alternative. L’aspect visuel d’un glissando se continuant dans les autres alternatives peut être simulé à l’aide d’un glissando partant d’une note d’ornement supplémentaire et masquée. Un exemple se trouve à la rubrique Glissando.

Le développement, à l’aide de la commande \unfoldRepeats, d’une répétition qui commence sur une mesure incomplète et contient un bloc alternative avec modification de la propriété measureLength entraînera des messages d’erreur concernant le placement des barres de mesure.

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é.


Indications de reprise manuelles

Note : Les méthodes présentées dans les lignes qui suivent ne devraient servir à indiquer que des constructions de répétition inhabituelles. En règle générale, il vaut mieux recourir à la fonction \repeat pour créer une reprise ou bien insérer la barre de mesure adéquate. Pour plus d’information, voir le chapitre Barres de mesure.

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

\relative {
  c''1
  \set Score.repeatCommands = #'(start-repeat)
  d4 e f g
  c1
}

[image of music]

Traditionnellement, on n’imprime pas de signe de reprise en début de morceau.

end-repeat

Pour imprimer une barre de reprise :|.

\relative {
  c''1
  d4 e f g
  \set Score.repeatCommands = #'(end-repeat)
  c1
}

[image of music]

(volta nombre) … (volta #f)

Pour obtenir un crochet indiquant le numéro de l’alternative. Pour que le crochet s’imprime effectivement, il faut spécifier explicitement l’endroit où il doit se terminer.

\relative {
  f''4 g a b
  \set Score.repeatCommands = #'((volta "2"))
  g4 a g a
  \set Score.repeatCommands = #'((volta #f))
  c1
}

[image of music]

Plusieurs commandes de reprise peuvent intervenir au même moment :

\relative {
  f''4 g a b
  \set Score.repeatCommands = #'((volta "2, 5") end-repeat)
  g4 a g a
  c1
  \set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat)
  b1
  \set Score.repeatCommands = #'((volta #f))
}

[image of music]

Le crochet indiquant une alternative peut contenir aussi du texte. Il peut s’agir d’un ou plusieurs nombres ou bien d’une indication textuelle (markup) – voir Mise en forme du texte. Le plus simple, dans le cas d’une indication textuelle, est de tout d’abord définir ce markup, puis de l’inclure dans une liste Scheme.

voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
\relative {
  c''1
  \set Score.repeatCommands =
    #(list(list 'volta voltaAdLib) 'start-repeat)
  c4 b d e
  \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat)
  f1
  \set Score.repeatCommands = #'((volta #f))
}

[image of music]

Voir aussi

Manuel de notation : Barres de mesure, Mise en forme du texte.

Morceaux choisis : Répétitions.

Référence des propriétés internes : VoltaBracket, RepeatedMusic, VoltaRepeatedMusic.


Répétitions explicites

Adjoindre à la commande \repeat l’opion unfold permet de s’affranchir de ressaisir de la musique répétitive. En voici la syntaxe :

\repeat unfold nombre_de_fois expression_musicale

Le contenu de expression_musicale sera donc expansé autant de fois que stipulé par nombre_de_fois.

\relative {
  \repeat unfold 2 { c''4 d e f }
  c1
}

[image of music]

Dans certains cas, et tout particulièrement dans un contexte \relative, la fonction \repeat unfold ne revient pas à écrire littéralement la même expression musicale plusieurs fois. Ainsi :

\repeat unfold 2 { a'4 b c }

n’est pas équivalent à

a'4 b c | a'4 b c

Une répétition expansée peut aussi avoir une fin alternative :

\relative {
  \repeat unfold 2 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
  }
  c1
}

[image of music]

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.

\relative {
  \repeat unfold 4 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
    { e2 d }
   }
  c1
}

[image of music]

S’il y a par contre plus d’alternatives que de répétitions, les alternatives superflues seront tout simplement ignorées et ne seront pas imprimées.

\relative {
  \repeat unfold 2 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
    { e2 d }
  }
  c1
}

[image of music]

Vous pouvez imbriquer plusieurs fonctions unfold, qu’elles comportent ou non des fins alternatives :

\relative {
  \repeat unfold 2 {
    \repeat unfold 2 { c''4 d e f }
    \alternative {
      { c2 g' }
      { c,2 b }
    }
  }
  c1
}

[image of music]

Une construction en accord peut se répéter à l’aide du symbole q – voir Répétition d’accords.

Note : L’insertion d’un \relative dans une section \repeat sans déclaration explicite du contexte Voice génèrera une portée supplémentaire – voir Apparition d'une portée supplémentaire.

Voir aussi

Manuel de notation : Répétition d’accords.

Morceaux choisis : Répétitions.

Référence des propriétés internes : RepeatedMusic, UnfoldedRepeatedMusic.


Autres langues : English, català, deutsch, español, italiano, 日本語.
About automatic language selection.

LilyPond — Manuel de notation v2.21.0 (branche de développement).