[ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
[ < Displaying pitches ] | [ Up : Displaying pitches ] | [ Key signature > ] |
Clef
Without any explicit command, the default clef for LilyPond is the treble (or G) clef.
c'2 c'
However, the clef can be changed by using the \clef
command and
an appropriate clef name. Middle C is shown in each of the
following examples.
\clef treble c'2 c' \clef alto c'2 c' \clef tenor c'2 c' \clef bass c'2 c'
For the full range of possible clef names see Clef styles.
Specialized clefs, such as those used in Ancient music, are described in Mensural clefs and Gregorian clefs. Music that requires tablature clefs is discussed in Default tablatures and Custom tablatures.
For mixing clefs when using cue notes, see the \cueClef
and
\cueDuringWithClef
commands in Formatting cue notes.
By adding _8
or ^8
to the clef name, the
clef is transposed one octave down or up respectively,
and _15
and ^15
transpose by two octaves.
Other integers can be used if required. Clef names containing
non-alphabetic characters must be enclosed in quotes
\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'
Optional octavation can be obtained by enclosing the numeric argument in parentheses or brackets:
\clef "treble_(8)" c'2 c' \clef "bass^[15]" c'2 c'
The pitches are displayed as if the numeric argument were given without parentheses/brackets.
By default, a clef change taking place at a line break causes the new clef symbol to be printed at the end of the previous line, as a ‘warning clef’, as well as at the beginning of the next. This warning clef can be suppressed.
\clef treble c'2 c' \break \clef bass c'2 c' \break \set Staff.explicitClefVisibility = #end-of-line-invisible \clef alto c'2 c' \break \unset Staff.explicitClefVisibility \clef bass c'2 c'
By default, a clef that has previously been printed will not be
reprinted if the same \clef
command is issued again and
will be ignored. The command
\set Staff.forceClef = ##t
changes this behavior.
\clef treble c'1 \clef treble c'1 \set Staff.forceClef = ##t c'1 \clef treble c'1
To be more precise, it is not the \clef
command itself that
prints a clef. Instead, it sets or changes a property of the
Clef_engraver
, which then decides by its own whether to
display a clef or not in the current staff. The forceClef
property overrides this decision locally to reprint a clef once.
When there is a manual clef change, the glyph of the changed clef will be smaller than normal. This behavior can be overridden.
\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
Selected Snippets
Tweaking clef properties
Changing the clef glyph, its position, or the ottavation does not
change the position of subsequent notes on the staff. To get key
signatures on their correct staff lines, middleCClefPosition
must also be specified, with positive or negative values moving
middle C up or down respectively, relative to the staff’s
center line.
For example, \clef "treble_8"
is equivalent to setting the
clefGlyph
, clefPosition
(the vertical position of the
clef itself on the staff), middleCPosition
, and
clefTransposition
. Note that when any of these properties
(except middleCPosition
) are changed a new clef symbol is
printed.
The following examples show the possibilities when setting these properties manually. On the first line, the manual changes preserve the standard relative positioning of clefs and notes, whereas on the second line, they do not.
{ % 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 }
See also
Notation Reference: Mensural clefs, Gregorian clefs, Default tablatures, Custom tablatures, Formatting cue notes.
Installed Files: scm/parser-clef.scm.
Snippets: Pitches.
Internals Reference: Clef_engraver, Clef, ClefModifier, clef-interface.
Known issues and warnings
Ottavation numbers attached to clefs are treated as separate
grobs. So any \override
done to the Clef will also
need to be applied, as a separate \override
, to the
ClefModifier grob.
\new Staff \with { \override Clef.color = #(universal-color 'blue) \override ClefModifier.color = #(universal-color 'vermillion) } \clef "treble_8" c'4
[ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
[ < Displaying pitches ] | [ Up : Displaying pitches ] | [ Key signature > ] |