1.7.2 Esterne al rigo

Questa sezione spiega come dare risalto agli elementi nel rigo attraverso delle note esterne al rigo.


Nomi delle note

È possibile mostrare i nomi delle note come testo usando il contesto NoteNames. Se usato in contemporanea con un rigo normale, si può sincronizzare ogni nota col suo nome, posto sopra o sotto il rigo.

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

I nomi delle note appaiono nella stessa lingua usata per inserirle, ma la proprietà printNotesLanguage permette di selezionare qualsiasi altra lingua disponibile (vedi Nomi delle note in altre lingue). Le alterazioni possono essere mostrate oppure no attraverso la proprietà printAccidentalNames.

Impostando questa proprietà su un simbolo e printOctaveNames su ##t, si possono ottenere nomi delle note che assomigliano molto alla sintassi di LilyPond. Se si desidera un risultato più generico, si possono avere anche i nomi “scientifici” delle ottave.

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 proprietà noteNameSeparator definisce come debbano apparire gli accordi. Si possono definire altre funzioni di formattazione come noteNameFunction; tale funzione si aspetta come argomenti un’altezza e un contesto, anche se uno di questi può essere ignorato.

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]

Vedi anche

Guida alla notazione: Nomi delle note in altre lingue.

Guida al funzionamento interno: NoteName, NoteNames, Note_name_engraver.


Nuvoletta di aiuto

Si possono contrassegnare e nominare gli elementi della notazione tramite una nuvoletta quadrata. La sua funzione principale è spiegare la notazione.

\relative c'' {
  \new Voice \with { \consists Balloon_engraver }
  {
    \balloonGrobText #'Stem #'(3 . 4) \markup { "Sono un gambo" }
    a8
    \balloonGrobText #'Rest #'(-4 . -4) \markup { "Sono una pausa" }
    r
    <c, g'-\balloonText #'(-2 . -2) \markup { "Sono la testa di una nota" } c>2.
  }
}

[image of music]

Ci sono due funzioni musicali, balloonGrobText e balloonText; la prima si usa nella forma \once \override per attaccare del testo a un qualsiasi oggetto grafico (grob), mentre la seconda viene usata come \tweak, solitamente all’interno degli accordi, per attaccare del testo a una singola nota.

Il testo nella nuvoletta influenza la spaziatura delle note, ma è possibile modificare questo comportamento:

\relative c'' {
  \new Voice \with { \consists Balloon_engraver }
  {
    \balloonGrobText #'Stem #'(3 . 4) \markup { "Sono un gambo" }
    a8
    \balloonGrobText #'Rest #'(-4 . -4) \markup { "Sono una pausa" }
    r
    \balloonLengthOn
    <c, g'-\balloonText #'(-2 . -2) \markup { "Sono la testa di una nota" } c>2.
  }
}

[image of music]

Comandi predefiniti

\balloonLengthOn, \balloonLengthOff.

Vedi anche

Frammenti: Editorial annotations.

Guida al funzionamento interno: Balloon_engraver, BalloonText, balloon-interface.


Linee della griglia

Si possono disegnare delle linee verticali tra i righi sincronizzate con le note.

Si deve usare l’incisore Grid_point_engraver per creare le estremità delle linee, mentre l’incisore Grid_line_span_engraver serve a disegnare le linee. Per impostazione predefinita, le linee della griglia sono allineate orizzontalmente sotto e sul lato sinistro delle teste di nota. Le linee si estendono a partire dalle linee centrali di ciascun rigo. gridInterval deve specificare la durata che separa le linee.

\layout {
  \context {
    \Staff
    \consists Grid_point_engraver
    gridInterval = #(ly:make-moment 1/4)
  }
  \context {
    \Score
    \consists Grid_line_span_engraver
  }
}

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

[image of music]

Frammenti di codice selezionati

Modificare l’aspetto delle linee della griglia

L’aspetto delle linee della griglia può essere modificato sovrascrivendo alcune delle loro proprietà.

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

Vedi anche

Frammenti: Editorial annotations.

Guida al funzionamento interno: Grid_line_span_engraver, Grid_point_engraver, GridLine, GridPoint, grid-line-interface, grid-point-interface.


Parentesi analitiche

Nell’analisi musicale si usano le parentesi per indicare la struttura dei brani musicali. Sono supportate delle semplici parentesi orizzontali.

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

[image of music]

Le parentesi analitiche si possono annidare.

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

[image of music]

Frammenti di codice selezionati

Parentesi analitiche sopra il rigo

Delle semplici parentesi analitiche orizzontali vengono aggiunte, per impostazione predefinita, sotto il rigo. L’esempio seguente mostra un modo per posizionarle sopra il rigo.

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

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

[image of music]

Parentesi analitiche con etichette

Si può aggiungere del testo alle parentesi analitiche tramite la proprietà text del grob HorizontalBracketText. L’aggiunta di vari frammenti di testo alle parentesi che iniziano nello stesso momento musicale richiede l’uso del comando \tweak. Dopo un’interruzione di linea il testo viene messo tra parentesi.

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

Vedi anche

Guida al funzionamento interno: Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, HorizontalBracketText, horizontal-bracket-text-interface, Measure_spanner_engraver, MeasureSpanner, measure-spanner-interface, Staff.


LilyPond — Guida alla Notazione v2.23.82 (ramo di sviluppo).