@menu
* Pitches::
* Rhythms::
-* Multiple notes at once::
+* Polyphony::
* Staff notation::
* Connecting notes::
* Expressive marks::
* Accidentals::
* Cautionary accidentals::
* Micro tones::
-* Notes names in other languages::
+* Note names in other languages::
* Relative octaves::
* Octave check::
* Transpose::
E-natural, and an F-natural,} regardless of the key
signature. For more information about the distinction between
musical content and the presentation of that content, see
-@ref{More about pitches}.
+@ref{Accidentals and key signatures}.
@lilypond[fragment,quote,ragged-right,verbatim,relative]
\key d \major
standard.
-@node Notes names in other languages
-@subsection Notes names in other languages
+@node Note names in other languages
+@subsection Note names in other languages
There are predefined sets of note names for various other languages.
To use them, include the language specific init file. For
file. The available language files
and the note names they define are
-@c what about micro-tunes, double-sharps, and double-flats? add
-@c more columns to the table?
-@c Oh, and should this be made into a multitable?
+@c Should this be made into a multitable?
@cindex note names, other languages
@example
- Note Names sharp flat
-nederlands.ly c d e f g a bes b -is -es
-english.ly c d e f g a bf b -s/-sharp -f/-flat
- -x (double)
-deutsch.ly c d e f g a b h -is -es
-norsk.ly c d e f g a b h -iss/-is -ess/-es
-svenska.ly c d e f g a b h -iss -ess
-italiano.ly do re mi fa sol la sib si -d -b
-catalan.ly do re mi fa sol la sib si -d/-s -b
-espanol.ly do re mi fa sol la sib si -s -b
+ Note Names sharp flat double double
+ sharp flat
+
+nederlands.ly c d e f g a bes b -is -es -isis -eses
+english.ly c d e f g a bf b -s/-sharp -f/-flat -ss/-x/ -ff/
+ -sharpsharp -flatflat
+deutsch.ly c d e f g a b h -is -es -isis -eses
+norsk.ly c d e f g a b h -iss/-is -ess/-es -ississ/-isis -essess/-eses
+svenska.ly c d e f g a b h -iss -ess -ississ -essess
+italiano.ly do re mi fa sol la sib si -d -b -dd -bb
+catalan.ly do re mi fa sol la sib si -d/-s -b -dd/-ss -bb
+espanol.ly do re mi fa sol la sib si -s -b -ss -bb
+@end example
+
+@noindent
+Note that in Dutch, German, Norwegian, and Swedish, the flat
+alterations of @samp{a} like for example @code{aes} and @code{aeses}
+are usually contracted to @code{as} and @code{ases} (or more commonly
+@code{asas}). Sometimes only these contracted names are defined in the
+corresponding language files (this also applies to the suffixes for
+quartertones below).
+
+@noindent
+Some music uses microtones whose alterations are fractions of a
+@q{regular} sharp or flat. The note names for quartertones defined in
+the various language files are listed in the following table. Here the
+prefixes @q{semi-} and @q{sesqui-} mean @q{half} and @q{one and a
+half}, respectively. For Norwegian, Swedish, Catalan and Spanish no
+special names have been defined yet.
+@c What about Turkish Maquam music and similar microtonal systems?
+@c
+@c Note that the term "three-quarter-sharp/-flat" used in lilypond's source code
+@c is actually misleading since the alteration is in fact one and a half
+@c of a regular sharp/flat. Whence the naming "sesqui-sharp/-flat" used below.
+
+@example
+ Note Names semi- semi- sesqui- sesqui-
+ sharp flat sharp flat
+
+nederlands.ly c d e f g a bes b -ih -eh -isih -eseh
+english.ly c d e f g a bf b -qs -qf -tqs -tqf
+deutsch.ly c d e f g a b h -ih -eh -isih -eseh
+norsk.ly c d e f g a b h
+svenska.ly c d e f g a b h
+italiano.ly do re mi fa sol la sib si -sd -sb -dsd -bsb
+catalan.ly do re mi fa sol la sib si
+espanol.ly do re mi fa sol la sib si
@end example
+
@node Relative octaves
@subsection Relative octaves
\times 2/3 { c8 c c } \times 2/3 { c8 c c }
@end lilypond
+Use the @code{\tweak} function to override nested tuplets beginning at the
+same music moment. In this example, @code{\tweak} specifies fraction
+text for the
+outer @code{TupletNumber} and denominator text for the @code{TupletNumber}
+of the first of the three inner tuplets.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff {
+ \tweak #'text #tuplet-number::calc-fraction-text
+ \times 4/3 {
+ \tweak #'text #tuplet-number::calc-denominator-text
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ }
+}
+@end lilypond
+
+Here @code{\tweak} and @code{\override} work together to specify
+@code{TupletBracket} direction. The first @code{\tweak} positions
+the @code{TupletBracket} of the outer
+tuplet above the staff. The second @code{\tweak} positions the
+@code{TupletBracket} of the first of the three inner tuplets below the
+staff. Note that this pair of @code{\tweak} functions affects only
+the outer tuplet and the first of the three inner tuplets because only
+those two tuplets begin at the same music moment. We use @code{\override}
+in the usual way to position the @code{TupletBrackets} of
+the second and third of the inner tuplets below the staff.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff {
+ \tweak #'text #tuplet-number::calc-fraction-text
+ \tweak #'direction #up
+ \times 4/3 {
+ \tweak #'direction #down
+ \times 2/3 { c'8[ c'8 c'8] }
+ \override TupletBracket #'direction = #down
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ }
+}
+@end lilypond
+
Tuplet brackets can be made to run to prefatory matter or
the next note
Program reference: @internalsref{TupletBracket},
@internalsref{TupletNumber}, and @internalsref{TimeScaledMusic}.
-Examples: @inputfileref{input/@/regression,tuplet@/-nest@/.ly}.
-
@node Scaling durations
You can alter the length of duration by a fraction @var{N/M}
appending @samp{*@var{N/M}} (or @samp{*@var{N}} if @var{M=1}). This
-will not affect the appearance of the notes or rests produced.
+will not affect the appearance of the notes or rests produced. These
+may be combined such as @samp{*M*N}.
In the following example, the first three notes take up exactly two
beats, but no triplet bracket is printed.
+
@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\time 2/4
a4*2/3 gis4*2/3 a4*2/3
@seealso
-This manual: @ref{Tuplets}
+This manual: @ref{Tuplets}.
@node Bar check
@seealso
-Examples: @inputfileref{input/@/regression,completion@/-heads@/.ly}.
-
-@noindent
-
Program reference: @internalsref{Completion_heads_engraver}.
-@node Multiple notes at once
-@section Multiple notes at once
+@node Polyphony
+@section Polyphony
Polyphony in music refers to having more than one voice occurring in
a piece of music. Polyphony in LilyPond refers to having more than
@code{noteD} is relative to @code{noteC}, not @code{noteB} or
@code{noteA}.
+
@node Explicitly instantiating voices
@subsection Explicitly instantiating voices
}
@end lilypond
+In some instances of complex polyphonic music, you may need additional
+voices to avoid collisions between notes. Additional voices are added
+by defining an identifier, as shown below:
+
+@lilypond[quote,verbatim,ragged-right,relative=2]
+voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
+
+\relative c''' <<
+ { \voiceOne g4 ~ \stemDown g32[ f( es d c b a b64 )g] } \\
+ { \voiceThree b4} \\
+ { \voiceFive d,} \\
+ { \voiceTwo g,}
+>>
+@end lilypond
+
@node Collision Resolution
@subsection Collision Resolution
Normally, note heads with a different number of dots are not merged, but
when the object property @code{merge-differently-dotted} is set in
-the @internalsref{NoteCollision} object, they are merged
+the @internalsref{NoteCollision} object, they are merged:
+
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
\new Voice << {
g8 g8
@end lilypond
Similarly, you can merge half note heads with eighth notes, by setting
-@code{merge-differently-headed}
+@code{merge-differently-headed}:
+
@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\new Voice << {
c8 c4.
\new Voice << c''4 \\ r4 >>
@end lilypond
+If three or more notes line up in the same column,
+@code{merge-differently-headed} cannot
+successfully complete the merge of the two notes that should be merged.
+To allow the merge to work properly, apply a @code{\shift} to the note that
+should not be merged. In the first measure of following example,
+@code{merge-differently-headed} does not work (the half-note head is
+solid). In the second measure, @code{\shiftOn} is applied to move the
+top @code{g} out of the column, and @code{merge-differently-headed}
+works properly.
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\override Staff.NoteCollision #'merge-differently-headed = ##t
+<<
+ { d=''2 g2 } \\
+ { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
+ { \voiceFour e,,2 e'2}
+>>
+<<
+ { d'=''2 \shiftOn g2 } \\
+ { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
+ { \voiceFour e,,2 e'2}
+>>
+@end lilypond
+
@refcommands
@funindex \shiftOnnn
@code{\shiftOnnn},
@funindex \shiftOff
-@code{\shiftOff}: these commands specify in what chords of the current
-voice should be shifted. The outer voices (normally: voice one and
+@code{\shiftOff}: these commands specify the
+degree to which chords of the current voice should be shifted.
+The outer voices (normally: voice one and
two) have @code{\shiftOff}, while the inner voices (three and four)
have @code{\shiftOn}. @code{\shiftOnn} and @code{\shiftOnnn} define
further shift levels.
Program reference: the objects responsible for resolving collisions are
@internalsref{NoteCollision} and @internalsref{RestCollision}.
-Examples:
-@inputfileref{input/@/regression,collision@/-dots@/.ly},
-@inputfileref{input/@/regression,collision@/-head-chords@/.ly},
-@inputfileref{input/@/regression,collision@/-heads@/.ly},
-@inputfileref{input/@/regression,collision@/-mesh@/.ly}, and
-@inputfileref{input/@/regression,collisions@/.ly}.
-
@refbugs
Accidentals and key signatures often confuse new users, because
unaltered notes get natural signs depending on the key signature. For
-more information, see @ref{Accidentals} or @ref{More about pitches}.
+more information, see @ref{Accidentals}, or @ref{Accidentals and key signatures}.
@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
\key g \major
@end lilypond
There are many more options for its layout. See @ref{Ancient time
-signatures} for more examples.
+signatures}, for more examples.
@code{\time} sets the property @code{timeSignatureFraction},
@code{beatLength} and @code{measureLength} in the @code{Timing}
In scores with many staves, a @code{\bar} command in one staff is
automatically applied to all staves. The resulting bar lines are
connected between different staves of a @code{StaffGroup},
-@code{PianoStaff}, or @code{ChoirStaff}.
+@code{PianoStaff}, or @code{GrandStaff}.
@lilypond[quote,ragged-right,fragment,verbatim]
<<
Examples: @inputfileref{input/@/test,staff@/-lines@/.ly},
@inputfileref{input/@/test@/,ossia.ly},
@inputfileref{input/@/test,staff@/-size@/.ly},
-@inputfileref{input/@/regression,staff@/-line@/-positions@/.ly}.
+@lsr{staff,staff-line-positions.ly}
@node Writing music in parallel
Program reference: @internalsref{Tie}.
-Examples:
-@inputfileref{input/@/regression,tie-arpeggio.ly}
-@inputfileref{input/@/regression,tie-manual.ly}
-
-
-
@refbugs
@internalsref{LaissezVibrerTieColumn}
Example files:
-@inputfileref{input/regression,laissez-vibrer-tie.ly}
+@lsr{connecting,laissez-vibrer-ties.ly}
@node Automatic beams
When these automatic decisions are not good enough, beaming can be
entered explicitly. It is also possible to define beaming patterns
-that differ from the defaults. See @ref{Setting automatic beam behavior}
+that differ from the defaults. See @ref{Setting automatic beam behavior},
for details.
Individual notes may be marked with @code{\noBeam} to prevent them
@ref{Time administration}.
Line breaks are normally forbidden when beams cross bar lines. This
-behavior can be changed by setting @code{allowBeamBreak}.
+behavior can be changed by setting @code{breakable}.
+
+@funindex breakable
-@funindex allowBeamBreak
@cindex beams and line breaks
@cindex beams, kneed
@cindex kneed beams
@refbugs
Kneed beams are inserted automatically when a large gap is detected
-between the note heads. This behavior can be tuned through the object.
+between the note heads. This behavior can be tuned through the
+@code{auto-knee-gap} object.
Automatically kneed cross-staff beams cannot be used together with
hidden staves. See @ref{Hiding staves}.
@code{afterGraceFraction}, ie.
@example
-afterGraceFraction = #(cons 7 8)
+#(define afterGraceFraction (cons 7 8))
@end example
@noindent
Program reference: @internalsref{Fingering}.
-Examples: @inputfileref{input/@/regression,finger@/-chords@/.ly}.
+Examples: @lsr{expressive,fingering-chords.ly}
@node Dynamics
To create new dynamic marks or text that should be aligned
with dynamics, see @ref{New dynamic marks}.
+Vertical positioning of dynamics is handled by
+@internalsref{DynamicLineSpanner}.
+
@commonprop
Program reference: @internalsref{BreathingSign}.
-Examples: @inputfileref{input/@/regression,breathing@/-sign@/.ly}.
+Examples: @lsr{expressive,breathing-sign.ly}
@node Trills
Program reference: @internalsref{Glissando}.
-Example files: @file{input/@/regression/@/glissando@/.ly}.
+Example files:
+@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
+
@refbugs
\alternative { {d2 d} {f f,} }
@end lilypond
-In the following example, the first ending is not a complete
-bar (it only had 3 beats). The beginning of the second ending
-contains the 4th beat from the first ending. This @q{extra}
-beat in the second ending is due to the first time ending,
-and has nothing to do with the @code{\partial} at the
-beginning of the example.
+Repeats with upbeats may be created.
@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\new Staff {
- \partial 4
- \repeat volta 4 { e | c2 d2 | e2 f2 | }
- \alternative { { g4 g g } { a | a a a a | b2. } }
+ \partial 4 e |
+ \repeat volta 4 { c2 d2 | e2 f2 | }
+ \alternative { { g4 g g e } { a a a a | b2. } }
}
@end lilypond
Brackets for the repeat are normally only printed over the topmost
staff. This can be adjusted by setting the @code{voltaOnThisStaff}
-property; see @inputfileref{input/@/regression,volta@/-multi@/-staff@/.ly}.
+property; see
+
+@lsr{repeats,volta@/-multi@/-staff@/.ly}.
@refbugs
Program reference: @internalsref{Beam}, @internalsref{StemTremolo}.
-Example files: @inputfileref{input/@/regression,chord@/-tremolo@/.ly},
-@inputfileref{input/@/regression,stem@/-tremolo@/.ly}.
-
@node Tremolo subdivisions
@subsection Tremolo subdivisions