[ << Notation musicale générale ] | [Top][Contents][Index] | [ Notation spécialisée >> ] |
[ < Mesures ] | [ Up : Mesures ] | [ Barres de mesure automatiques > ] |
Barres de mesure
Les barres de mesure délimitent les mesures ou sections, mais peuvent aussi indiquer une reprise. En principe, de simples barres sont insérées automatiquement en respectant la métrique en vigueur. Diverses commandes permettent l’insertion automatique de différents types de barre selon l’effet attendu – see Barres de mesure automatiques.
Il est possible de forcer l’impression d’une barre de mesure spécifique
à l’aide de commande \bar
:
\relative { e'4 d c2 \bar "!" }
Rien ne s’oppose à ce que la dernière note d’une mesure ne s’arrête avant la barre de mesure ; on considère simplement qu’elle se prolonge sur la mesure suivante. Des débordements à répétition finissent par générer une musique comprimée ou qui sort de la page, pour la simple et bonne raison que les sauts de ligne automatiques ne peuvent intervenir qu’à la fin d’une mesure complète, autrement dit lorsque toutes les notes sont terminées avant la fin de la mesure.
Note : Une durée erronée peut empêcher les sauts de ligne, ce qui conduit à une musique compressée, voire à un débordement de la page.
Les sauts de ligne sont aussi possibles lorsqu’est inséré manuellement
une barre de mesure, même si cette mesure est incomplète. L’utilisation
de la commande \allowBreak
permet de passer à la ligne suivante
sans pour autant imprimer de barre de mesure – see Sauts de ligne.
Cette barre invisible, ainsi que d’autres barres spéciales, peuvent être insérées manuellement n’importe où. Lorsqu’elles coïncident avec la fin d’une mesure, elles remplacent la simple barre que LilyPond aurait insérée automatiquement. Dans le cas contraire, la barre spécifiée s’insérera là où vous l’aurez positionnée.
Ces insertions n’affectent en rien le calcul du positionnement
automatique des barres de mesure à suivre ni les propriétés y afférentes
– numérotation, altérations accidentelles, sauts de ligne…
Lorsqu’une barre manuelle est insérée à l’endroit où viendrait se placer
une barre normale, seul l’effet visuel en sera modifié.
Vous disposez de plusieurs types de barres simples et de doubles barres :
\relative { f'1 \bar "|" f1 \bar "." g1 \bar "||" % voir \section a1 \bar ".|" b1 \bar ".." c1 \bar "|.|" d1 \bar "|." % voir \fine e1 }
ainsi que d’une barre en pointillé et d’une discontinue :
\relative { f'1 \bar ";" g1 \bar "!" a1 }
et de différents types de barre de reprise :
\relative { f'1 \bar ".|:" g1 \bar ":..:" a1 \bar ":|.|:" b1 \bar ":|.:" c1 \bar ":.|.:" d1 \bar "[|:" e1 \bar ":|][|:" f1 \bar ":|]" g1 \bar ":|." a1 }
De plus, une barre de mesure peut s’imprimer racourcie ou sous la forme
d’une coche. Dans le cadre du chant grégorien, nous vous invitons à
plutôt utiliser \divisioMinima
et \divisioMaior
comme
indiqué au paragraphe Divisions.
f'1 \bar "'" g'1 \bar "," a1
LilyPond prend en charge la notation kiévienne, qui dispose d’une barre de mesure spécifique :
f'1 \bar "k"
De plus amples détails quant à cette forme de notation sont fournis à la rubrique Typographie de notation kiévienne.
L’insertion d’un segno directement sur la portée s’obtient à l’aide de plusieurs types de barre de mesure, dont les effets diffèrent lorsqu’en fin de ligne :
\fixed c' { c4 4 4 4 \bar "S" d4 4 4 4 \break \bar "S" e4 4 4 4 \bar "S-|" f4 4 4 4 \break \bar "S-|" g4 4 4 4 \bar "S-||" a4 4 4 4 \break \bar "S-||" b4 4 4 4 \bar "S-S" c'4 4 4 4 \break \bar "S-S" d'1 }
Bien que l’on puisse insérer des barres de reprise manuellement, LilyPond n’en déduira pas pour autant qu’il s’agit d’un passage à répéter. Il est préférable d’indiquer les passages répétés à l’aide des différentes commandes de reprise (see Répétitions et reprises) qui se chargeront d’imprimer le type de barre approprié qui peut d’ailleurs être personnalisé – see Barres de mesure automatiques.
Dans les faits, un ".|:-||"
équivaut à un ".|:"
sauf s’il
intervient à un saut de ligne : une double barre sera alors imprimée en
fin de portée, et la barre de reprise au début de la nouvelle.
\fixed c' { c4 4 4 4 \bar ".|:" d4 4 4 4 \break \bar ".|:" e4 4 4 4 \bar ".|:-|" f4 4 4 4 \break \bar ".|:-|" g4 4 4 4 \bar ".|:-||" a4 4 4 4 \break \bar ".|:-||" b4 4 4 4 \bar ".|:-|." c'4 4 4 4 \break \bar ".|:-|." d'4 4 4 4 }
LilyPond dispose de différents moyens de combiner une barre de reprise avec un segno :
\fixed c' { g,4 4 4 4 \bar ":|.S" a,4 4 4 4 \break \bar ":|.S" b,4 4 4 4 \bar ":|.S-S" c4 4 4 4 \break \bar ":|.S-S" d4 4 4 4 \bar "S.|:-S" e4 4 4 4 \break \bar "S.|:-S" f4 4 4 4 \bar "S.|:" g4 4 4 4 \break \bar "S.|:" a4 4 4 4 \bar "S.|:-|" b4 4 4 4 \break \bar "S.|:-|" c'4 4 4 4 \bar "S.|:-||" d'4 4 4 4 \break \bar "S.|:-||" e'4 4 4 4 \bar ":|.S.|:" f'4 4 4 4 \break \bar ":|.S.|:" g'4 4 4 4 \bar ":|.S.|:-S" a'4 4 4 4 \break \bar ":|.S.|:-S" b'1 }
Nombre de ces indications peuvent s’insérer automatiquement à l’aide des
commandes \repeat
– see Répétitions et reprises.
L’instruction \defineBarLine
permet de définir ses propres types
de barre de mesure, en respectant la syntaxe :
\defineBarLine type_de_barre #'(fin début extension)
En résumé, l’argument type_de_barre détermine à la fois le glyphe
qui sera utilisé en cours de portée et l’identifiant de cette barre de
mesure. Les autres arguments déterminent les glyphes à utiliser aux
extrémités de la portée et dans l’espace entres les portées d’un
système. Le fait de régler fin, début ou extension à
#t
revient à utiliser le glyphe de type_de_barre à la
position correspondante. Un réglage à #f
se traduira par
l’absence de barre à cette même position.
Dans le détail, l’argument type_de_barre est une chaîne de
caractères qui a deux fonctions : il détermine d’une part le glyphe qui
sera imprimé lorsqu’une barre de mesure intervient en cours de portée
et, d’autre part, il sert d’identifiant pour l’objet barre de mesure
appelé par \bar type_de_barre
. Il doit être de la forme
dessin ou dessin-
annotation (avec un trait
d’union littéral), où annotation est une chaîne quelconque et
dessin une chaîne dont les caractères sont les noms de l’un des
éléments de barre prédéfinis listés ci-après. La représentation qui
résulte de la concaténation de ces éléments sera utilisée en cours de
portée. Par exemple, un type_de_barre égal à ";|"
ou
";|-autre"
spécifie une barre composite constituée d’une ligne
pointillée (‘;’) accouplée à une ligne pleine (‘|’) :
\defineBarLine ";|" #'(#t #t #t) \defineBarLine ";|-autre" #'(#f #f #f) \fixed c' { \bar ";|" a1 \bar ";|" b1 \bar ";|-autre" c'1 \bar ";|-autre" }
L’annotation (autre dans le second exemple ci-dessus) permet de distinguer ce type de barre des autres ayant le même dessin mais adoptant des comportements différents à l’occasion d’un saut de ligne ou en cas de portées multiples. Par convention, la chaîne spécifiée pour fin est souvent reprise comme annotation, aussi aurions-nous pu avoir nommé le second exemple ‘";|-f"’.
Les arguments fin et début spécifient la barre à afficher à
la fin d’une ligne et au début de la suivante lorsque \bar
type_de_barre
intervient sur un saut de ligne. début
s’appliquera aussi lorsque \bar type_de_barre
est placé au
commencement de la pièce. Le format de ces arguments est identique à
type_de_barre. La chaîne d’éléments de barre détermine le glyphe
qui apparaîtra selon son positionnement dans la ligne. De plus, chacun
de ces éléments peut prendre la valeur #t
pour reproduire la
valeur de type_de_barre, ou #f
pour ne rien afficher. Dans
l’exemple suivant, tous les types de barre impriment un trait pointillé
suivi d’un trait plein lorsqu’en cours de ligne, mais le comportement
change en début ou en fin de ligne.
% pointillé-plein partout \defineBarLine ";|" #'( #t #t #t) % plein-gras en fin, plein-plein en début \defineBarLine ";|-A" #'( "|." "||" #f ) % pointillé-plein en fin, rien en début \defineBarLine ";|-B" #'( #t #f #f ) % rien en fin, pointillé-plein en début \defineBarLine ";|-C" #'( #f #t #f ) \relative c'' { \bar ";|" \textMark "\";|\"" a1 \bar ";|-A" a1 \bar ";|-A" \textEndMark "\";|-A\"" \break b1 \bar ";|-B" b \bar ";|-B" \textEndMark "\";|-B\"" \break c1 \bar ";|-C" c \bar ";|-C" \textEndMark "\";|-C\"" \break d1 \bar ";|" \textEndMark "\";|\"" }
Il est à noter que les chaînes de début ou de fin peuvent
être des noms de type de barre précédemment définis. Dans le cadre d’un
contexte de portée unique, ceci n’a pas d’importance puisque les
éléments de barre dans la chaîne spécifiée seront utilisés sans les
personnalisations de la barre à laquelle il est fait référence par cette
chaîne. Il est néanmoins important, dans le cadre d’un système à
plusieurs portées, que fin et début fassent référence à des
types de barre déjà définis (y compris type_de_barre) ou soient
réglés à #t
ou #f
.
L’argument extension sera effectif dans les systèmes à plusieurs
portées (voir Regroupement de portées) puisqu’il détermine ce qui
apparaîtra entre les portées regroupées. Cet argument est composé d’une
chaîne d’éléments de barre, de même longueur que type_de_barre ou
plus court – tout élément supplémentaire sera ignoré. Chaque élément
sera imprimé dans le prolongement de l’élément correspondant de
type_de_barre. Le caractère espace " "
permer de préserver
de l’espace et ainsi aligner correctement les différents tronçons d’une
barre d’un seul tenant entre les portées d’un système. Régler
extension à #t
revient à sélectionner le glyphe utilisé en
cours de ligne. Le régler à #f
omet la barre inter-portées et lui
affecter ""
(une chaîne vide) générera une extension de largeur
zéro. Voici quelques exemples :
\defineBarLine ";|!-A" #'(#t #t "!|") \defineBarLine ";|!-B" #'(#t #t " !|") \defineBarLine ";|!-C" #'(#t #t #t) \defineBarLine ";|!-D" #'(#t #t #f) \fixed c' { \new StaffGroup << \new Staff { a1 \bar ";|!-A" b \bar ";|!-B" c' \bar ";|!-C" d' \bar ";|!-D" e' } \new Staff { a1 b c' d' e' } >> }
Lorsqu’intervient un saut de ligne seront utilisés, en lieu et place de
extension, fin et début pour déterminer la barre
inter-portées à afficher. Dans le cas d’un regroupement de portées,
LilyPond émettra un avertissement si fin et début ne font
pas référence à des types de barre définis, et aucune prolongation ne
sera imprimée. Il est toujours possible d’affecter #f
à fin
et début, auquel cas aucune prolongation n’apparaîtra à la
position correspondante. Ces arguments peuvent aussi être affectés d’un
#t
ou type_de_barre, auquel cas extension déterminera
le type de prolongation à utiliser à l’endroit correspondant.
\defineBarLine "!|-t" #'(#t #t #t) \defineBarLine "|!-t" #'(#t #t #t) \defineBarLine ";|!-bad" #'("|!" "!|" #t) % fails at line breaks \defineBarLine ";|!-good" #'("!|-t" "|!-t" #t) \relative c'' { \new StaffGroup << \new Staff { \bar ";|!-good" a1 \bar ";|!-good" % \bar ";|!-bad" % "WARNING: No span bar glyph defined..." b1 \bar ";|!-good" } \new Staff { a1 b1 } >> }
Notez bien que dans le cas où extension est consitué d’une chaîne, celle-ci devrait comporter uniquement des éléments de barre de mesure ou une espace (‘ ’), et sans annotation comme c’est possible pour les autres arguments – LilyPond émettra un avertissement lorsque extension contient une annotation. La seule exception à cette règle est une valeur égale à type_de_barre qui, lui, peut comporter une annotation.
Les différents éléments de barre de mesure sont indiqués ci-dessous. La
plupart dispose par ailleurs de types de barre prédéfinis (utilisables
en argument à \bar
) qui les les référencent individuellement.
Certains éléments sont premièrement destinés à être combinés à d’autres
et, de ce fait, n’ont pas de type de barre prédéfinis individuellement.
\defineBarLine ":" #'(#f #t #f) \defineBarLine "=" #'(#t #f #t) \defineBarLine "[" #'(#f #t #f) \defineBarLine "]" #'(#t #f #f) \new Staff { s1 \bar "'" s1 \bar "," s1 \bar "|" s1 \bar "." s1 \bar "!" s1 \bar ";" s1 \bar ":" s1 \bar "k" s1 \bar "S" s1 \bar "=" s1 \bar "[" s1 \bar "]" s1 \bar "" }
Le type "="
fournit un double trait destiné à être utilisé en
combinaison avec un segno. Nous vous recommandons de lui préférer
\bar
"||" pour imprimer une simple double barre fine.
Si d’autres éléments étaient nécessaires, LilyPond dispose de moyens aisés pour les définir. Pour de plus amples informations quant à la manière de modifier ou ajouter des barres de mesure, consultez le fichier scm/bar-line.scm.
Dans une partition comprenant plusieurs portées, la commande \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 StaffGroup
, d’un PianoStaff
ou d’un
GrandStaff
.
<< \new StaffGroup << \new Staff \relative { e'4 d \bar "||" f4 e } \new Staff \relative { \clef bass c'4 g e g } >> \new Staff \relative { \clef bass c'2 c2 } >>
Le type de barre de mesure utilisé pour l’insertion automatique de
barres de mesure est "|"
. Vous pouvez en changer à tout moment
grâce à ‘\set Timing.measureBarType = type_de_barre’.
Il est aussi possible de définir pusieurs types de barre de mesure dans une partition à portées multiples, à partir des commandes ou propriétés mentionnées ci-après (see Barres de mesure automatiques). Bien entendu, ceci peut amener à des incohérences entre portion de barre inscrite dans la portée et portion interportées en raison de leurs largeurs différentes.
Les barres de mesure sont généralement alignées par la gauche, sans tenir compte des doubles points des barres de reprise. Pour les aligner par la droite, l’instruction
[\once] \override Contexte.BarLine.right-justified = ##t
doit s’appliquer, avec Contexte correspondant à un contexte spécifique aux portées multiples commeScore, StaffGroup, Grandstaff, etc.
\new StaffGroup << \new Staff = "a" { b1 b b << { \textMark "BarLines right-justified" b b } \new Staff \with { alignAboveContext = "b" } { \override StaffGroup.BarLine.right-justified = ##t b \section } >> } \new Staff = "b" { b \section } \new Staff = "c" { b b \section b b b \section } >>
Les barres de mesures ne sont jamais alignées par la droite à la suite
d’un saut de ligne. En ce qui concerne les barres en cours de portée et
celles alignées par la droite, le point d’ancrage – utilisé pour
aligner les BarNumber
, RehearsalMark
, etc. – est
repositionné en conséquence.
Voir aussi
Manuel de notation : Regroupement de portées, Répétitions et reprises, Sauts de ligne.
Fichiers d’initialisation : scm/bar-line.scm.
Morceaux choisis : Rythme.
Référence des propriétés internes :
BarLine (faisant partie du contexte Staff
),
SpanBar (sur plusieurs portées),
Timing_translator (pour les propriétés liées au temps).
[ << Notation musicale générale ] | [Top][Contents][Index] | [ Notation spécialisée >> ] |
[ < Mesures ] | [ Up : Mesures ] | [ Barres de mesure automatiques > ] |