1.2.5 Mesures


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 "|." }

[image of music]

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
}

[image of music]

ainsi que d’une barre en pointillé et d’une discontinue :

\relative {
  f'1 \bar ";"
  g1 \bar "!"
  a1
}

[image of music]

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
}

[image of music]

De plus, une barre de mesure peut s’imprimer sous la forme d’une coche :

f'1 \bar "'" g'1

[image of music]

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"

[image of music]

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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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


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
}

[image of music]

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

[image of music]

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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

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 "|."
}

[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]

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
}

[image of music]

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
}

[image of music]

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.


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

[image of music]

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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

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.

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