[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Liens de croches en soufflet ] | [ Plus haut: Rythme ] | [ Barres de mesure > ] |
1.2.5 Mesures
Barres de mesure | ||
Numéros de mesure | ||
Vérification des limites et numéros de mesure | ||
Indications de repère |
[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Mesures ] | [ Plus haut: Mesures ] | [ Numéros de mesure > ] |
Barres de mesure
Les barres de mesures délimitent les mesures, mais peuvent aussi indiquer une reprise. En principe, elles sont insérées automatiquement en respectant la métrique en vigueur.
Il est possible de forcer l’impression d’une barre de mesure spéciale,
avec la commande \bar
– c’est d’ailleurs l’habitude en fin de
morceau, où l’on voit une double barre :
\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.
Il est possible d’autoriser un saut de ligne même s’il n’y a pas de barre de mesure visible, en utilisant :
\bar ""
Ceci insérera une barre de mesure invisible, et permettra – sans pour autant le forcer – de sauter de ligne à cet endroit, sans incrémenter le numéro de mesure. Pour forcer le saut de ligne, référez vous à 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 deux types de barres simples et de cinq différentes doubles barres :
\relative { f'1 \bar "|" f1 \bar "." g1 \bar "||" a1 \bar ".|" b1 \bar ".." c1 \bar "|.|" d1 \bar "|." e1 }
ainsi que d’une barre en pointillé et d’une discontinue :
\relative { f'1 \bar ";" g1 \bar "!" a1 }
et de neuf 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 sous la forme d’une coche :
f'1 \bar "'" g'1
On rencontre habituellement ces signes dans le chant grégorien ; nous
vous invitons dans ce cadre particulier à plutôt utiliser
\divisioMinima
, comme indiqué au paragraphe Divisions du
chapitre consacré au grégorien.
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 trois types de barre de mesure, comme indiqué ci-dessous :
\relative c'' { c4 c c c \bar "S" c4 c c c \break \bar "S" c4 c c c \bar "S-|" c4 c c c \break \bar "S-|" c4 c c c \bar "S-S" c4 c c c \break \bar "S-S" c1 }
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 (voir Répétitions et reprises) qui se chargeront d’imprimer le type de barre approprié.
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.
\relative c'' { c4 c c c \bar ".|:-||" c4 c c c \break \bar ".|:-||" c4 c c c }
LilyPond dispose de six différents moyens de combiner une barre de reprise avec un segno :
\relative c'' { c4 c c c \bar ":|.S" c4 c c c \break \bar ":|.S" c4 c c c \bar ":|.S-S" c4 c c c \break \bar ":|.S-S" c4 c c c \bar "S.|:-S" c4 c c c \break \bar "S.|:-S" c4 c c c \bar "S.|:" c4 c c c \break \bar "S.|:" c4 c c c \bar ":|.S.|:" c4 c c c \break \bar ":|.S.|:" c4 c c c \bar ":|.S.|:-S" c4 c c c \break \bar ":|.S.|:-S" c1 }
Par ailleurs, la commande \inStaffSegno
crée une barre de mesure
surmontée d’un segno, et sait coopérer avec l’instruction
\repeat volta
– voir Répétitions courantes.
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)
Les variables fournies à \defineBarline
peuvent inclure la
chîne vide ""
qui correspond à une barre invisible, ou bien
être valorisées à #f
– ce qui aura pour effet ne
n’imprimer aucune barre.
Une fois la définition explicitée, la nouvelle barre s’utilise à
l’aide de \bar
type_de_barre.
Sont à ce jour disponibles dix éléments différents :
\defineBarLine ":" #'("" ":" "") \defineBarLine "=" #'("=" "" "") \defineBarLine "[" #'("" "[" "") \defineBarLine "]" #'("]" "" "") \new Staff { 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.
Le signe "-"
permet d’annoter un type de barre de mesure
pour le distinguer lorsqu’il en existe plusieurs ayant la même
apparence mais au comportement différent en fin de ligne ou en
matière d’extension. Ce qui suit le "-"
n’est d’aucune
utilité dans la construction de la barre.
\defineBarLine "||-dashedSpan" #'("||" "" "!!") \new StaffGroup << \new Staff \relative c'' { c1 \bar "||" c1 \bar "||-dashedSpan" c1 } \new Staff \relative c'' { c1 c1 c1 } >>
Par ailleurs, 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 :
\defineBarLine ":|.-wrong" #'(":|." "" "|.") \defineBarLine ":|.-right" #'(":|." "" " |.") \new StaffGroup << \new Staff \relative c'' { c1 \bar ":|.-wrong" c1 \bar ":|.-right" c1 } \new Staff \relative c'' { c1 c1 c1 } >>
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 } >>
La commande ‘\bar type_de_barre’ sert de raccourci pour
‘\set Timing.whichBar = type_de_barre’. Dès que l’on définit
whichBar
, une barre de mesure est créée selon le style défini.
Le type de barre de mesure par défaut utilisé pour l’insertion
automatique est "|"
. Vous pouvez en changer à tout moment grâce
à ‘\set Timing.defaultBarType = type_de_barre’.
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 ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Barres de mesure ] | [ Plus haut: Mesures ] | [ Vérification des limites et numéros de mesure > ] |
Numéros de mesure
Les numéros de mesure sont imprimés par défaut à chaque début de
ligne, sauf la première. Ce nombre est stocké par la propriété
currentBarNumber
qui sera mise à jour à chaque mesure. Vous
pouvez aussi le définir de manière arbitraire :
\relative c' { c1 c c c \break \set Score.currentBarNumber = #50 c1 c c c }
Vous pouvez imprimer un numéro de mesure à intervalle régulier plutôt
qu’en tête de chaque ligne. Pour y arriver, il faudra dans un premier
temps annuler le comportement par défaut afin que les numéros puissent
être imprimés ailleurs qu’en début de ligne. Tout ceci est contrôlé par
la propriété break-visibility
du BarNumber
. Elle se
compose de trois commutateurs – définis à « vrai » (#t
) ou
« faux » (#f
) – pour spécifier si le numéro de mesure est
visible ou non. Les valeurs sont rangées dans l’ordre suivant :
visible en fin de ligne
, visible en cours de ligne
et
visible en début de ligne
. Voici comment imprimer partout les
numéros de mesure :
\relative c' { \override Score.BarNumber.break-visibility = ##(#t #t #t) \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" c1 | c | c | c | \break c1 | c | c | c | }
Morceaux choisis
Afficher le numéro de la première mesure
Par défaut, LilyPond n’affiche pas le premier numéro de mesure s’il est
inférieur à 2. Le fait de définir barNumberVisibility
à
all-bar-numbers-visible
vous permettra d’imprimer n’importe quel
numéro pour la première mesure. Notez que l’impression d’un numéro
de mesure ne peut intervenir que s’il y a une barre. Aussi, pour
pouvoir le faire au début d’un morceau, devrez-vous ajouter une barre
vide avant la première note.
\layout { indent = 0 ragged-right = ##t } \relative c' { \set Score.barNumberVisibility = #all-bar-numbers-visible \bar "" c1 | d | e | f \break g1 | e | d | c }
Imprimer les numéros de mesure à intervalle régulier
Vous pouvez imprimer un numéro de mesure à intervalle régulier plutôt
qu’en tête de chaque ligne seulement, en recourant à la propriété
barNumberVisibility
. Voici comment afficher le numéro toutes les
deux mesures sauf en fin de ligne.
\relative c' { \override Score.BarNumber.break-visibility = #end-of-line-invisible \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c | c | c | c \break c1 | c | c | c | c }
Changement de la fréquence d’impression du numéro de mesure
La fonction de contexte set-bar-number-visibility
permet de
modifier la fréquence à laquelle les numéros de mesures s’impriment.
\relative c' { \override Score.BarNumber.break-visibility = #end-of-line-invisible \context Score \applyContext #(set-bar-number-visibility 4) \repeat unfold 10 c'1 \context Score \applyContext #(set-bar-number-visibility 2) \repeat unfold 10 c }
Inscrire le numéro de mesure dans un cadre ou un cercle
Les numéros de mesure peuvent être encadrés ou entourés d’un cercle.
\relative c' { % Prevent bar numbers at the end of a line and permit them elsewhere \override Score.BarNumber.break-visibility = #end-of-line-invisible \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4) % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = #2 % Draw a box round the following bar number(s) \override Score.BarNumber.stencil = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print) \repeat unfold 5 { c1 } % Draw a circle round the following bar number(s) \override Score.BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print) \repeat unfold 4 { c1 } \bar "|." }
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 }
Alignement des numéros de mesure
Les numéros de mesure s’alignent en principe sur la droite de l’objet dont ils dépendent. C’est normalement le coin gauche de la portée ou, en cours de ligne, à gauche de la barre. Vous pouvez toutefois les centrer par rapport à la barre ou les afficher à droite de la barre.
\relative c' { \set Score.currentBarNumber = #111 \override Score.BarNumber.break-visibility = #all-visible % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = #2 % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c1 % Center-align bar numbers \override Score.BarNumber.self-alignment-X = #CENTER c1 | c1 % Left-align bar numbers \override Score.BarNumber.self-alignment-X = #LEFT c1 | c1 }
Suppression des numéros de mesure d’une partition
Désactiver le graveur concerné – Bar_number_engraver
–
donnera une partition – contexte Score
– sans numéros de
mesure.
\layout { \context { \Score \omit BarNumber % or: %\remove "Bar_number_engraver" } } \relative c'' { c4 c c c \break c4 c c c }
Voir aussi
Morceaux choisis : Rythme.
Référence des propriétés internes : BarNumber, Bar_number_engraver.
Problèmes connus et avertissements
Les numéros de mesure peuvent entrer en collision avec les crochets d’un
StaffGroup. La propriété padding
– décalage
– de l’objet
BarNumber permet alors d’ajuster leur
positionnement.
[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Numéros de mesure ] | [ Plus haut: Mesures ] | [ Indications de repère > ] |
Vérification des limites et numéros de mesure
Les tests de limite 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, |
. Lors du traitement, elle doit correspondre à une
barre de mesure. Sinon, un avertissement est émis qui indique le numéro
de ligne où est détectée l’erreur. Dans l’exemple suivant, le deuxième
test de mesure signale une erreur.
\time 3/4 c2 e4 | g2 |
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.
Lorsque plusieurs tests successifs présentent un même décalage, seul le message d’avertissement concernant la première occurrence est affiché. L’origine du problème est de fait plus évidente.
Le test de mesure peut être aussi utilisé dans les paroles, par exemple :
\lyricmode { \time 2/4 Twin -- kle | Twin -- kle }
Notez bien qu’en matière de paroles, le test est effectué à l’instant musical où la syllabe suivant la marque est traitée. Par voie de conséquence, lorsqu’une mesure débute par un silence, il n’y a pas moyen de positionner une syllabe à cet endroit, et LilyPond émettra un avertissement.
Il est aussi possible d’attribuer une autre valeur au symbole |
,
en assignant une expression musicale à "|"
. Dans l’exemple
suivant, le |
servira à insérer une double barre là où il
apparaît, au lieu de simplement vérifier que la fin de la mesure est
atteinte.
"|" = \bar "||" { c'2 c' | c'2 c' c'2 | c' c'2 c' }
Lorsque l’on recopie de longues pièces, il peut être utile de vérifier
que les numéros de mesure de LilyPond correspondent à l’original que
l’on recopie. Cela se fait avec \barNumberCheck
. Par exemple,
\barNumberCheck #123
affiche un avertissement lors du traitement si le numéro de mesure à ce
point (variable currentBarNumber
) n’est pas égal à 123.
Voir aussi
Morceaux choisis : Rythme.
Indications de repère
Indiquer un repère s’obtient grâce à la commande \mark
.
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark \default c1 \mark \default }
Lorsque vous utilisez \mark \default
, le repère s’incrémente
automatiquement ; toutefois donner un nombre en argument permet de
spécifier manuellement le repère en question. La valeur à utiliser
est enregistrée dans la propriété rehearsalMark
.
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
La lettre I n’est pas utilisée, conformément aux usages de la gravure. Cependant, vous pourrez intégrer la lettre I en utilisant l’une des commandes suivantes selon que ce repère doive être simple, inclus dans un rectangle ou dans un cercle :
\set Score.markFormatter = #format-mark-alphabet \set Score.markFormatter = #format-mark-box-alphabet \set Score.markFormatter = #format-mark-circle-alphabet
\relative c'' { \set Score.markFormatter = #format-mark-box-alphabet c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
Le style de repère est déterminé par la propriété markFormatter
.
Il s’agit d’une fonction qui prend en arguments le repère en cours (un
entier) ainsi que le contexte en cours, et retournera un objet de type
markup. Dans l’exemple qui suit, markFormatter
est réglé
pour une procédure type. Quelques mesures plus loin, son comportement
est modifié pour imprimer un repère encadré.
\relative c'' { \set Score.markFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.markFormatter = #format-mark-box-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-letters c1 }
Le fichier ‘scm/translation-functions.scm’ comporte les
définitions de format-mark-letters
(comportement par défaut),
format-mark-box-letters
, format-mark-numbers
et
format-mark-box-numbers
. Vous pouvez vous en inspirer pour
d’autres fonctions de formatage.
format-mark-barnumbers
, format-mark-box-barnumbers
et
format-mark-circle-barnumbers
permettent d’imprimer le numéro
de mesure au lieu des compteurs alphabétique ou numérique.
On peut aussi spécifier manuellement une marque de repère :
\mark "A1"
Score.markFormatter
sera sans effet sur des repères ainsi
définis. Un \markup
peut néanmoins s’utiliser en argument.
\mark \markup{ \box A1 }
Un \mark
peut contenir un glyphe musical tel que le signe
segno.
\relative c' { c1 \mark \markup { \musicglyph #"scripts.segno" } c1 \mark \markup { \musicglyph #"scripts.coda" } c1 \mark \markup { \musicglyph #"scripts.ufermata" } c1 }
Pour connaître les différents symboles accessibles par
\musicglyph
, consultez La fonte Emmentaler.
Pour affiner le positionnement des repères, veuillez vous référer à
Mise en forme du texte, et tout particulièrement ce qui concerne
la break-alignable-interface
au chapitre
Alignement des objets.
Les définitions format-mark-numbers
et format-mark-letters
sont inscrites dan le fichier ‘scm/translation-functions.scm’.
Elles seront une source d’inspiration en matière de fonctions de
formatage.
Voir aussi
Manuel de notation : Alignement des objets, La fonte Emmentaler, Mise en forme du texte.
Fichiers d’initialisation : ‘scm/translation-functions.scm’.
Morceaux choisis : Rythme.
Référence des propriétés internes : MarkEvent, Mark_engraver, RehearsalMark.
Autres langues : English, català, deutsch, español, italiano, 日本語.
About automatic language selection.