Guida alla Notazione di LilyPond: 1.7.2 Esterne al rigo

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

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

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

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

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

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

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

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

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

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

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

#### 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.24.4 (ramo stabile).