1.7.2 Hors de la portée

Nous allons nous intéresser ici à souligner des éléments inscrits dans la portée par des éléments qui lui seront externes.


Nom des notes

Le nom des notes peut s’imprimer sous forme de texte à l’aide du contexte NoteNames. Utilisé conjointement à une portée standard, chaque hauteur sera synchronisée avec son nom, qu’il soit imprimé au-dessus ou en dessous de la portée.

\language "italiano"
melody = \relative do'' {
  fad2 si,8 dod re mi fad4. re8 fad2
}

<<
  \new NoteNames { \melody }
  \new Staff { \key si \minor \melody }
  \new NoteNames {
    \set printNotesLanguage = "deutsch"
    \set printAccidentalNames = ##f
    \melody
  }
>>

[image of music]

Le nom des notes est imprimé par défaut dans la langue utilisée pour la saisie ; la propriété printNotesLanguage permet cependant de sélectionner l’une des autres langues disponibles – voir Nom des notes dans d’autres langues. La présentation des altérations se gère à l’aide de la propriété printAccidentalNames.

L’utilisation conjointe de ces deux propriétés et l’activation de printOctaveNames donnera une représentation comparable à la syntaxe de saisie de LilyPond. Pour une représentation plus généraliste, on peut utiliser des numéros d’octave.

melody = \relative c'' {
  fis2 b,8 cis d e fis4. d8 fis2
}

<<
  \new NoteNames {
    \set printOctaveNames = ##t
    \set printAccidentalNames = #'lily
    \melody
  }
  \new Staff { \key b \minor \melody }
  \new NoteNames {
    \set printOctaveNames = #'scientific
    \melody
  }
>>

[image of music]

La propriété noteNameSeparator définit comment les accords seront représentés. D’autres fonctions de formatage peuvent se définir en tant que noteNameFunction. Une telle fonction doit attendre une hauteur (pitch) et un contexte en tant qu’arguments même si l’un peut être ignoré.

somechords = \relative c' {
  <b d fis>2 <b cis e g> <b d fis> q
}

<<
  \new NoteNames {
    \set noteNameSeparator = "+"
    \somechords
  }
  \new Staff { \key b \minor \somechords }
  \new NoteNames {
    \set noteNameFunction =
      #(lambda (pitch ctx)
         (alteration->text-accidental-markup
          (ly:pitch-alteration pitch)))
    \somechords
  }
>>

[image of music]

Voir aussi

Manuel de notation : Nom des notes dans d’autres langues.

Référence des propriété internes : NoteName, NoteNames, Note_name_engraver.


Info-bulle

Vous pouvez marquer et nommer des éléments de notation à l’aide de bulles. L’objectif premier de cette fonctionnalité est d’expliquer la notation.

En voici un exemple :

\new Voice \with { \consists Balloon_engraver }
\relative c'' {
  \balloonGrobText #'Stem #'(3 . 4) \markup { "Je suis une hampe" }
  a8
  \balloonGrobText #'Rest #'(-4 . -4) \markup { "Je suis un silence" }
  r
  <c, g'-\balloonText #'(-2 . -2) \markup { "Je suis une tête de note" } c>2.
}

[image of music]

Vous disposez de deux fonctions musicales, balloonGrobText et balloonText. balloonGrobText prend en argument l’objet graphique à agrémenter et s’utilise comme \once \override. balloonText, quant à lui, s’utilise comme une simple articulation et fonctionne comme \tweak pour attacher du texte à l’une des notes d’un accord. Les autres arguments sont le décalage et le texte de la bulle.

Les info-bulles n’ont aucune influence sur l’espacement des notes ; on peut toutefois le gérer ainsi :

\new Voice \with { \consists Balloon_engraver }
\relative c'' {
  \balloonGrobText #'Stem #'(3 . 4) \markup { "Je suis une hampe" }
  a8
  \balloonGrobText #'Rest #'(-4 . -4) \markup { "Je suis un silence" }
  r
  \balloonLengthOn
  <c, g'-\balloonText #'(-2 . -2) \markup { "Je suis une tête de note" } c>2.
}

[image of music]

Le comportement par défaut en matière de point d’attachement du trait entre l’encadrement et le texte est indiqué ci-dessous.

[image of music]

Le calcul par défaut du point d’attachement peut se corriger à l’aide des propriétés X-attachment et Y-attachment qui peuvent prendre une valeur entre -1 et 1, valeurs qui correspondent à l’extrémité gauche (ou basse) et droite (ou haute) du cadre. L’alignement du texte se gère à l’aide de text-alignment-X et text-alignment-Y, de manière similaire.

\new Voice \with {
  \consists Balloon_engraver
}
{
  \once \override BalloonText.Y-attachment = -0.5
  \once \override BalloonText.text-alignment-X = 0.0
  \balloonGrobText Rest #'(1 . 3.5) "rest"
  r4
}

[image of music]

Commandes prédéfinies

\balloonLengthOn, \balloonLengthOff.

Voir aussi

Morceaux choisis : Annotations éditoriales.

Référence des propriétés internes : AnnotateOutputEvent, Balloon_engraver, BalloonText, balloon-interface.


Quadrillage temporel

Vous pouvez tracer des lignes entre les portées, synchronisées avec les notes.

LilyPond a recours à deux graveurs distincts afin d’afficher le quadrillage : le Grid_point_engraver se charge de déterminer l’envergure du crochet, alors que le Grid_line_span_engraver se consacrera au tracé des lignes. Les lignes sont par défaut centrées horizontalement sous les notes et alignées sur la gauche des têtes. La propriété gridInterval spécifie quant à elle l’espace de temps entre chaque ligne.

\layout {
  \context {
    \Staff
    \consists Grid_point_engraver %% active les guides
    gridInterval = #(ly:make-moment 1/4)
  }
  \context {
    \Score
    \consists Grid_line_span_engraver
     %% centre les lignes guides horizontalement sous les notes
  }
}

\score {
  \new ChoirStaff <<
    \new Staff \relative {
      \stemUp
      c''4. d8 e8 f g4
    }
    \new Staff \relative {
    %% centre les lignes guides verticalement
      \clef bass
      \stemDown
      c4  g'  f  e
    }
  >>
}

[image of music]

Morceaux choisis

Apparence du quadrillage temporel

Modifier certaines des propriétés du quadrillage temporel aura pour effet d’en changer l’apparence.

\score {
  \new ChoirStaff <<
    \new Staff {
      \relative c'' {
        \stemUp
        c'4. d8 e8 f g4
      }
    }
    \new Staff {
      \relative c {
        % this moves them up one staff space from the default position
        \override Score.GridLine.extra-offset = #'(0.0 . 1.0)
        \stemDown
        \clef bass
        \once \override Score.GridLine.thickness = #5.0
        c4
        \once \override Score.GridLine.thickness = #1.0
        g'4
        \once \override Score.GridLine.thickness = #3.0
        f4
        \once \override Score.GridLine.thickness = #5.0
        e4
      }
    }
  >>
  \layout {
    \context {
      \Staff
      % set up grids
      \consists "Grid_point_engraver"
      % set the grid interval to one quarter note
      gridInterval = #(ly:make-moment 1/4)
    }
    \context {
      \Score
      \consists "Grid_line_span_engraver"
      % this moves them to the right half a staff space
      \override NoteColumn.X-offset = #-0.5
    }
  }
}

[image of music]

Voir aussi

Morceaux choisis : Annotations éditoriales.

Référence des propriétés internes : Grid_line_span_engraver, Grid_point_engraver, GridLine, GridPoint, grid-line-interface, grid-point-interface.


Crochets d’analyse

On utilise des crochets en analyse musicale, pour indiquer la structure d’une pièce.

\layout {
  \context {
    \Voice
    \consists Horizontal_bracket_engraver
  }
}
\relative {
  c''2\startGroup
  d\stopGroup
}

[image of music]

Les crochets d’analyses sont susceptibles d’être imbriqués :

\layout {
  \context {
    \Voice
    \consists Horizontal_bracket_engraver
  }
}
\relative {
  c''4\startGroup\startGroup
  d4\stopGroup
  e4\startGroup
  d4\stopGroup\stopGroup
}

[image of music]

Morceaux choisis

Crochets d’analyse au-dessus de la portée

Les crochets d’analyse viennent par défaut se positionner au-dessous de la portée. L’exemple suivant vous indique comment les faire apparaître en surplomb de la portée.

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}

\relative c'' {
  \once \override HorizontalBracket.direction = #UP
  c2\startGroup
  d2\stopGroup
}

[image of music]

Crochet d’analyse avec texte

Un markup textuel peut venir s’ajouter aux crochets d’analyse grâce à la propriété texte de l’objet graphique HorizontalBracketText. Plusieurs crochets présents en un même moment requièrent d’utiliser la commande \tweak. Le texte ajouté sera répété, entre parenthèse, après un saut de ligne.

\paper { tagline = ##f }

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
    \override HorizontalBracket.direction = #UP
  }
}

{
  \once\override HorizontalBracketText.text = "a"
    c''\startGroup d''\stopGroup
    \once\override HorizontalBracketText.text = "a'"
    e''\startGroup d''\stopGroup |
  c''-\tweak HorizontalBracketText.text
        \markup \bold \huge "b" \startGroup
     -\tweak HorizontalBracketText.text "a" \startGroup
    d''\stopGroup
    e''-\tweak HorizontalBracketText.text "a'" \startGroup
    d''\stopGroup\stopGroup |
  c''-\tweak HorizontalBracketText.text foo \startGroup
    d'' e'' f'' | \break
  g'' a'' b'' c'''\stopGroup
}

[image of music]

Crochet de mesure

Les bandeaux sur mesure sont un moyen alternatif d’imprimer un crochet annoté. Contrairement aux crochets horizontaux, ces bandeaux s’étendent entre deux barres de mesure plutôt qu’entre deux notes. Le texte est centré sur l’empan du crochet.

\paper { tagline = ##f }

\layout {
  \context {
    \Staff
    \consists Measure_spanner_engraver
  }
}

<<
  \new Staff \relative c'' {
    \key d \minor
    R1*2
    \tweak text "Answer"
    \startMeasureSpanner
    \tuplet 3/2 8 {
      a16[ b c] d[ c b]  c[ d e] f[ e d]
    }
    e8 a gis g
    fis f e d~ d c b e
    \stopMeasureSpanner
  }
  \new Staff \relative c' {
    \key d \minor
    \tweak text "Subject"
    \tweak direction #DOWN
    \startMeasureSpanner
    \tuplet 3/2 8 {
      d16[ e f] g[ f e] f[ g a] bes[ a g]
    }
    a8 d cis c
    b bes a g~ g f e a
    \stopMeasureSpanner
    \tweak text "Counter-subject"
    \tweak direction #DOWN
    \startMeasureSpanner
    f8 e a r r16 b, c d e fis g e
    a gis a b c fis, b a gis e a4 g8
    \stopMeasureSpanner
  }
>>

[image of music]

Voir aussi

Référence des propriétés internes : Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, HorizontalBracketText, horizontal-bracket-text-interface, Measure_spanner_engraver, MeasureSpanner, measure-spanner-interface, Staff.


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