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.

\stopStaff f4 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:

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

f4 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
}
{ f4 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)
}
{ 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)
}
{ 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
}
{ 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.

\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
}
{ 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'' {
  c4 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'' {
  c4 b d c
  <<
    { c4 b d c }

    \new Staff \with {
      \remove "Time_signature_engraver"
      alignAboveContext = #"main"
      fontSize = #-3
      \override StaffSymbol.staff-space = #(magstep -3)
      \override StaffSymbol.thickness = #(magstep -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
    fontSize = #-3
    \override StaffSymbol.staff-space = #(magstep -3)
    \override StaffSymbol.thickness = #(magstep -3)
  }
  { \stopStaff s1*6 }

  \new Staff \relative c' {
    c4 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]

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

<<
  \new Staff = "ossia" \with {
    \remove "Time_signature_engraver"
    \hide Clef
    fontSize = #-3
    \override StaffSymbol.staff-space = #(magstep -3)
    \override StaffSymbol.thickness = #(magstep -3)
  } \relative c'' {
    R1*3
    c4 e8 d c2
  }
  \new Staff \relative c' {
    c4 b c2
    e4 f e2
    g4 a g2 \break
    c4 b c2
    g4 a g2
    e4 d c2
  }
>>

\layout {
  \context {
    \Staff \RemoveEmptyStaves
    \override VerticalAxisGroup.remove-first = ##t
  }
}

[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 c''' { a8 f e16 d c b a2 }

[image of music]

I righi vuoti si possono nascondere inserendo il comando \Staff \RemoveEmptyStaves nel blocco \layout. Nelle partiture per orchestra, questo stile è noto come ‘Partitura alla francese’. Questo comando nasconde e toglie tutti i righi vuoti di una partitura eccetto quelli nel primo sistema.

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 c' <<
  \new Staff {
    e4 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]

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

Per nascondere i righi vuoti nei contesti della musica antica si può usare il comando \VaticanaStaff \RemoveEmptyStaves. Analogalmente, \RhythmicStaff \RemoveEmptyStaves permette di nascondere i contesti RhythmicStaff vuoti.

Comandi predefiniti

\Staff \RemoveEmptyStaves, \VaticanaStaff \RemoveEmptyStaves, \RhythmicStaff \RemoveEmptyStaves.

Frammenti di codice selezionati

Eliminare la prima linea vuota

Il primo rigo vuoto si può togliere dalla partitura impostando la proprietà remove-first di VerticalAxisGroup. Questa impostazione agisce a livello globale se posta nel blocco \layout, a livello locale se posta nel rigo specifico che deve essere tolto. Nel secondo caso, si deve specificare il contesto (Staff si applica solo al rigo corrente) prima della proprietà.

Il rigo inferiore del secondo gruppo di righi non viene rimosso, perché l’impostazione ha effetto solo sul rigo in cui si trova.

\layout {
  \context {
    \Staff \RemoveEmptyStaves
    % To use the setting globally, uncomment the following line:
    % \override VerticalAxisGroup.remove-first = ##t
  }
}
\new StaffGroup <<
  \new Staff \relative c' {
    e4 f g a \break
    c1
  }
  \new Staff {
    % To use the setting globally, comment this line,
    % uncomment the line in the \layout block above
    \override Staff.VerticalAxisGroup.remove-first = ##t
    R1 \break
    R
  }
>>
\new StaffGroup <<
  \new Staff \relative c' {
    e4 f g a \break
    c1
  }
  \new Staff {
    R1 \break
    R
  }
>>

[image of music]

Vedi anche

Glossario musicale: rigo temporaneo.

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

Guida alla notazione: Changing context default settings, Simbolo del rigo, Righi ossia, Note nascoste, Pause invisibili, Visibility of objects.

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 Changing context default settings.


Altre lingue: English, deutsch, español, français, 日本語.
About automatic language selection.

LilyPond — Guida alla Notazione v2.18.2 (ramo stabile).