[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Séparation des systèmes ] | [Plus haut: Notation sur la portée ] | [ Symbole de la portée > ] |
1.6.2 Modification de portées individuelles
Cette section explique le réglage de la gravure de chaque portée, comme la taille de portée ou le nombre de lignes ; sont aussi décrits la suspension et la reprise de portées, ainsi que les portées d’ossia.
Symbole de la portée | ||
Portées d’ossia | ||
Masquage de portées |
Symbole de la portée
Les commandes \stopStaff
et \startStaff
permettent
respectivement de clôturer et (re)démarrer une portée n’importe où dans
une partition.
\relative { \stopStaff f''4 d \startStaff g, e f'4 d \stopStaff g, e f'4 d \startStaff g, e }
Commandes prédéfinies
\startStaff
,
\stopStaff
.
Les notes, nuances, etc. sont regroupées dans un assemblage de lignes
horizontales, que l’on nomme la portée (en anglais staff, et
staves au pluriel). Dans LilyPond, ces lignes sont dessinées au
moyen d’un objet graphique (grob) à part entière, nommé
StaffSymbol
– symbole de portée. Modifier les propriétés d’un
StaffSymbol
changera l’apparence de la portée, dès lors qu’elles
auront été définies avant de créer la portée en question.
Vous pouvez modifier le nombre de lignes d’une portée :
\relative { f''4 d \stopStaff \override Staff.StaffSymbol.line-count = #2 \startStaff g, e | f'4 d \stopStaff \revert Staff.StaffSymbol.line-count \startStaff g, e | }
Le positionnement de chacune des lignes de la portée est modifiable. Une
liste de nombres détermine le positionnement de chaque ligne.
Le 0
correspond à la ligne médiane d’une portée habituelle, pour
laquelle la liste est donc (-4 -2 0 2 4)
. Une ligne sera donc
imprimée pour chaque valeur exprimée ; le nombre de lignes, ainsi que
leur position dans la portée, peut donc se modifier à l’aide d’une seule
commande. C’est ainsi que la propriété line-count
est ignorée dès
lors qu’est activée line-positions
\relative { f''4 d \stopStaff \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3) \startStaff g, e | f'4 d \stopStaff \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5) \startStaff g, e | }
Afin de préserver l’orientation habituelle des hampes – ascendantes dans la partie inférieure de la portée, descendantes dans la partie supérieure – la ligne (ou l’interligne) centrale de la portée personnalisée devra être en phase avec avec la ligne médiane d’une portée classique (0). La position de la clef et celle du do médium demanderont parfois un ajustement afin d’être en phase avec cette nouvelle portée. Pour plus d’explications, reportez-vous aux exemples du chapitre Clefs.
Lorsque vous modifierez l’épaisseur des lignes, gardez à l’esprit que les lignes supplémentaires et les hampes seront aussi modifiées.
\new Staff \with { \override StaffSymbol.thickness = #3 } { e4 d c b }
L’épaisseur des lignes supplémentaires (ledger lines) peut être déterminée indépendamment des lignes de la portée.
\new Staff \with { \override StaffSymbol.thickness = #2 \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4) } \relative { f'''4 a, a,, f }
La première valeur est multipliée par l’épaisseur de ligne de portée, la seconde par l’espace d’interligne ; ces deux valeurs sont alors combinées pour donner la nouvelle épaisseur des lignes supplémentaires.
L’emplacement des lignes supplémentaires est réglable :
\new Staff \with { \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6) } \relative { f'''4 a, a,, f }
Vous pouvez faire apparaître des lignes supplémentaires additionnelles au-dessus ou en dessous des têtes de note selon leur positionnement relatif aux autres notes, qu’elles aient ou non elles-mêmes des lignes supplémentaires.
\new Staff \with { \override StaffSymbol.ledger-extra = #4 } \relative { f'''4 a, d, f, }
Des lignes supplémentaires peuvent apparaître y compris au sein d’une
portée, notamment lorsque vous l’avez personnalisée. L’exemple suivant
illustre deux cas de figure quant au positionnement des lignes
supplémentaires selon que la propriété legder-position
est
définie explicitement ou non. La présence du \stopStaff
est ici
rendue nécessaire pour annuler les effets de la commande
\override
qui s’applique à l’intégralité du StaffSymbol
.
\override Staff.StaffSymbol.line-positions = #'(-8 0 2 4) d4 e f g \stopStaff \startStaff \override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0) d4 e f g
Modifier l’équidistance des lignes de la portée affectera aussi les lignes supplémentaires.
\new Staff \with { \override StaffSymbol.staff-space = #1.5 } \relative { f'''4 d, g, e, }
La largeur d’une portée, exprimée en espace de portée, peut être figée. L’espacement des objets inclus dans cette portée ne sera en rien affecté par ce réglage.
\new Staff \with { \override StaffSymbol.width = #23 } \relative { a4 e' f b | d1 }
Morceaux choisis
Empâtement de certaines lignes d’une portée
Vous pourriez avoir envie, dans un but pédagogique, de rendre certaines
lignes d’une portée plus épaisses que les autres, comme la ligne médiane,
ou bien pour mettre en exergue la ligne portant la clef de sol. Il
suffit pour cela d’ajouter une ligne qui sera accolée à celle qui doit
être mise en évidence, grâce à la propriété line-positions
de
l’objet StaffSymbol
.
{ \override Staff.StaffSymbol.line-positions = #'(-4 -2 -0.2 0 0.2 2 4) d'4 e' f' g' }
Voir aussi
Glossaire musicologique : ligne, ligne supplémentaire, portée.
Manuel de notation : Clefs.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : StaffSymbol, staff-symbol-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Symbole de la portée ] | [Plus haut: Modification de portées individuelles ] | [ Masquage de portées > ] |
Portées d’ossia
Une portée d’ossia – ou de variante – s’obtient en créant, à l’endroit approprié, une nouvelle portée simultanée :
\new Staff \relative { c''4 b d c << { c4 b d c } \new Staff { e4 d f e } >> c4 b c2 }
L’exemple ci-dessus n’est probablement pas ce qui vous conviendra le plus. Afin que cette ossia se place au-dessus de la portée à laquelle elle se réfère, étant par ailleurs dépourvue de métrique et de clef, et d’une taille légèrement inférieure, vous devrez avoir recours à quelques retouches. Le manuel d’initiation aborde une technique particulière pour obtenir ce résultat, au chapitre Expressions musicales imbriquées.
L’exemple qui suit utilise, pour aligner la portée d’ossia, la propriété
alignAboveContext
. Cette méthode est tout à fait appropriée
lorsqu’il y a un nombre restreint d’ossias.
\new Staff = "main" \relative { c''4 b d c << { c4 b d c } \new Staff \with { \remove Time_signature_engraver alignAboveContext = "main" \magnifyStaff #2/3 firstClef = ##f } { e4 d f e } >> c4 b c2 }
Dans le cas où de nombreux et courts fragments d’ossia affecteraient
une même portée, il est judicieux de créer un contexte Staff
vide
auquel sera attribué un identifiant. Il suffira alors, pour
entamer un fragment d’ossia, de « faire appel » à ce contexte grâce
aux commandes \startStaff
et \stopStaff
. Vous vous
rendrez compte à l’utilisation des avantages que procure cette façon de
procéder, bien plus que dans l’exemple suivant.
<< \new Staff = "ossia" \with { \remove Time_signature_engraver \hide Clef \magnifyStaff #2/3 } { \stopStaff s1*6 } \new Staff \relative { c'4 b c2 << { e4 f e2 } \context Staff = "ossia" { \startStaff e4 g8 f e2 \stopStaff } >> g4 a g2 \break c4 b c2 << { g4 a g2 } \context Staff = "ossia" { \startStaff g4 e8 f g2 \stopStaff } >> e4 d c2 } >>
Vous pourriez aussi recourir à la commande \RemoveAllEmptyStaves
pour créer votre portée d’ossia. Cependant, cette méthode reste limitée
à l’apparition de ces ossias en début de ligne. Pour plus d’information
au sujet de la commande \RemoveAllEmptyStaves
, reportez-vous au
chapitre Masquage de portées.
<< \new Staff = "ossia" \with { \remove Time_signature_engraver \hide Clef \magnifyStaff #2/3 \RemoveAllEmptyStaves } \relative { R1*3 c''4 e8 d c2 } \new Staff \relative { c'4 b c2 e4 f e2 g4 a g2 \break c4 b c2 g4 a g2 e4 d c2 } >>
Morceaux choisis
Positionnement d’une ossia et des paroles
Cet exemple illustre la manière de positionner une portée d’ossia et
des paroles à l’aide des propriétés de contexte alignBelowContext
et alignAboveContext
.
\paper { ragged-right = ##t } \relative c' << \new Staff = "1" { c4 c s2 } \new Staff = "2" { c4 c s2 } \new Staff = "3" { c4 c s2 } { \skip 2 << \lyrics { \set alignBelowContext = #"1" lyrics4 below } \new Staff \with { alignAboveContext = #"3" fontSize = #-2 \override StaffSymbol.staff-space = #(magstep -2) \remove "Time_signature_engraver" } { \tuplet 6/4 { \override TextScript.padding = #3 c8[^"ossia above" d e d e f] } } >> } >>
Voir aussi
Glossaire musicologique : ossia, portée, Frenched staff.
Manuel d’initiation : Expressions musicales imbriquées, Longueur et épaisseur des objets, Taille des objets.
Manuel de notation : Masquage de portées.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : StaffSymbol.
Masquage de portées
Désactiver le graveur Staff_symbol_engraver
dans un contexte
Staff
permet de masquer des lignes. La commande
\stopStaff
aura le même effet.
\new Staff \with { \remove Staff_symbol_engraver } \relative { a''8 f e16 d c b a2 }
L’instruction \RemoveEmptyStaves
placée dans un bloc
\layout
ou dans une clause \with
affectant une portée
particulière, aura pour effet de masquer toute portée qui ne contient
rien. Dans les partitions d’orchestre, les portées qui n’ont que des
silences sont habituellement masquées afin de gagner de la place. Ce
style d’édition s’appelle en anglais « Frenched Score ». Cette
fonctionnalité masque et supprime toutes les portées vides d’une
partition, hormis celles du premier système. Le premier système sera
lui aussi concerné dès lors que sera utilisée l’instruction
\RemoveAllEmptyStaves
.
\layout { \context { \Staff \RemoveEmptyStaves } } \relative << \new Staff { e'4 f g a \break b1 \break a4 b c2 } \new Staff { c,4 d e f \break R1 \break f4 g c,2 } >>
Une portée est considérée comme vide dès lors qu’elle ne contient que
des silences multimesures, des silences visibles ou invisibles (ou
d’espacement – les \skip) ou bien une combinaison de ces
éléments. Tous les autres objets musicaux, ceux qui font qu’une
portée ne sera pas considérée vide, sont répertoriés dans la propriété
de contexte keepAliveInterfaces
telle que définie dans le fichier
‘ly/engraver-init.ly’.
\RemoveEmptyStaves
et \RemoveAllEmptyStaves
sont tous deux
des racourcis prédéfinis qui déterminent les propriétés telles que
remove-empty
et remove-first
, attachées à l’objet
VerticalAxisGroup
, comme indiqué dans
Identificateurs de modification de contexte.
Le Keep_alive_together_engraver
permet de masquer l’intégralité
d’un regroupement de portées plutôt que des portées individuelles. Il
est normalement attaché au contexte PianoStaff
: un système
pianistique sera masqué uniquement dans le cas où les deux portées qui
le composent sont vides. De la même manière, il est d’usage pour un
conducteur d’orchestre de masquer les regroupements de portées plutôt
que de manière individuelle. Ceci s’obtient en ajoutant le
Keep_alive_together_engraver
au regroupement de portées
considéré, comme indiqué dans
Modification des greffons de contexte – voir
Regroupement de portées pour leur dénomination.
\layout { \context { \StaffGroup \RemoveEmptyStaves \consists Keep_alive_together_engraver } }
Dans l’exemple suivant, les portées des instruments à vent sont absentes du deuxième système, alors que celle de la contrebasse demeure présente puisqu’elle est rattachée au regroupement des cordes qui, elles, continuent de jouer.
En interne, le Keep_alive_together_engraver
recourt à la
propriété remove-layer
du VerticalAxisGroup
d’une portée
pour décider de son impression lorsqu’elle est considérée vide. Cette
propriété peut aussi se définir manuellement, auquel cas elle agit sous
forme d’index de priorité : des valeurs proches de zéro seront
prioritaires sur celles plus élevées, ce qui aura pour conséquence de
masquer d’abord les portées dont le remove-layer
est plus grand.
Ceci se révèle tout particulièrement utile pour une « division » de portée, lorsque plusieurs parties indépendantes – voir Écriture de parties séparées – doivent momentanément se répartir sur plusieurs portées. Dans l’exemple qui suit, deux parties sont réparties sur trois portées ; ces trois portées n’apparaissent toutefois jamais simultanément :
-
au premier système, une seule d’entre elles est affichée, dans la mesure
où la propriété
keepAliveInterfaces
a été réglée sur une liste vide – de fait, les deux autres portées sont considérées comme vides et donc masquées, en dépit de ce qu’elles pourraient contenir ; -
lorsque cette propriété est désactivée – et retrouve donc ses réglages
par défaut – elle n’empêche plus les deux autres portées d’être
affichées. Cependant, et parce que le réglage de leur
remove-layer
est inférieur à celui de la portée unique, ces deux portées seront alors imprimées à la place.
De telles substitutions ne s’appliquent pas seulement aux notes, accords ou autres éléments musicaux intervenant dès après le nouveau réglage, mais à l’intégralité du système où il est mentionné.
\layout { short-indent = 2\cm indent = 3\cm \context { \Staff keepAliveInterfaces = #'() } } violI = { \repeat unfold 24 { d'4 } \once \unset Staff.keepAliveInterfaces <d' g''>2 \repeat unfold 14 { d'4 } \bar "|." } violII = { \repeat unfold 24 { g4 } <g d'>2 \repeat unfold 14 { g4 } \bar "|." } \new StaffGroup \with { \consists Keep_alive_together_engraver } << \new Staff \with { instrumentName = "Violins" shortInstrumentName = "V I & II" \override VerticalAxisGroup.remove-layer = 2 } << \violI \\ \violII >> \new Staff \with { instrumentName = "Violin I" shortInstrumentName = "V I" \RemoveAllEmptyStaves \override VerticalAxisGroup.remove-layer = 1 } \violI \new Staff \with { instrumentName = "Violin II" shortInstrumentName = "V II" \RemoveAllEmptyStaves \override VerticalAxisGroup.remove-layer = 1 } \violII >>
\RemoveAllEmptyStaves
permet aussi de gérer des fragments d’ossia
attachés à une portée. Pour plus de détails, voir Portées d’ossia.
Commandes prédéfinies
\RemoveEmptyStaves
,
\RemoveAllEmptyStaves
,
Voir aussi
Glossaire musicologique : Frenched staff.
Manuel d’initiation : Visibilité et couleur des objets.
Manuel de notation : Dictée à trous, Identificateurs de modification de contexte, Modification des greffons de contexte, Modification des réglages par défaut d’un contexte, Portées d’ossia, Regroupement de portées, Silences invisibles, Symbole de la portée, Visibilité des objets.
Fichiers d’initialisation : ‘ly/engraver-init.ly’.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : Axis_group_engraver, ChordNames, FiguredBass, Keep_alive_together_engraver, Lyrics, Staff, Staff_symbol_engraver, VerticalAxisGroup.
Problèmes connus et avertissements
Supprimer le Staff_symbol_engraver
aura pour effet de masquer les
barres de mesure. Forcer leur visibilité peut entraîner des problèmes
de formatage. En pareil cas il vaut mieux, au lieu de supprimer le
graveur, recourir aux dérogations suivantes :
\omit StaffSymbol \override NoteHead.no-ledgers = ##t
En ce qui concerne les désagréments et messages liés à l’utilisation de
l’instruction \RemoveEmptyStaves
, consultez
Modification des réglages par défaut d’un contexte.