[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétitions et reprises ] | [Plus haut: Répétitions et reprises ] | [ Répétitions explicites > ] |
1.4.1 Répétition d’un long passage
Cette section présente la syntaxe des répétitions longues.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétition d'un long passage ] | [Plus haut: Répétition d'un long passage ] | [ Répétitions simples > ] |
Répétitions explicites
Adjoindre à la commande \repeat
l’opion unfold
permet de
s’affranchir de ressaisir de la musique répétitive. La syntaxe est
identique à celle des commandes \repeat volta
et \repeat
segno
abordées plus avant.
Afin d’éviter les redites, l’expansion n’est ici pas abordée en détail.
Certains exemples des paragraphes qui suivent illustrent différentes
fonctionnalités de la commande \unfoldRepeats
qui permet de
convertir les formes volta
ou segno
en une forme
unfold
. Un autre sujet d’intérêt de la commande
unfoldRepeats
est abordé dans
Gestion des répétitions en MIDI.
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 }
introduit un saut d’octave, contrairement à
a'4 b c | a'4 b c |
Vous pouvez facilement imbriquer plusieurs fonctions \repeat
unfold
, ce qui n’est pas aussi simple avec \repeat volta
ou
\repeat segno
.
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
Morceaux choisis : Répétitions.
Référence des propriétés internes : RepeatedMusic, UnfoldedRepeatedMusic.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétitions explicites ] | [Plus haut: Répétition d'un long passage ] | [ Fins alternatives > ] |
Répétitions simples
Les reprises courantes, sans alternative, s’indiquent comme ceci :
\repeat volta nombre_de_fois expression_musicale
où expression_musicale
représente ce qui doît être répété.
\fixed c'' { \repeat volta 2 { c2 f } R1 \repeat volta 2 { g2 c } }
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.
\fixed c'' { \repeat volta 2 { \bar ".|:" c2 f } }
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. Le recours à l’instruction
\partial
est toutefois nécessaire lorsque la reprise est au début
d’une pièce commençant par une levée afin de respecter cette entame.
\fixed c'' { \partial 4 \repeat volta 2 { c4 c2 d g4 g g } \repeat volta 2 { e4 f2 g c2. } }
Fins alternatives
Une répétition avec fins alternatives peut s’indiquer de deux manières différentes. La syntaxe préférentielle est la suivante :
\repeat volta nombre_de_fois { expression_musicale \alternative { \volta liste_de_nombres expression_musicale \volta liste_de_nombres expression_musicale … } }
où liste_de_nombres
est une liste de nombres, séparés par
des virgules, indiquant les occurrences à répéter, de 1 à
nombre_de_fois
.
\fixed c'' { \repeat volta 6 { c4 d e f \alternative { \volta 1,2,3 { c2 e } \volta 4,5 { f2 d } \volta 6 { e2 f } } } c1 }
Une autre syntaxe, plus ancienne et toujours prise en charge, consiste à
instancier le bloc \alternative
à la suite de l’expression
musicale répétée. Elle produit les mêmes effets.
\repeat volta nombre_de_fois expression_musicale \alternative { \volta liste_de_nombres expression_musicale \volta liste_de_nombres 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.
\fixed c'' { \repeat volta 6 { c4 d e f \alternative { { c2 e } { f2 d } { e2 f } } } c1 }
Les blocs \alternative
peuvent s’imbriquer.
music = \fixed c' { \repeat volta 3 { s1_"A" \alternative { \volta 1 { s1_"B" } \volta 2,3 { s1_"C" \once \set Score.voltaSpannerDuration = #(ly:make-moment 1) s1_"D" \alternative { \volta 2 { s1_"E" } \volta 3 { s1_"F" } } } } } \fine } \score { \music } \score { \unfoldRepeats \music }
Note : Tout élément inclus dans un bloc \alternative
sera
traîté en tant qu’alternative. Quelque chose d’aussi simple qu’un
contrôle de mesure placé du mauvais côté d’une accolade peut générer des
résultats inattendus.
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.
Note : Lorsque la numérotation des mesures est activée au sein des alternatives, elle s’applique sur l’ensemble de ces alternatives.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Fins alternatives ] | [Plus haut: Répétition d'un long passage ] | [ Reprises Al-fine > ] |
Autres aspects des fragments répétés
Un bloc \alternative
peut prendre place à l’intérieur d’un bloc
\repeat
afin de produire une notation comparable à des
alternatives – voir Fins alternatives.
\fixed c'' { \repeat volta 2 { R1 \alternative { \volta 1 { c1 } \volta 2 { d1 } } R1 } }
La présence d’une commande \volta
n’est pas réservée aux éléments
d’un bloc \alternative
. Elle peut s’utiliser n’importe où dans un bloc
\repeat
pour désigner un fragment qui concerne des reprises
particulières, tout en ne créant pas de crochet pour les autres cas.
Lorsqu’un bloc \repeat
est expansé, le fragment spécifique à une
occurrence sera omis pour toutes celles auxquelles il ne s’applique pas.
Fournir une liste Scheme vide au lieu du nombre de fois supprime
carrément la musique.
music = \repeat volta 3 { \volta #'() { s1*0_\markup { \bold "3×" } } g''1 } \score { \music } \score { \unfoldRepeats \music }
Lorsqu’un bloc \repeat
est expansé, il peut être souhaitable de
non seulement filtrer les fragments spécifiques, mais aussi d’ajouter de
la musique qui serait absente de la forme « repliée ». La commande
\unfolded
permet de désigner la musique qui sera ignorée jusqu’à
l’expansion du bloc \repeat
qui la contient.
music = \fixed c' { \repeat volta 2 { c1 << \volta #'() { \once \override TextSpanner.bound-details.left.text = "2nd time tacet" s4*7\startTextSpan s4\stopTextSpan } \volta 1 { f4 f f f | f f f f } \volta 2 { \unfolded { R1*2 } } >> c'1 \volta 2 { \unfolded { \bar "|." } } } \fine } \score { \music } \score { \unfoldRepeats \music }
Note : Les commandes \volta
et \unfolded
fontionnent en
respectant la répétition la plus imbriquée qui les entoure.
Reprises Al-fine
La commande \fine
met un point final à la musique, sans
toutefois le forcer.
Lorsqu’une reprise contenant \fine
est expansée, la commande
\fine
est déroulée avec le reste de la musique et interviendra là
où elle doit se produire dans la musique expansée. Il est donc
nécessaire de bien spécifier à quelle occurence le Fine doit se
réaliser – voir Autres aspects des fragments répétés.
music = \fixed c' { \repeat volta 2 { f1 \volta 2 \fine \volta 1 b1 } } \score { \music } \score { \unfoldRepeats \music }
Comme illustré ci-dessus, \fine
crée, à la toute fin de la
musique, une barre finale sans instruction Fine. Il est possible
de forcer l’impression de ce Fine en activant la propriété de
contexte finalFineTextVisibility
.
\fixed c' { \set Score.finalFineTextVisibility = ##t f1 \fine }
Le texte affiché par la commande \fine
est modifiable à l’aide de
la propriété de contexte fineText
.
\fixed c' { \set Score.fineText = "Fin." \repeat volta 2 { f1 \volta 2 \fine \volta 1 b1 } }
Pour de plus amples détails concernant les interactions avec les autres barres de mesure et les options pour modifier leur apparence, voir Barres de mesure automatiques.
Voir aussi
Glossaire musicologique : fine.
Manuel de notation : Autres aspects des fragments répétés, Barres de mesure automatiques, Division en sections.
Morceaux choisis : Reprises.
Référence des propriétés internes : FineEvent, Jump_engraver, JumpScript.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Reprises Al-fine ] | [Plus haut: Répétition d'un long passage ] | [ Apparence d'une reprise Segno > ] |
Structure d’une reprise Segno
Les commandes \repeat segno
et \repeat volta
ne diffèrent
que par la notation qu’il en résultera. Si les sections précédentes
contiennent des informations d’ordre général quant à la manière de
saisir de la musique répétée, des alternatives et de différentes
variations, les paragraphes qui suivent couvrent les particularités
liées à la notation avec segno sans reprendre tout ce qui a trait
à la syntaxe de saisie.
\repeat segno
permet de noter des reprises comportant des
instructions D.C. ou D.S. dans leur présentation. Il
s’agit d’indiquer par le signe segno le début d’un fragment
répété lorsqu’il n’est pas en début de pièce. D’autre part, les fins
alternatives seront indiquées par un signe coda en lieu et place
des crochets d’alternative, si tant est que celles-ci soient exécutées
en séquence – autrement dit pas dans le cas de \volta 1,3
puis
\volta 2,4
.
Lorsque la numérotation des mesures est activée pour les alternatives,
elle s’applique en présence de crochets, qu’il soient créés par
\repeat segno
ou \repeat volta
, mais pas en présence
d’indications de coda.
Les cas habituels d’utilisation sont les suivants.
- al fine
Les instructions de reprise comportent un al Fine si la commande
\fine
a déjà été libellée – voir Reprises Al-fine.music = \fixed c' { f1 \repeat segno 2 { g1 \volta 2 \fine \volta 1 a1 } \section } \score { \music } \score { \unfoldRepeats \music }
- alla coda
-
Le début de chaque alternative est implicitement marqué d’un
\codaMark \default
. Les instructions de reprise des alternatives incluent « al … e poi la … » renvoyant à la marque de la première alternative et au repère où se reporter. Si tant est que la durée de la dernière alternative est nulle, le repère automatique est supprimé, ce qui permet de le remplacer par un libellé de section.music = \fixed c' { f1 \repeat segno 2 { g1 \alternative { \volta 1 { \repeat unfold 4 { a2 } } \volta 2 \volta #'() { \section \sectionLabel "Coda" } } } b1 \fine } \score { \music } \score { \unfoldRepeats \music }
L’instruction de retour peut s’abréger par la définition d’une procédure de mise en forme alternative – voir Apparence d’une reprise Segno.
- da capo
Les instructions de reprise incluent D.C. lorsque le fragment à répéter est en début de partition. Les cas d’emploi de da capo suivent le même principe que les cas de dal segno.
music = \fixed c' { \repeat segno 2 { g1 } \fine } \score { \music } \score { \unfoldRepeats \music }
- dal segno
Les instructions de reprise incluent D.S. lorsque le fragment à répéter n’est pas en début de partition. Le début du fragment répété est implicitement marqué d’un
\segnoMark \default
.music = \fixed c' { f1 \repeat segno 2 { g1 } c1_"D.S." \bar "|." \repeat segno 2 { a1 } \fine } \score { \music } \score { \unfoldRepeats \music }
Il est possible de forcer une reprise dal-segno en début de partition – voir Apparence d’une reprise Segno.
- retour multiple
L’instruction pour une reprise qui doît être exécutée plus d’une fois inclue « … V. ». Le passage concerné devra être joué une fois de plus que le nombre indiqué par l’instruction.
music = \fixed c' { \repeat segno 3 { g1 } \fine } \score { \music } \score { \unfoldRepeats \music }
Voir aussi
Glossaire musicologique : da capo, dal segno, fine.
Manuel de notation : Autres aspects des fragments répétés, Barres de mesure automatiques, Division en sections, Fins alternatives, Marque de section, Répétitions simples, Reprises Al-fine.
Morceaux choisis : Répétitions et reprises.
Référence des propriétés internes : CodaMark, JumpScript, SectionLabel, SegnoMark.
Apparence d’une reprise Segno
Les marques et instructions de retour créées par \repeat segno
peuvent bénéficier de quelques adaptations.
Les instructions de retour sont formatées par la procédure Scheme
spécifiée dans la propriété dalSegnoTextFormatter
. Un formateur
prédéfini permet d’obtenir des instructions raccourcies.
\fixed c' { \set Score.dalSegnoTextFormatter = #format-dal-segno-text-brief f1 \repeat segno 2 { g1 \alternative { \volta 1 { a1 } \volta 2 \volta #'() { \section \sectionLabel "Coda" } } } b1 \fine }
Les numéros de séquence des marques en début de fragment répété et en tête de première alternative peuvent être définis explicitement sans pour autant interférer avec les instructions automatiques de retour – voir Indications de reprise manuelles.
\fixed c' { \repeat segno 2 { \volta #'() { \segnoMark 2 } g1 \alternative { \volta 1 { \volta #'() { \codaMark 2 } \repeat unfold 8 { a4 } } \volta 2 \volta #'() { \section \sectionLabel "Coda" } } } b1 \fine }
Sans le \segnoMark 2
explicité, ceci aurait été présenté comme
une reprise da-capo.
Au lieu d’afficher un segno en tant que repère surplombant la
portée, il est possible de l’imprimer sous forme de barre de mesure en
affectant la propriété segnoStyle
à bar-line
. Afin de
lever toute ambiguité, seule la première barre de segno sera
dépourvue de marque.
\fixed c' { \set Score.segnoStyle = #'bar-line R1 \repeat unfold 3 { \repeat segno 2 { R1*2 } } \fine }
Lorsqu’une barre de segno coïncide avec une autre barre spéciale, sera automatiquement choisie une combinaison de barres parmi un jeu prédéfini. Pour chaque combinaison prise en compte, la barre de mesure peut être personnalisée à l’aide de propriétés de contexte – voir Barres de mesure automatiques.
Les marques de segno et de coda sont formatées par des procédures
spécifiées dans les propriétés segnoMarkFormatter
et
codaMarkFormatter
. Elles sont comparables aux procédures chargées
de formater les repères – voir Indications de repère.
\fixed c' { \set Score.segnoMarkFormatter = #format-mark-numbers \set Score.segnoStyle = #'bar-line R1 \repeat unfold 3 { \repeat segno 2 { R1*2 } } \fine }
Il existe un formateur prédéfini alternatif de segno qui imprime un repère même sur la première barre de mesure :
\fixed c' { \set Score.segnoMarkFormatter = #format-segno-mark \set Score.segnoStyle = #'bar-line R1 \repeat unfold 3 { \segnoMark \default R1*2 } }
Il existe un formateur prédéfini alternatif de segno qui imprime des signes
\varcoda
.
\fixed c' { \set Score.codaMarkFormatter = #format-varcoda-mark R1 \repeat unfold 3 { \codaMark \default R1*2 } }
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 } } }
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' } } >>
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 }
Voir aussi
Glossaire musicologique : répétition, volta.
Manuel de notation : Barres de mesure, Barres de mesure automatiques, Gestion du temps, Modification des greffons de contexte, Modification des liaisons.
Fichiers d’initialisation : ‘ly/engraver-init.ly’.
Morceaux choisis : Répétitions et reprises.
Référence des propriétés internes : VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic.
Problèmes connus et avertissements
L’extension d’une liaison, dans la forme \volta
, n’est possible
que pour la première alternative. 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’aspect visuel d’une liaison se continuant dans les autres
alternatives, peut être simulé à 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
; voir Tenue et reprise.
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.
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 Voir Rappel du glissando à l’occasion d’une alternative.
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 du style « volta ». On la définit par une liste de commandes en
Scheme. En règle générale, chaque élément est lui-même une liste de
la forme '(commande args…)
, tout en sachant
qu’une commande sans argument peut s’abrégér en un symbole – par
exemple, '((start-repeat))
peut se libéller simplement en
'(start-repeat)
.
-
end-repeat
Pour terminer un fragment répété.
\relative { c''1 d4 e f g \set Score.repeatCommands = #'(end-repeat) c1 }
-
start-repeat
Pour entamer un fragement répété.
\relative { c''1 \set Score.repeatCommands = #'(start-repeat) d4 e f g c1 }
Traditionnellement, on n’imprime pas de signe de reprise en début de morceau.
-
volta texte
Lorsque texte est un markup, ouvre un crochet d’alternative et lui affecte le label mentionné. Le crochet prendra fin lorsque texte est égal à
#f
. 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 }
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)) }
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)) }
Les repères de Segno et Coda se créent avec les commandes
\segnoMark
, \inStaffSegno
et \codaMark
. La syntaxe
consacrée est :
\codaMark n \segnoMark n
où n
sont des numéros de séquence, ou bien \default
pour utiliser une numérotation automatique. Les indications de repère,
de segno et de coda sont incrémentées indépendamment l’une de l’autre.
\fixed c' { e1 \segnoMark \default e1 \segnoMark \default g1 \codaMark \default g1 \codaMark \default b1 \codaMark 96 b1 \segnoMark 96 }
Au commencement d’une pièce, ni \segnoMark \default
ni
\codaMark \default
ne créent de marque. Spécifier ‘1’ permet
de forcer leur apparition.
\fixed c' { \segnoMark 1 f1 }
La commande \inStaffSegno
est équivalente à \segnoMark
\default
à ceci près qu’elle affectera temporairement la propriété
segnoStyle
à bar-line
afin de forcer son impression en
tant que barre de mesure.
\fixed c' { e1 \inStaffSegno g1 \segnoMark \default b1 }
Pour de plus amples informations sur la manière d’affecter l’affichage des repères de segno ou de coda, voir Apparence d’une reprise Segno.
La création d’instructions de saut arbitraires s’obtient à l’aide de la
commande \jump
.
\fixed c' { \time 2/4 f4 a b4 c'8 d' c'4 c \jump "Gavotte I D.C." \section }
Voir aussi
Manuel de notation : Apparence d’une reprise Segno, Barres de mesure, Indications de repère, Mise en forme du texte.
Morceaux choisis : Répétitions et reprises.
Référence des propriétés internes : CodaMark, Jump_engraver, JumpScript, Mark_engraver, SegnoMark, SegnoRepeatedMusic, VoltaBracket, VoltaRepeatedMusic.