| [Top][Contents][Index][ ? ] |
GNU LilyPond — Notation Reference
The music typesetter
This document is also available as a PDF and as a HTML indexed multiple pages.
This file documents GNU LilyPond.
Copyright 1999–2008 by the authors
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled “GNU Free Documentation License”.
This is the Notation Reference (NR) for GNU LilyPond version 2.12.1. For more information about how this fits with the other documentation, see About the documentation.
More information can be found at http://www.lilypond.org/. The website contains on-line copies of this and other documentation.
We want to dedicate this program to all the friends that we met through music.
Han-Wen and Jan
| 1. Musical notation | ||
| 2. Specialist notation | Notation which is only used for specific purposes. | |
| 3. General input and output | General information about lilypond input and output. | |
| 4. Spacing issues | Display of output on paper. | |
| 5. Changing defaults | Tuning output. | |
| 6. Interfaces for programmers | Expert usage. | |
Appendices | ||
|---|---|---|
| A. Literature list | Reference works about music notation. | |
| B. Notation manual tables | Tables and charts. | |
| C. Cheat sheet | Summary of LilyPond syntax. | |
| D. GNU Free Documentation License | License of this document. | |
| E. LilyPond command index | ||
| F. LilyPond index | ||
| [ << Top ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Top ] | [ Up : Top ] | [ Pitches > ] | ||
1. Musical notation
This chapter explains how to create musical notation.
| 1.1 Pitches | Writing and display the pitches of notes. | |
| 1.2 Rhythms | Writing and displaying the durations of notes. | |
| 1.3 Expressive marks | Adding expression to notes. | |
| 1.4 Repeats | Repeat music. | |
| 1.5 Simultaneous notes | More than one note at once. | |
| 1.6 Staff notation | Displaying staves. | |
| 1.7 Editorial annotations | Special notation to increase legibility. | |
| 1.8 Text | Adding text to scores. |
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Musical notation ] | [ Up : Musical notation ] | [ Writing pitches > ] | ||
1.1 Pitches
This section discusses how to specify the pitch of notes. There are three steps to this process: input, modification, and output.
| 1.1.1 Writing pitches | ||
| 1.1.2 Changing multiple pitches | ||
| 1.1.3 Displaying pitches | ||
| 1.1.4 Note heads |
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Pitches ] | [ Up : Pitches ] | [ Absolute octave entry > ] | ||
1.1.1 Writing pitches
This section discusses how to input pitches. There are two different ways to place notes in octaves: absolute and relative mode. In most cases, relative mode will be more convenient.
| Absolute octave entry | ||
| Relative octave entry | ||
| Accidentals | ||
| Note names in other languages |
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Writing pitches ] | [ Up : Writing pitches ] | [ Relative octave entry > ] | ||
Absolute octave entry
A pitch name is specified using lowercase letters a
through g. The note names c to b are
engraved in the octave below middle C.
\clef bass c d e f g a b c d e f g
Other octaves may be specified with a single quote (')
or comma (,) character. Each ' raises the
pitch by one octave; each , lowers the pitch by an
octave.
\clef treble c' c'' e' g d'' d' d c \clef bass c, c,, e, g d,, d, d c
See also
Music Glossary: Pitch names.
Snippets: Pitches.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Absolute octave entry ] | [ Up : Writing pitches ] | [ Accidentals > ] | ||
Relative octave entry
When octaves are specified in absolute mode it is easy to accidentally put a pitch in the wrong octave. Relative octave mode reduces these errors since most of the time it is not necessary to indicate any octaves at all. Furthermore, in absolute mode a single mistake may be difficult to spot, while in relative mode a single error puts the rest of the piece off by one octave.
\relative startpitch musicexpr
In relative mode, each note is assumed to be as close to the previous note as possible. This means that the octave of each pitch inside musicexpr is calculated as follows:
- If no octave changing mark is used on a pitch, its octave is calculated so that the interval with the previous note is less than a fifth. This interval is determined without considering accidentals.
-
An octave changing mark
'or,can be added to respectively raise or lower a pitch by an extra octave, relative to the pitch calculated without an octave mark. -
Multiple octave changing marks can be used. For example,
''and,,will alter the pitch by two octaves. -
The pitch of the first note is relative to
startpitch. startpitch is specified in absolute octave mode, and it is recommended that it be a octave ofc.
Here is the relative mode shown in action:
\relative c {
\clef bass
c d e f
g a b c
d e f g
}
Octave changing marks are used for intervals greater than a fourth:
\relative c'' {
c g c f,
c' a, e'' c
}
A note sequence without a single octave mark can nevertheless span large intervals:
\relative c {
c f b e
a d g c
}
If the preceding item is a chord, the first note of the chord is
used as the reference point for the octave placement of a
following note or chord. Inside chords, the next note is always
relative to the preceding one. Examine the next example
carefully, paying attention to the c notes.
\relative c' {
c
<c e g>
<c' e g'>
<c, e, g''>
}
As explained above, the octave of pitches is calculated only with the note names, regardless of any alterations. Therefore, an E-double-sharp following a B will be placed higher, while an F-double-flat will be placed lower. In other words, a double-augmented fourth is considered a smaller interval than a double-diminished fifth, regardless of the number of semitones that each interval contains.
\relative c'' {
c2 fis
c2 ges
b2 eisis
b2 feses
}
See also
Music Glossary: fifth, interval, Pitch names.
Notation Reference: Octave checks.
Snippets: Pitches.
Internals Reference: RelativeOctaveMusic.
Known issues and warnings
The relative conversion will not affect \transpose,
\chordmode or \relative sections in its argument.
To use relative mode within transposed music, an additional
\relative must be placed inside \transpose.
If no startpitch is specified for \relative,
then c' is assumed. However, this is a deprecated
option and may disappear in future versions, so its use is
discouraged.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Relative octave entry ] | [ Up : Writing pitches ] | [ Note names in other languages > ] | ||
Accidentals
|
Note: New users are sometimes confused about accidentals and
key signatures. In LilyPond, note names are the raw input; key
signatures and clefs determine how this raw input is displayed.
An unaltered note like |
A sharp pitch is made by adding is to the note
name, and a flat pitch by adding es. As you
might expect, a double sharp or double flat
is made by adding isis or eses. This syntax is
derived from Dutch note naming conventions. To use other names
for accidentals, see Note names in other languages.
ais1 aes aisis aeses
A natural will cancel the effect of an accidental or key signature. However, naturals are not encoded into the note name syntax with a suffix; a natural pitch is shown as a simple note name:
a4 aes a2
Quarter tones may be added; the following is a series of Cs with increasing pitches:
ceseh1 ces ceh c cih cis cisih
Normally accidentals are printed automatically, but you may also
print them manually. A reminder accidental can be forced by
adding an exclamation mark ! after the pitch. A
cautionary accidental (i.e., an accidental within parentheses) can
be obtained by adding the question mark ? after the
pitch. These extra accidentals can also be used to produce
natural signs.
cis cis cis! cis? c c c! c?
Accidentals on tied notes are only printed at the beginning of a new system:
cis1 ~ cis ~ \break cis
Selected Snippets
Preventing extra naturals from being automatically added
In accordance with standard typesetting rules, a natural sign is
printed before a sharp or flat if a previous accidental on the same
note needs to be canceled. To change this behavior, set the
extraNatural property to "false" in the Staff context.
\relative c'' {
aeses4 aes ais a
\set Staff.extraNatural = ##f
aeses4 aes ais a
}
Makam example
Makam is a type of melody from Turkey using 1/9th-tone
microtonal alterations. Consult the initialization file
makam.ly (see the ‘Learning Manual 2.12.1,
4.6.3 Other sources of information’ for the location of this file)
for details of pitch names and alterations.
% Initialize makam settings
\include "makam.ly"
\relative c' {
\set Staff.keySignature = #`((3 . ,BAKIYE) (6 . ,(- KOMA)))
c4 cc db fk
gbm4 gfc gfb efk
fk4 db cc c
}
See also
Music Glossary: sharp, flat, double sharp, double flat, Pitch names, quarter tone.
Learning Manual: Accidentals and key signatures.
Notation Reference: Automatic accidentals, Annotational accidentals (musica ficta), Note names in other languages.
Snippets: Pitches.
Internals Reference: Accidental_engraver, Accidental, AccidentalCautionary, accidental-interface.
Known issues and warnings
There are no generally accepted standards for denoting quarter-tone accidentals, so LilyPond’s symbol does not conform to any standard.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Accidentals ] | [ Up : Writing pitches ] | [ Changing multiple pitches > ] | ||
Note names in other languages
There are predefined sets of note and accidental names for various
other languages. To use them, include the language-specific init
file listed below. For example, to use English notes names, add
\include "english.ly" to the top of the input file.
The available language files and the note names they define are:
Language File
Note Names
‘nederlands.ly’
c d e f g a bes b
‘arabic.ly’
do re mi fa sol la sib si
‘catalan.ly’
do re mi fa sol la sib si
‘deutsch.ly’
c d e f g a b h
‘english.ly’
c d e f g a bf b
‘espanol.ly’
do re mi fa sol la sib si
‘italiano.ly’
do re mi fa sol la sib si
‘norsk.ly’
c d e f g a b h
‘portugues.ly’
do re mi fa sol la sib si
‘suomi.ly’
c d e f g a b h
‘svenska.ly’
c d e f g a b h
‘vlaams.ly’
do re mi fa sol la sib si
and the accidental suffixes they define are:
Language File
sharp
flat
double sharp
double flat
‘nederlands.ly’
-is
-es
-isis
-eses
‘arabic.ly’
-d
-b
-dd
-bb
‘catalan.ly’
-d/-s
-b
-dd/-ss
-bb
‘deutsch.ly’
-is
-es
-isis
-eses
‘english.ly’
-s/-sharp
-f/-flat
-ss/-x/-sharpsharp
-ff/-flatflat
‘espanol.ly’
-s
-b
-ss
-bb
‘italiano.ly’
-d
-b
-dd
-bb
‘norsk.ly’
-iss/-is
-ess/-es
-ississ/-isis
-essess/-eses
‘portugues.ly’
-s
-b
-ss
-bb
‘suomi.ly’
-is
-es
-isis
-eses
‘svenska.ly’
-iss
-ess
-ississ
-essess
‘vlaams.ly’
-k
-b
-kk
-bb
In Dutch, aes is contracted to as, but both forms
are accepted in LilyPond. Similarly, both es and
ees are accepted. This also applies to
aeses / ases and
eeses / eses. Sometimes only these
contracted names are defined in the corresponding language files.
a2 as e es a ases e eses
Some music uses microtones whose alterations are fractions of a ‘normal’ sharp or flat. The note names for quarter-tones defined in the various language files are listed in the following table. Here the prefixes semi- and sesqui- mean ‘half’ and ‘one and a half’, respectively. For the other languages, no special names have been defined yet.
Language File
semi-sharp
semi-flat
sesqui-sharp
sesqui-flat
‘nederlands.ly’
-ih
-eh
-isih
-eseh
‘arabic.ly’
-sd
-sb
-dsd
-bsb
‘deutsch.ly’
-ih
-eh
-isih
-eseh
‘english.ly’
-qs
-qf
-tqs
-tqf
‘italiano.ly’
-sd
-sb
-dsd
-bsb
‘portugues.ly’
-sqt
-bqt
-stqt
-btqt
See also
Music Glossary: Pitch names.
Snippets: Pitches.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Note names in other languages ] | [ Up : Pitches ] | [ Octave checks > ] | ||
1.1.2 Changing multiple pitches
This section discusses how to modify pitches.
| Octave checks | ||
| Transpose |
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Changing multiple pitches ] | [ Up : Changing multiple pitches ] | [ Transpose > ] | ||
Octave checks
In relative mode, it is easy to forget an octave changing mark. Octave checks make such errors easier to find by displaying a warning and correcting the octave if a note is found in an unexpected octave.
To check the octave of a note, specify the absolute octave after
the = symbol. This example will generate a warning
(and change the pitch) because the second note is the absolute
octave d'' instead of d' as indicated by the octave
correction.
\relative c'' {
c2 d='4 d
e2 f
}
The octave of notes may also be checked with the
\octaveCheck controlpitch command.
controlpitch is specified in absolute mode. This checks
that the interval between the previous note and the
controlpitch is within a fourth (i.e., the normal
calculation of relative mode). If this check fails, a warning is
printed, but the previous note is not changed. Future notes are
relative to the controlpitch.
\relative c'' {
c2 d
\octaveCheck c'
e2 f
}
Compare the two bars below. The first and third \octaveCheck
checks fail, but the second one does not fail.
\relative c'' {
c4 f g f
c4
\octaveCheck c'
f
\octaveCheck c'
g
\octaveCheck c'
f
}
See also
Snippets: Pitches.
Internals Reference: RelativeOctaveCheck.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Octave checks ] | [ Up : Changing multiple pitches ] | [ Displaying pitches > ] | ||
Transpose
A music expression can be transposed with \transpose. The
syntax is
\transpose frompitch topitch musicexpr
This means that musicexpr is transposed by the interval between the pitches frompitch and topitch: any note with pitch frompitch is changed to topitch and any other note is transposed by the same interval. Both pitches are entered in absolute mode.
Consider a piece written in the key of D-major. It can be transposed up to E-major; note that the key signature is automatically transposed as well.
\transpose d e {
\relative c' {
\key d \major
d4 fis a d
}
}
If a part written in C (normal concert pitch) is to be played on the A clarinet (for which an A is notated as a C and thus sounds a minor third lower than notated), the appropriate part will be produced with:
\transpose a c' {
\relative c' {
\key c \major
c4 d e g
}
}
Note that we specify \key c \major explicitly. If we
do not specify a key signature, the notes will be transposed but
no key signature will be printed.
\transpose distinguishes between enharmonic pitches: both
\transpose c cis or \transpose c des will
transpose up a semitone. The first version will print sharps and
the notes will remain on the same scale step, the second version
will print flats on the scale step above.
music = \relative c' { c d e f }
\new Staff {
\transpose c cis { \music }
\transpose c des { \music }
}
\transpose may also be used in a different way, to input
written notes for a transposing instrument. The previous examples
show how to enter pitches in C (or concert pitch) and
typeset them for a transposing instrument, but the opposite is
also possible if you for example have a set of instrumental parts
and want to print a conductor’s score. For example, when entering
music for a B-flat trumpet that begins on a notated E (concert D),
one would write:
musicInBflat = { e4 … } \transpose c bes, \musicInBflat
To print this music in F (e.g., rearranging to a French horn) you
could wrap the existing music with another \transpose:
musicInBflat = { e4 … } \transpose f c' { \transpose c bes, \musicInBflat }
For more information about transposing instruments, see Instrument transpositions.
Selected Snippets
Transposing music with minimum accidentals This example uses some Scheme code to enforce enharmonic modifications for notes in order to have the minimum number of accidentals. In this case, the following rules apply:
- Double accidentals should be removed
- B sharp -> C
- E sharp -> F
- C flat -> B
- F flat -> E
In this manner, the most natural enharmonic notes are chosen.
#(define (naturalize-pitch p)
(let* ((o (ly:pitch-octave p))
(a (* 4 (ly:pitch-alteration p)))
; alteration, a, in quarter tone steps, for historical reasons
(n (ly:pitch-notename p)))
(cond
((and (> a 1) (or (eq? n 6) (eq? n 2)))
(set! a (- a 2))
(set! n (+ n 1)))
((and (< a -1) (or (eq? n 0) (eq? n 3)))
(set! a (+ a 2))
(set! n (- n 1))))
(cond
((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
(if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
(if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
(ly:make-pitch o n (/ a 4))))
#(define (naturalize music)
(let* ((es (ly:music-property music 'elements))
(e (ly:music-property music 'element))
(p (ly:music-property music 'pitch)))
(if (pair? es)
(ly:music-set-property!
music 'elements
(map (lambda (x) (naturalize x)) es)))
(if (ly:music? e)
(ly:music-set-property!
music 'element
(naturalize e)))
(if (ly:pitch? p)
(begin
(set! p (naturalize-pitch p))
(ly:music-set-property! music 'pitch p)))
music))
naturalizeMusic =
#(define-music-function (parser location m)
(ly:music?)
(naturalize m))
music = \relative c' { c4 d e g }
\score {
\new Staff {
\transpose c ais { \music }
\naturalizeMusic \transpose c ais { \music }
\transpose c deses { \music }
\naturalizeMusic \transpose c deses { \music }
}
\layout { }
}
See also
Notation Reference: Instrument transpositions.
Snippets: Pitches.
Internals Reference: TransposedMusic.
Known issues and warnings
The relative conversion will not affect \transpose,
\chordmode or \relative sections in its argument.
To use relative mode within transposed music, an additional
\relative must be placed inside \transpose.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Transpose ] | [ Up : Pitches ] | [ Clef > ] | ||
1.1.3 Displaying pitches
This section discusses how to alter the output of pitches.
| Clef | ||
| Key signature | ||
| Ottava brackets | ||
| Instrument transpositions | ||
| Automatic accidentals | ||
| Ambitus |
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Displaying pitches ] | [ Up : Displaying pitches ] | [ Key signature > ] | ||
Clef
The clef may be altered. Middle C is shown in every example.
\clef treble c2 c \clef alto c2 c \clef tenor c2 c \clef bass c2 c
Other clefs include:
\clef french c2 c \clef soprano c2 c \clef mezzosoprano c2 c \clef baritone c2 c \break \clef varbaritone c2 c \clef subbass c2 c \clef percussion c2 c \clef tab c2 c
Further supported clefs are described under Mensural clefs and Gregorian clefs.
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.
The clef name must be enclosed in quotes when it contains
underscores or digits.
\clef treble c2 c \clef "treble_8" c2 c \clef "bass^15" c2 c
Selected Snippets
Tweaking clef properties
The command \clef "treble_8" is equivalent to setting
clefGlyph, clefPosition (which controls the vertical
position of the clef), middleCPosition and
clefOctavation. A clef is printed when any of the properties
except middleCPosition are changed.
Note that changing the glyph, the position of the clef, or the
octavation does not in itself change the position of subsequent notes
on the staff: the position of middle C must also be specified to do
this. The positional parameters are relative to the staff center line,
positive numbers displacing upwards, counting one for each line and
space. The clefOctavation value would normally be set to 7, -7,
15 or -15, but other values are valid.
When a clef change takes place at a line break the new clef symbol is
printed at both the end of the previous line and the beginning of the
new line by default. If the warning clef at the end of the previous
line is not required it can be suppressed by setting the Staff
property explicitClefVisibility to the value
end-of-line-invisible. The default behavior can be recovered
with \unset Staff.explicitClefVisibility.
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.
\layout { ragged-right = ##t }
{
% The default treble clef
c'1
% The standard bass clef
\set Staff.clefGlyph = #"clefs.F"
\set Staff.clefPosition = #2
\set Staff.middleCPosition = #6
c'1
% The baritone clef
\set Staff.clefGlyph = #"clefs.C"
\set Staff.clefPosition = #4
\set Staff.middleCPosition = #4
c'1
% The standard choral tenor clef
\set Staff.clefGlyph = #"clefs.G"
\set Staff.clefPosition = #-2
\set Staff.clefOctavation = #-7
\set Staff.middleCPosition = #1
c'1
% A non-standard clef
\set Staff.clefPosition = #0
\set Staff.clefOctavation = #0
\set Staff.middleCPosition = #-4
c'1 \break
% The following clef changes do not preserve
% the normal relationship between notes 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.clefOctavation = #7
c'1
\set Staff.clefOctavation = #0
\set Staff.clefPosition = #0
c'1
% Here we go back to the normal clef:
\set Staff.middleCPosition = #0
c'1
}
See also
Notation Reference: Mensural clefs, Gregorian clefs.
Snippets: Pitches.
Internals Reference: Clef_engraver, Clef, OctavateEight, clef-interface.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Clef ] | [ Up : Displaying pitches ] | [ Ottava brackets > ] | ||
Key signature
|
Note: New users are sometimes confused about accidentals and
key signatures. In LilyPond, note names are the raw input; key
signatures and clefs determine how this raw input is displayed.
An unaltered note like |
The key signature indicates the tonality in which a piece is played. It is denoted by a set of alterations (flats or sharps) at the start of the staff. The key signature may be altered:
\key pitch mode
Here, mode should be \major or \minor to get a
key signature of pitch-major or pitch-minor,
respectively. You may also use the standard mode names, also
called church modes: \ionian, \dorian,
\phrygian, \lydian, \mixolydian,
\aeolian, and \locrian.
\key g \major fis1 f fis
Selected Snippets
Preventing natural signs from being printed when the key signature changes
When the key signature changes, natural signs are automatically printed
to cancel any accidentals from previous key signatures. This may be
prevented by setting to "false" the printKeyCancellation
property in the Staff context.
\relative c' {
\key d \major
a4 b cis d
\key g \minor
a4 bes c d
\set Staff.printKeyCancellation = ##f
\key d \major
a4 b cis d
\key g \minor
a4 bes c d
}
Non-traditional key signatures
The commonly used \key command sets the keySignature
property, in the Staff context.
To create non-standard key signatures, set this property directly. The format of this command is a list:
\set Staff.keySignature = #`(((octave . step) . alter) ((octave
. step) . alter) ...) where, for each element in the list,
octave specifies the octave (0 being the octave from middle C to
the B above), step specifies the note within the octave (0 means
C and 6 means B), and alter is ,SHARP ,FLAT ,DOUBLE-SHARP
etc. (Note the leading comma.) The accidentals in the key signature
will appear in the reverse order to that in which they are specified.
Alternatively, for each item in the list, using the more concise format
(step . alter) specifies that the same alteration should hold in
all octaves.
Here is an example of a possible key signature for generating a whole-tone scale:
\relative c' {
\set Staff.keySignature = #`(((0 . 3) . ,SHARP)
((0 . 5) . ,FLAT)
((0 . 6) . ,FLAT))
c4 d e fis
aes4 bes c2
}
See also
Music Glossary: church mode, scordatura.
Learning Manual: Accidentals and key signatures.
Snippets: Pitches.
Internals Reference: KeyChangeEvent, Key_engraver, Key_performer, KeyCancellation, KeySignature, key-cancellation-interface, key-signature-interface.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Key signature ] | [ Up : Displaying pitches ] | [ Instrument transpositions > ] | ||
Ottava brackets
Ottava brackets introduce an extra transposition of an octave for the staff:
a'2 b \ottava #1 a b \ottava #0 a b
The ottava function also takes -1 (for 8va bassa),
2 (for 15ma), and -2 (for 15ma bassa) as arguments.
Selected Snippets
Ottava text
Internally, the set-octavation function sets the properties
ottavation (for example, to "8va" or "8vb")
and middleCPosition. To override the text of the bracket, set
ottavation after invoking set-octavation.
{
\ottava #1
\set Staff.ottavation = #"8"
c''1
\ottava #0
c'1
\ottava #1
\set Staff.ottavation = #"Text"
c''1
}
See also
Music Glossary: octavation.
Snippets: Pitches.
Internals Reference: Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Ottava brackets ] | [ Up : Displaying pitches ] | [ Automatic accidentals > ] | ||
Instrument transpositions
When typesetting scores that involve transposing instruments, some parts can be typeset in a different pitch than the concert pitch. In these cases, the key of the transposing instrument should be specified; otherwise the MIDI output and cues in other parts will produce incorrect pitches. For more information about quotations, see Quoting other voices.
\transposition pitch
The pitch to use for \transposition should correspond to
the real sound heard when a c' written on the staff is
played by the transposing instrument. This pitch is entered in
absolute mode, so an instrument that produces a real sound which
is one tone higher than the printed music should use
\transposition d'. \transposition should
only be used if the pitches are not being entered in
concert pitch.
Here are a few notes for violin and B-flat clarinet where the parts have been entered using the notes and key as they appear in each part of the conductor’s score. The two instruments are playing in unison.
\new GrandStaff <<
\new Staff = "violin" {
\relative c'' {
\set Staff.instrumentName = #"Vln"
\set Staff.midiInstrument = #"violin"
% not strictly necessary, but a good reminder
\transposition c'
\key c \major
g4( c8) r c r c4
}
}
\new Staff = "clarinet" {
\relative c'' {
\set Staff.instrumentName = \markup { Cl (B\flat) }
\set Staff.midiInstrument = #"clarinet"
\transposition bes
\key d \major
a4( d8) r d r d4
}
}
>>
The \transposition may be changed during a piece. For
example, a clarinetist may switch from an A clarinet to a B-flat
clarinet.
\set Staff.instrumentName = #"Cl (A)"
\key a \major
\transposition a
c d e f
\textLengthOn
s1*0^\markup { Switch to B\flat clarinet }
R1
\key bes \major
\transposition bes
c2 g
See also
Music Glossary: concert pitch, transposing instrument.
Notation Reference: Quoting other voices, Transpose.
Snippets: Pitches.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Instrument transpositions ] | [ Up : Displaying pitches ] | [ Ambitus > ] | ||
Automatic accidentals
There are many different conventions on how to typeset accidentals. LilyPond provides a function to specify which accidental style to use. This function is called as follows:
\new Staff << #(set-accidental-style 'voice) { … } >>
The accidental style applies to the current Staff by
default (with the exception of the styles piano and
piano-cautionary, which are explained below). Optionally,
the function can take a second argument that determines in which
scope the style should be changed. For example, to use the same
style in all staves of the current StaffGroup, use:
#(set-accidental-style 'voice 'StaffGroup)
The following accidental styles are supported. To demonstrate each style, we use the following example:
musicA = {
<<
\relative c' {
cis'8 fis, d'4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
\relative c' {
ais'2 cis, |
fis8 b a4 cis2 |
}
>>
}
musicB = {
\clef bass
\new Voice {
\voiceTwo \relative c' {
<fis, a cis>4
\change Staff = up
cis'
\change Staff = down
<fis, a>
\change Staff = up
dis' |
\change Staff = down
<fis, a cis>4 gis <f a d>2 |
}
}
}
\new PianoStaff {
<<
\context Staff = "up" {
#(set-accidental-style 'default)
\musicA
}
\context Staff = "down" {
#(set-accidental-style 'default)
\musicB
}
>>
}
Note that the last lines of this example can be replaced by the following, as long as the same accidental style should be used in both staves.
\new PianoStaff { << \context Staff = "up" { %%% change the next line as desired: #(set-accidental-style 'default 'Score) \musicA } \context Staff = "down" { \musicB } >> }
-
default -
This is the default typesetting behavior. It corresponds to eighteenth-century common practice: accidentals are remembered to the end of the measure in which they occur and only in their own octave. Thus, in the example below, no natural signs are printed before the
bin the second measure or the lastc: -
voice -
The normal behavior is to remember the accidentals at
Staff-level. In this style, however, accidentals are typeset individually for each voice. Apart from that, the rule is similar todefault.As a result, accidentals from one voice do not get canceled in other voices, which is often an unwanted result: in the following example, it is hard to determine whether the second
ashould be played natural or sharp. Thevoiceoption should therefore be used only if the voices are to be read solely by individual musicians. If the staff is to be used by one musician (e.g., a conductor or in a piano score) thenmodernormodern-cautionaryshould be used instead. -
modern -
This rule corresponds to the common practice in the twentieth century. It prints the same accidentals as
default, with two exceptions that serve to avoid ambiguity: after temporary accidentals, cancellation marks are printed also in the following measure (for notes in the same octave) and, in the same measure, for notes in other octaves. Hence the naturals before theband thecin the second measure of the upper staff: -
modern-cautionary -
This rule is similar to
modern, but the ‘extra’ accidentals (the ones not typeset bydefault) are typeset as cautionary accidentals. They are by default printed with parentheses, but they can also be printed in reduced size by defining thecautionary-styleproperty ofAccidentalSuggestion. -
modern-voice -
This rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice, but they are canceled across voices in the same
Staff. Hence, theain the last measure is canceled because the previous cancellation was in a different voice, and thedin the lower staff is canceled because of the accidental in a different voice in the previous measure: -
modern-voice-cautionary -
This rule is the same as
modern-voice, but with the extra accidentals (the ones not typeset byvoice) typeset as cautionaries. Even though all accidentals typeset bydefaultare typeset with this rule, some of them are typeset as cautionaries. -
piano -
This rule reflects twentieth-century practice for piano notation. Its behavior is very similar to
modernstyle, but here accidentals also get canceled across the staves in the sameGrandStafforPianoStaff, hence all the cancellations of the final notes.This accidental style applies to the current
GrandStafforPianoStaffby default. -
piano-cautionary -
This is the same as
pianobut with the extra accidentals typeset as cautionaries. -
neo-modern -
This rule reproduces a common practice in contemporary music: accidentals are printed like with
modern, but they are printed again if the same note appears later in the same measure – except if the note is immediately repeated. -
neo-modern-cautionary -
This rule is similar to
neo-modern, but the extra accidentals are printed as cautionary accidentals. -
dodecaphonic -
This rule reflects a practice introduced by composers at the beginning of the 20th century, in an attempt to abolish the hierarchy between natural and non-natural notes. With this style, every note gets an accidental sign, including natural signs.
-
teaching -
This rule is intended for students, and makes it easy to create scale sheets with automagically created cautionary accidentals. Accidentals are printed like with
modern, but cautionary accidentals are added for all sharp or flat tones specified by the key signature, except if the note is immediately repeated. -
no-reset -
This is the same as
defaultbut with accidentals lasting ‘forever’ and not only within the same measure: -
forget -
This is the opposite of
no-reset: Accidentals are not remembered at all – and hence all accidentals are typeset relative to the key signature, regardless of what came before in the music. Unlikedodecaphonic, this rule never prints any naturals.
Selected Snippets
Dodecaphonic-style accidentals for each note including naturals In early 20th century works, starting with Schoenberg, Berg and Webern (the "Second" Viennese school), every pitch in the twelve-tone scale has to be regarded as equal, without any hierarchy such as the classical (tonal) degrees. Therefore, these composers print one accidental for each note, even at natural pitches, to emphasize their new approach to music theory and language.
This snippet shows how to achieve such notation rules.
\score {
\new Staff {
#(set-accidental-style 'dodecaphonic)
c'4 dis' cis' cis'
c'4 dis' cis' cis'
c'4 c' dis' des'
}
\layout {
\context {
\Staff
\remove "Key_engraver"
}
}
}
See also
Snippets: Pitches.
Internals Reference: Accidental, Accidental_engraver, GrandStaff and PianoStaff, Staff, AccidentalSuggestion, AccidentalPlacement, accidental-suggestion-interface.
Known issues and warnings
Simultaneous notes are considered to be entered in sequential
mode. This means that in a chord the accidentals are typeset as
if the notes in the chord happen one at a time, in the order in
which they appear in the input file. This is a problem when
accidentals in a chord depend on each other, which does not happen
for the default accidental style. The problem can be solved by
manually inserting ! and ? for the
problematic notes.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Automatic accidentals ] | [ Up : Displaying pitches ] | [ Note heads > ] | ||
Ambitus
The term ambitus (pl. ambitus) denotes a range of pitches for a given voice in a part of music. It may also denote the pitch range that a musical instrument is capable of playing. Ambitus are printed on vocal parts so that performers can easily determine if it matches their capabilities.
Ambitus are denoted at the beginning of a piece near the initial clef. The range is graphically specified by two note heads that represent the lowest and highest pitches. Accidentals are only printed if they are not part of the key signature.
\layout {
\context {
\Voice
\consists "Ambitus_engraver"
}
}
\relative c'' {
aes c e2
cis,1
}
Selected Snippets
Adding ambitus per voice
Ambitus can be added per voice. In this case, the ambitus must be moved manually to prevent collisions.
\new Staff <<
\new Voice \with {
\consists "Ambitus_engraver"
} \relative c'' {
\override Ambitus #'X-offset = #2.0
\voiceOne
c4 a d e
f1
}
\new Voice \with {
\consists "Ambitus_engraver"
} \relative c' {
\voiceTwo
es4 f g as
b1
}
>>
Ambitus with multiple voices
Adding the Ambitus_engraver to the Staff context creates
a single ambitus per staff, even in the case of staves with multiple
voices.
\new Staff \with {
\consists "Ambitus_engraver"
}
<<
\new Voice \relative c'' {
\voiceOne
c4 a d e
f1
}
\new Voice \relative c' {
\voiceTwo
es4 f g as
b1
}
>>
See also
Music Glossary: ambitus.
Snippets: Pitches.
Internals Reference: Ambitus_engraver, Voice, Staff, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ambitus-interface.
Known issues and warnings
There is no collision handling in the case of multiple per-voice ambitus.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Ambitus ] | [ Up : Pitches ] | [ Special note heads > ] | ||
1.1.4 Note heads
This section suggests ways of altering note heads.
| Special note heads | ||
| Easy notation note heads | ||
| Shape note heads | ||
| Improvisation |
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Note heads ] | [ Up : Note heads ] | [ Easy notation note heads > ] | ||
Special note heads
Note heads may be altered:
c4 b a b \override NoteHead #'style = #'cross c4 b a b \revert NoteHead #'style c4 d e f
There is a shorthand for diamond shapes which can only be used inside chords:
<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic>
To see all note head styles, see Note head styles.
See also
Snippets: Pitches.
Notation Reference: Note head styles, Chorded notes.
Internals Reference: note-event, Note_heads_engraver, Ledger_line_engraver, NoteHead, LedgerLineSpanner, note-head-interface, ledger-line-spanner-interface.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Special note heads ] | [ Up : Note heads ] | [ Shape note heads > ] | ||
Easy notation note heads
The ‘easy play’ note head includes a note name inside the head. It is used in music for beginners. To make the letters readable, it should be printed in a large font size. To print with a larger font, see Setting the staff size.
#(set-global-staff-size 26)
\relative c' {
\easyHeadsOn
c2 e4 f
g1
\easyHeadsOff
c,1
}
Predefined commands
\easyHeadsOn,
\easyHeadsOff.
See also
Notation Reference: Setting the staff size.
Snippets: Pitches.
Internals Reference: note-event, Note_heads_engraver, NoteHead, note-head-interface.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Easy notation note heads ] | [ Up : Note heads ] | [ Improvisation > ] | ||
Shape note heads
In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced:
\aikenHeads c, d e f g a b c \sacredHarpHeads c, d e f g a b c
Shapes are typeset according to the step in the scale, where the
base of the scale is determined by the \key command.
Predefined commands
\aikenHeads,
\sacredHarpHeads.
Selected Snippets
Applying note head styles depending on the step of the scale
The shapeNoteStyles property can be used to define various note
head styles for each step of the scale (as set by the key signature or
the "tonic" property). This property requires a set of symbols, which
can be purely arbitrary (geometrical expressions such as
triangle, cross, and xcircle are allowed) or based
on old American engraving tradition (some latin note names are also
allowed).
That said, to imitate old American song books, there are several
predefined note head styles available through shortcut commands such as
\aikenHeads or \sacredHarpHeads.
This example shows different ways to obtain shape note heads, and demonstrates the ability to transpose a melody without losing the correspondence between harmonic functions and note head styles.
\layout { ragged-right = ##t }
fragment = {
\key c \major
c2 d
e2 f
g2 a
b2 c
}
\score {
\new Staff {
\transpose c d
\relative c' {
\set shapeNoteStyles = #'#(do re mi fa
#f la ti)
\fragment
}
\break
\relative c' {
\set shapeNoteStyles = #'#(cross triangle fa #f
mensural xcircle diamond)
\fragment
}
}
}
To see all note head styles, see Note head styles.
See also
Snippets: Pitches.
Notation Reference: Note head styles.
Internals Reference: note-event, Note_heads_engraver, NoteHead, note-head-interface.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Shape note heads ] | [ Up : Note heads ] | [ Rhythms > ] | ||
Improvisation
Improvisation is sometimes denoted with slashed note heads, where the performer may choose any pitch but should play the specified rhythm. Such note heads can be created:
\new Voice \with {
\consists "Pitch_squash_engraver"
} {
e8 e g a a16( bes) a8 g
\improvisationOn
e8 ~
e2 ~ e8 f4 f8 ~
f2
\improvisationOff
a16( bes) a8 g e
}
Predefined commands
\improvisationOn,
\improvisationOff.
See also
Snippets: Pitches.
Internals Reference: Pitch_squash_engraver, Voice, RhythmicStaff.
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Improvisation ] | [ Up : Musical notation ] | [ Writing rhythms > ] | ||
1.2 Rhythms
This section discusses rhythms, rests, durations, beaming and bars.
| 1.2.1 Writing rhythms | ||
| 1.2.2 Writing rests | ||
| 1.2.3 Displaying rhythms | ||
| 1.2.4 Beams | ||
| 1.2.5 Bars | ||
| 1.2.6 Special rhythmic concerns |
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Rhythms ] | [ Up : Rhythms ] | [ Durations > ] | ||
1.2.1 Writing rhythms
| Durations | ||
| Tuplets | ||
| Scaling durations | ||
| Ties |
| [ << Musical notation ] | [Top][Contents][Index][ ? ] | [ Specialist notation >> ] | ||
| [ < Writing rhythms ] | [ Up : Writing rhythms ] | [ Tuplets > ] | ||
Durations
Durations are designated by numbers and dots.
Durations are entered as their reciprocal values. For example, a
quarter note is entered using a 4 (since it is a 1/4 note),
and a half note is entered using a 2 (since it is a 1/2
note). For notes longer than a whole you must use the
\longa (a double breve) and \breve