1.6.2 Modificare singoli righi

Questa sezione spiega come modificare gli attributi specifici di un rigo, per esempio il numero di linee o la dimensione del rigo. Vengono descritti anche i metodi per iniziare e finire un rigo e per impostare le sezioni ossia.


Simbolo del rigo

I comandi \stopStaff e \startStaff servono a fermare o (ri)avviare le linee del rigo, per impedire che appaiano in un punto della partitura.

\relative {
  \stopStaff f''4 d \startStaff g, e
  f'4 d \stopStaff g, e
  f'4 d \startStaff g, e
}

[image of music]

Comandi predefiniti

\startStaff, \stopStaff.

Le linee di un rigo appartengono all’oggetto StaffSymbol (che comprende i tagli addizionali) e si possono modificare tramite le proprietà di StaffSymbol; però queste modifiche devono essere fatte prima che il rigo sia (ri)avviato.

Si può cambiare il numero di linee del rigo:

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

[image of music]

Si può cambiare anche la posizione di ogni linea del rigo. Un elenco di numeri definisce la posizione di ogni linea. I valori consueti sono 0 per la linea centrale e (-4 -2 0 2 4) per le altre. La linea del rigo appare solo se è presente il suo valore, quindi questo comando permette di variare anche il numero delle linee, oltre alla loro posizione.

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

[image of music]

Per conservare le tipiche direzioni dei gambi (nella metà inferiore del rigo i gambi puntano in su, mentre in quella superiore sono rivolti in giù), occorre allineare la linea centrale (o lo spazio) del rigo personalizzato alla posizione della linea centrale normale (0). Potrà essere necessario regolare la posizione della chiave e del Do centrale per adattarsi alle nuove linee. Si veda Chiave.

Si può modificare lo spessore della linea del rigo. Per impostazione predefinita, questa modifica ha effetto anche sui tagli addizionali e sui gambi.

\new Staff \with {
  \override StaffSymbol.thickness = #3
} \relative {
  f''4 d g, e
}

[image of music]

È anche possibile impostare lo spessore dei tagli addizionali in modo indipendente dalle linee del rigo.

\new Staff \with {
  \override StaffSymbol.thickness = #2
  \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4)
} \relative {
  f'''4 a, a,, f
}

[image of music]

Il primo valore viene moltiplicato per lo spessore della linea del rigo, il secondo per la spaziatura del rigo; la somma dei due valori definisce il nuovo valore dello spessore del taglio addizionale.

Si possono modificare le posizioni verticali dei tagli addizionali:

\new Staff \with {
  \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6)
} \relative {
  f'''4 a, a,, f
}

[image of music]

Si possono far apparire ulteriori tagli addizionali sopra o sotto le teste delle note, a seconda della posizione corrente relativa alle altre teste, anch’esse con i propri tagli addizionali.

\new Staff \with {
  \override StaffSymbol.ledger-extra = #4
} \relative {
  f'''4 a, d, f,
}

[image of music]

Si possono far apparire i tagli addizionali anche dentro il rigo quando servono delle linee personalizzate. L’esempio mostra la posizione predefinita dei tagli addizionali quando la proprietà ledger-position è impostata e quando non lo è. Nell’esempio il comando \stopStaff serve ad annullare il comando \override per l’oggetto StaffSymbol.

\relative d' {
  \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
}

[image of music]

Si può cambiare la distanza tra le linee del rigo. Tale modifica ha effetto anche sulla spaziatura della linea.

\new Staff \with {
  \override StaffSymbol.staff-space = #1.5
} \relative {
  f'''4 d, g, e,
}

[image of music]

Frammenti di codice selezionati

Rendere alcune linee del rigo più spesse delle altre

In ambito didattico può essere utile rendere più spesso una linea del rigo (per esempio, la linea centrale, o per sottolineare la linea della chiave di Sol). Per farlo si possono aggiungere altre linee e posizionarle molto vicino alla linea che deve essere evidenziata, usando la proprietà line-positions dell’oggetto StaffSymbol.

{
  \override Staff.StaffSymbol.line-positions =
    #'(-4 -2 -0.2 0 0.2 2 4)
  d'4 e' f' g'
}

[image of music]

Vedi anche

Glossario musicale: linea, taglio addizionale, rigo (o pentagramma).

Guida alla notazione: Chiave.

Frammenti: Staff notation.

Guida al funzionamento interno: StaffSymbol, staff-symbol-interface.


Righi ossia

I righi ossia si possono creare aggiungendo un nuovo rigo simultaneo nel punto giusto:

\new Staff \relative {
  c''4 b d c
  <<
    { c4 b d c }
    \new Staff { e4 d f e }
  >>
  c4 b c2
}

[image of music]

Tuttavia, questo esempio non produce quel che normalmente si desidera. Per creare righi ossia che siano sopra il rigo originale, non abbiano indicazione di tempo né chiave e abbiano un tipo di carattere più piccolo, sono necessarie delle modifiche manuali. Il Manuale d’apprendimento descrive una tecnica specifica per ottenere questo risultato, a partire da Annidare le espressioni musicali.

L’esempio seguente usa la proprietà alignAboveContext per allineare il rigo ossia. Questo metodo conviene quando sono necessari solo pochi righi ossia.

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

[image of music]

Se si hanno molti righi ossia isolati, è meglio creare un contesto Staff vuoto con un identificativo del contesto specifico; i righi ossia possono essere creati chiamando questo contesto e usando \startStaff e \stopStaff nei punti richiesti. I vantaggi di questo metodo sono più evidenti se il brano è più lungo del seguente esempio.

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

[image of music]

Altrimenti si può usare il comando \RemoveAllEmptyStaves per creare i righi ossia. Questo metodo conviene quando i righi ossia si trovano subito dopo un’interruzione di linea. Ulteriori informazioni su \RemoveAllEmptyStaves si trovano in Nascondere i righi.

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

[image of music]

Frammenti di codice selezionati

Allineare verticalmente gli ossia e il testo vocale

Questo frammento mostra come usare le proprietà di contesto alignBelowContext e alignAboveContext per controllare il posizionamento del testo vocale e degli ossia.

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

[image of music]

Vedi anche

Glossario musicale: ossia, rigo (pentagramma), rigo temporaneo.

Manuale d’apprendimento: Annidare le espressioni musicali, Dimensione degli oggetti, Lunghezza e spessore degli oggetti.

Guida alla notazione: Nascondere i righi.

Frammenti: Staff notation.

Guida al funzionamento interno: StaffSymbol.


Nascondere i righi

Le linee del rigo si possono nascondere togliendo l’incisore Staff_symbol_engraver dal contesto Staff. Altrimenti si può usare \stopStaff.

\new Staff \with {
  \remove Staff_symbol_engraver
}
\relative { a''8 f e16 d c b a2 }

[image of music]

I righi vuoti si possono nascondere (per la cosiddetta ‘partitura alla francese’) applicando il comando \RemoveEmptyStaves a un contesto, che può essere fatto globalmente (in un blocco \layout) oppure soltanto per righi specifici (in un blocco \with). Questo comando toglie tutti i righi vuoti di una partitura eccetto quelli nel primo sistema. Per nascondere anche quelli del primo sistema usare il comando \RemoveAllEmptyStaves. I contesti supportati sono Staff, RhythmicStaff e VaticanaStaff.

Nota: Un rigo viene considerato vuoto quando contiene soltanto pause multiple, pause, salti, pause spaziatrici o una combinazione di questi elementi.

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

[image of music]

\RemoveAllEmptyStaves si può usare anche per creare sezioni ossia per un rigo. I dettagli si trovano in Righi ossia.

Comandi predefiniti

\RemoveEmptyStaves, \RemoveAllEmptyStaves.

Vedi anche

Glossario musicale: rigo temporaneo.

Manuale d’apprendimento: Visibilità e colore degli oggetti.

Guida alla notazione: Modifica delle impostazioni predefinite di un contesto, Simbolo del rigo, Righi ossia, Note nascoste, Pause invisibili, Visibilità degli oggetti.

Frammenti: Staff notation.

Guida al funzionamento interno: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_engraver.

Problemi noti e avvertimenti

Se si toglie l’incisore Staff_symbol_engraver vengono nascoste anche le stanghette. Se si forza la visibilità delle stanghette, potrebbero verificarsi degli errori di formattazione. In questo caso, conviene usare i seguenti comandi invece di togliere l’incisore:

\omit StaffSymbol
\override NoteHead.no-ledgers = ##t

Per i problemi noti e gli avvertimenti relativi a \Staff \RemoveEmptyStaves si veda Modifica delle impostazioni predefinite di un contesto.


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