Chiave

Senza un comando esplicito, la chiave predefinita in LilyPond è la chiave di violino (o di Sol).

c'2 c'

[image of music]

Per cambiare la chiave si usa il comando \clef seguito dal nome della chiave. In tutti gli esempi seguenti viene mostrato il Do centrale.

\clef treble
c'2 c'
\clef alto
c'2 c'
\clef tenor
c'2 c'
\clef bass
c'2 c'

[image of music]

L’elenco completo di tutti i nomi di chiave possibili si trova in Stili della chiave. Chiavi speciali, come quelle usate nella musica antica, sono descritte in Chiavi mensurali e Chiavi gregoriane. La musica che utilizza le chiavi dell’intavolatura è discussa in Intavolature predefinite e Intavolature personalizzate.

Per mischiare le chiavi quando si usano le notine, leggere come si usano i comandi \cueClef e \cueDuringWithClef descritti in Formattazione delle notine.

Aggiungendo _8^8 al nome della chiave, la sua adozione comporta il trasporto all’ottava rispettivamente inferiore o superiore, mentre _15^15 traspongono di due ottave. È possibile usare altri numeri interi, se necessario. I nomi di chiave contenenti caratteri non alfabetici devono essere racchiusi tra virgolette

\clef treble
c'2 c'
\clef "treble_8"
c'2 c'
\clef "bass^15"
c'2 c'
\clef "alto_2"
c'2 c'
\clef "G_8"
c'2 c'
\clef "F^5"
c'2 c'

[image of music]

L’ottavazione opzionale si può ottenere racchiudendo l’argomento numerico tra parentesi tonde o quadre:

\clef "treble_(8)"
c'2 c'
\clef "bass^[15]"
c'2 c'

[image of music]

Le altezze vengono mostrate come se l’argomento numerico fosse inserito senza parentesi.

Se c’è un cambio di chiave quando si interrompe la linea, il simbolo della nuova chiave viene ripetuto alla fine della linea precedente, come chiave di avviso, e all’inizio di quella successiva. Tale chiave di precauzione può essere soppressa.

\clef treble { c'2 c' } \break
\clef bass { c'2 c' } \break
\clef alto
  \set Staff.explicitClefVisibility = #end-of-line-invisible
  { c'2 c' } \break
  \unset Staff.explicitClefVisibility
\clef bass { c'2 c' } \break

[image of music]

Una chiave che è già stata visualizzata non viene ristampata se viene ripetuto lo stesso comando \clef e verrà quindi ignorata. Si può cambiare tale comportamento predefinito col comando \set Staff.forceClef = ##t.

  \clef treble
  c'1
  \clef treble
  c'1
  \set Staff.forceClef = ##t
  c'1
  \clef treble
  c'1

[image of music]

Per essere più precisi, non è proprio il comando \clef a stampare la chiave. Questo comando imposta o cambia una proprietà dell’incisore Clef_engraver, cui spetta la decisione se stampare o meno una chiave nel rigo attuale. La proprietà forceClef scavalca questa decisione localmente in modo da ristampare la chiave una volta.

Quando c’è un cambio di chiave manuale, il glifo della chiave cambiata sarà più piccolo del normale. Tale comportamento può essere modificato.

  \clef "treble"
  c'1
  \clef "bass"
  c'1
  \clef "treble"
  c'1
  \override Staff.Clef.full-size-change = ##t
  \clef "bass"
  c'1
  \clef "treble"
  c'1
  \revert Staff.Clef.full-size-change
  \clef "bass"
  c'1
  \clef "treble"
  c'1

[image of music]

Frammenti di codice selezionati

Modifiche manuali della proprietà della chiave

Cambiando il glifo della chiave, la sua posizione o l’ottavazione non cambia la posizione delle note successive nel rigo. Per far sì che le armature di chiave si trovino sulle linee del rigo corrette, bisogna specificare anche middleCPosition, con valori positivi o negativi che spostano il Do centrale rispettivamente su o giù in senso relativo alla linea centrale del rigo.

Per esempio, \clef "treble_8" equivale a impostare clefGlyph, clefPosition (che regola la posizione verticale della chiave), middleCPosition e clefTransposition. Viene stampata una chiave quando cambia una di queste proprietà, eccetto middleCPosition.

Gli esempi seguenti mostrano le possibilità date dall’impostazione manuale di tali proprietà. Sulla prima linea le modifiche manuali preservano il posizionamento relativo standard di chiavi e note, mentre sulla seconda linea non lo fanno.

{
  % The default treble clef
  \key f \major
  c'1
  % The standard bass clef
  \set Staff.clefGlyph = "clefs.F"
  \set Staff.clefPosition = 2
  \set Staff.middleCPosition = 6
  \set Staff.middleCClefPosition = 6
  \key g \major
  c'1
  % The baritone clef
  \set Staff.clefGlyph = "clefs.C"
  \set Staff.clefPosition = 4
  \set Staff.middleCPosition = 4
  \set Staff.middleCClefPosition = 4
  \key f \major
  c'1
  % The standard choral tenor clef
  \set Staff.clefGlyph = "clefs.G"
  \set Staff.clefPosition = -2
  \set Staff.clefTransposition = -7
  \set Staff.middleCPosition = 1
  \set Staff.middleCClefPosition = 1
  \key f \major
  c'1
  % A non-standard clef
  \set Staff.clefPosition = 0
  \set Staff.clefTransposition = 0
  \set Staff.middleCPosition = -4
  \set Staff.middleCClefPosition = -4
  \key g \major
  c'1 \break

  % The following clef changes do not preserve
  % the normal relationship between notes, key signatures
  % and clefs:

  \set Staff.clefGlyph = "clefs.F"
  \set Staff.clefPosition = 2
  c'1
  \set Staff.clefGlyph = "clefs.G"
  c'1
  \set Staff.clefGlyph = "clefs.C"
  c'1
  \set Staff.clefTransposition = 7
  c'1
  \set Staff.clefTransposition = 0
  \set Staff.clefPosition = 0
  c'1

  % Return to the normal clef:

  \set Staff.middleCPosition = 0
  c'1
}

\paper { tagline = ##f }

[image of music]

Vedi anche

Guida alla notazione: Chiavi mensurali, Chiavi gregoriane, Intavolature predefinite, Intavolature personalizzate, Formattazione delle notine.

File installati: scm/parser-clef.scm.

Frammenti di codice: Altezze.

Guida al funzionamento interno: Clef_engraver, Clef, ClefModifier, clef-interface.

Problemi noti e avvertimenti

I numeri di ottavazione assegnati alle chiavi sono trattati come oggetti grafici separati. Quindi qualsiasi \override all’oggetto Clef dovrà essere applicato, con un altro \override, all’oggetto ClefModifier.

\new Staff \with {
  \override Clef.color = #(universal-color 'blue)
  \override ClefModifier.color = #(universal-color 'vermillion)
}

\clef "treble_8" c'4

[image of music]


Guida alla Notazione di LilyPond v2.25.22 (development-branch).