@c -*- coding: utf-8; mode: texinfo; -*-
@node Example templates
-@chapter Example templates
+@appendix Example templates
This section of the manual contains templates with the LilyPond score
already set up for you. Just add notes, run LilyPond, and enjoy
* Vocal ensembles::
* Ancient notation templates::
* Jazz combo::
-* Other templates::
* Lilypond-book templates::
@end menu
@node Single staff
-@section Single staff
-@subsection Notes only
+@appendixsec Single staff
+@appendixsubsec Notes only
The first example gives you a staff with notes, suitable for a solo
instrument or a melodic fragment. Cut and paste this into a file,
add notes, and you're finished!
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
melody = \relative c' {
\clef treble
\key c \major
}
@end lilypond
-@subsection Notes and lyrics
+@appendixsubsec Notes and lyrics
The next example demonstrates a simple melody with lyrics. Cut and
paste, add notes, then words for the lyrics. This example turns off
automatic beaming, you'll have to change or comment out the relevant
line.
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
melody = \relative c' {
\clef treble
\key c \major
\score{
<<
- \context Voice = one {
+ \new Voice = "one" {
\autoBeamOff
\melody
}
- \lyricsto "one" \new Lyrics \text
+ \new Lyrics \lyricsto "one" \text
>>
\layout { }
\midi { \tempo 4=60 }
}
@end lilypond
-@subsection Notes and chords
+@appendixsubsec Notes and chords
Want to prepare a lead sheet with a melody and chords? Look no further!
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
melody = \relative c' {
\clef treble
\key c \major
\score {
<<
- \context ChordNames {
+ \new ChordNames {
\set chordChanges = ##t
\harmonies
}
- \context Staff = one \melody
+ \new Staff \melody
>>
\layout{ }
}
@end lilypond
-@subsection Notes, lyrics, and chords.
+@appendixsubsec Notes, lyrics, and chords.
This template allows you to prepare a song with melody, words, and chords.
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
melody = \relative c' {
\clef treble
\key c \major
\score {
<<
- \context ChordNames {
+ \new ChordNames {
\set chordChanges = ##t
\harmonies
}
- \context Voice = one {
+ \new Voice = "one" {
\autoBeamOff
\melody
}
- \lyricsto "one" \new Lyrics \text
+ \new Lyrics \lyricsto "one" \text
>>
\layout { }
\midi { \tempo 4=60 }
@end lilypond
@node Piano templates
-@section Piano templates
-@subsection Solo piano
+@appendixsec Piano templates
+@appendixsubsec Solo piano
Here is a simple piano staff.
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
upper = \relative c'' {
\clef treble
\key c \major
}
\score {
- \context PianoStaff <<
+ \new PianoStaff <<
\set PianoStaff.instrument = "Piano "
- \context Staff = upper \upper
- \context Staff = lower \lower
+ \new Staff = "upper" \upper
+ \new Staff = "lower" \lower
>>
\layout { }
\midi { \tempo 4=60 }
}
@end lilypond
-@subsection Piano and melody with lyrics
+@appendixsubsec Piano and melody with lyrics
Here is a typical song format: one staff with the melody and lyrics, with
piano accompaniment underneath.
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
melody = \relative c'' {
\clef treble
\key c \major
\score {
<<
- \context Voice = mel {
+ \new Voice = "mel" {
\autoBeamOff
\melody
}
- \lyricsto mel \new Lyrics \text
+ \new Lyrics \lyricsto mel \text
- \context PianoStaff <<
- \context Staff = upper \upper
- \context Staff = lower \lower
+ \new PianoStaff <<
+ \new Staff = "upper" \upper
+ \new Staff = "lower" \lower
>>
>>
\layout {
@end lilypond
-@subsection Piano centered lyrics
+@appendixsubsec Piano centered lyrics
Instead of having a full staff for the melody and lyrics, you can place
the lyrics between the piano staff (and omit the separate melody staff).
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
upper = \relative c'' {
\clef treble
\key c \major
}
\score {
- \context GrandStaff <<
- \context Staff = upper {
- \context Voice = singer \upper }
- \lyricsto "singer" \new Lyrics \text
- \context Staff = lower <<
+ \new GrandStaff <<
+ \new Staff = upper { \new Voice = "singer" \upper }
+ \new Lyrics \lyricsto "singer" \text
+ \new Staff = lower {
\clef bass
\lower
- >>
+ }
>>
\layout {
\context { \GrandStaff \accepts "Lyrics" }
@end lilypond
-@subsection Piano centered dynamics
+@appendixsubsec Piano centered dynamics
Many piano scores have the dynamics centered between the two
staffs. This requires a bit of tweaking to implement, but
since the template is right here, you don't have to do the
tweaking yourself.
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
upper = \relative c'' {
\clef treble
\key c \major
}
\score {
- \context PianoStaff <<
- \context Staff=upper \upper
- \context Dynamics=dynamics \dynamics
- \context Staff=lower <<
+ \new PianoStaff <<
+ \new Staff = "upper" \upper
+ \new Dynamics = "dynamics" \dynamics
+ \new Staff = "lower" <<
\clef bass
\lower
>>
- \context Dynamics=pedal \pedal
+ \new Dynamics = "pedal" \pedal
>>
\layout {
\context {
\alias Voice % So that \cresc works, for example.
\consists "Output_property_engraver"
- minimumVerticalExtent = #'(-1 . 1)
+ \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
pedalSustainStrings = #'("Ped." "*Ped." "*")
pedalUnaCordaStrings = #'("una corda" "" "tre corde")
}
}
\score {
- \context PianoStaff <<
- \context Staff=upper << \upper \dynamics >>
- \context Staff=lower << \lower \dynamics >>
- \context Dynamics=pedal \pedal
+ \new PianoStaff <<
+ \new Staff = "upper" << \upper \dynamics >>
+ \new Staff = "lower" << \lower \dynamics >>
+ \new Dynamics = "pedal" \pedal
>>
\midi {
\context {
@node String quartet
-@section String quartet
-@subsection String quartet
+@appendixsec String quartet
+@appendixsubsec String quartet
This template demonstrates a string quartet. It also uses a @code{\global}
section for time and key signatures.
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
global= {
\time 4/4
}
@end lilypond
-@subsection String quartet parts
+@appendixsubsec String quartet parts
The previous example produces a nice string quartet, but what if you
needed to print parts? This template demonstrates how to use the
@verbatim
%%%%% piece.ly
-\version "2.6.0"
+\version "2.7.39"
global= {
\time 4/4
music = {
<<
- \tag #'(score vn1) \new Staff { << \global \Violinone >> }
- \tag #'(score vn2) \new Staff { << \global \Violintwo>> }
- \tag #'(score vla) \new Staff { << \global \Viola>> }
- \tag #'(score vlc) \new Staff { << \global \Cello>> }
+ \tag #'score \tag #'vn1 \new Staff { << \global \Violinone >> }
+ \tag #'score \tag #'vn2 \new Staff { << \global \Violintwo>> }
+ \tag #'score \tag #'vla \new Staff { << \global \Viola>> }
+ \tag #'score \tag #'vlc \new Staff { << \global \Cello>> }
>>
}
%%%%% score.ly
-\version "2.6.0"
+\version "2.7.39"
\include "piece.ly"
#(set-global-staff-size 14)
\score {
%%%%% vn1.ly
-\version "2.6.0"
+\version "2.7.39"
\include "piece.ly"
-\score {
+\score {
\keepWithTag #'vn1 \music
\layout { }
}
%%%%% vn2.ly
-\version "2.6.0"
+\version "2.7.39"
\include "piece.ly"
-\score {
+\score {
\keepWithTag #'vn2 \music
\layout { }
}
%%%%% vla.ly
-\version "2.6.0"
+\version "2.7.39"
\include "piece.ly"
-\score {
+\score {
\keepWithTag #'vla \music
\layout { }
}
%%%%% vlc.ly
-\version "2.6.0"
+\version "2.7.39"
\include "piece.ly"
-\score {
+\score {
\keepWithTag #'vlc \music
\layout { }
}
@node Vocal ensembles
-@section Vocal ensembles
+@appendixsec Vocal ensembles
-@subsection SATB vocal score
+@appendixsubsec SATB vocal score
Here is a standard four-part SATB vocal score. With larger ensembles,
it's often useful to include a section which is included in all
parts. For example, the time signature and key signatures are almost
always the same for all parts.
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
global = {
\key c \major
\time 4/4
}
\score {
- \context ChoirStaff <<
- \context Lyrics = sopranos { s1 }
- \context Staff = women <<
- \context Voice =
- sopranos { \voiceOne << \global \sopMusic >> }
- \context Voice =
- altos { \voiceTwo << \global \altoMusic >> }
+ \new ChoirStaff <<
+ \new Lyrics = sopranos { s1 }
+ \new Staff = women <<
+ \new Voice =
+ "sopranos" { \voiceOne << \global \sopMusic >> }
+ \new Voice =
+ "altos" { \voiceTwo << \global \altoMusic >> }
>>
- \context Lyrics = altos { s1 }
- \context Lyrics = tenors { s1 }
- \context Staff = men <<
+ \new Lyrics = "altos" { s1 }
+ \new Lyrics = "tenors" { s1 }
+ \new Staff = men <<
\clef bass
- \context Voice =
- tenors { \voiceOne <<\global \tenorMusic >> }
- \context Voice =
- basses { \voiceTwo <<\global \bassMusic >> }
+ \new Voice =
+ "tenors" { \voiceOne <<\global \tenorMusic >> }
+ \new Voice =
+ "basses" { \voiceTwo <<\global \bassMusic >> }
>>
- \context Lyrics = basses { s1 }
+ \new Lyrics = basses { s1 }
+
\context Lyrics = sopranos \lyricsto sopranos \sopWords
\context Lyrics = altos \lyricsto altos \altoWords
\context Lyrics = tenors \lyricsto tenors \tenorWords
\context {
% a little smaller so lyrics
% can be closer to the staff
- \Staff minimumVerticalExtent = #'(-3 . 3)
+ \Staff
+ \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
}
}
}
@end lilypond
-@subsection SATB vocal score and automatic piano reduction
+@appendixsubsec SATB vocal score and automatic piano reduction
This template adds an automatic piano reduction to the SATB vocal
score. This demonstrates one of the strengths of LilyPond -- you
to the vocal notes (say, tenorMusic), then the changes will also
apply to the piano reduction.
-@lilypond[quote,verbatim,raggedright]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right]
+\version "2.7.39"
global = {
\key c \major
\time 4/4
tenorWords = \lyricmode {
hu hu hu hu
}
+
bassMusic = \relative c {
c4 c g c
}
ho ho ho ho
}
-\layout {
- \context {
- % a little smaller so lyrics
- % can be closer to the staff
- \Staff
- minimumVerticalExtent = #'(-3 . 3)
- }
-}
-
-<<
- \context ChoirStaff
+\score {
<<
- \context Lyrics = sopranos { s1 }
- \context Staff = women <<
- \context Voice =
- sopranos { \voiceOne << \global \sopMusic >> }
- \context Voice =
- altos { \voiceTwo << \global \altoMusic >> }
- >>
- \context Lyrics = altos { s1 }
- \context Lyrics = tenors { s1 }
- \context Staff = men <<
- \clef bass
- \context Voice =
- tenors { \voiceOne <<\global \tenorMusic >> }
- \context Voice =
- basses { \voiceTwo <<\global \bassMusic >> }
+ \new ChoirStaff <<
+ \new Lyrics = sopranos { s1 }
+ \new Staff = women <<
+ \new Voice =
+ "sopranos" { \voiceOne << \global \sopMusic >> }
+ \new Voice =
+ "altos" { \voiceTwo << \global \altoMusic >> }
+ >>
+ \new Lyrics = "altos" { s1 }
+ \new Lyrics = "tenors" { s1 }
+ \new Staff = men <<
+ \clef bass
+ \new Voice =
+ "tenors" { \voiceOne <<\global \tenorMusic >> }
+ \new Voice =
+ "basses" { \voiceTwo <<\global \bassMusic >> }
+ >>
+ \new Lyrics = basses { s1 }
+
+ \context Lyrics = sopranos \lyricsto sopranos \sopWords
+ \context Lyrics = altos \lyricsto altos \altoWords
+ \context Lyrics = tenors \lyricsto tenors \tenorWords
+ \context Lyrics = basses \lyricsto basses \bassWords
>>
- \context Lyrics = basses { s1 }
- \context Lyrics = sopranos \lyricsto sopranos \sopWords
- \context Lyrics = altos \lyricsto altos \altoWords
- \context Lyrics = tenors \lyricsto tenors \tenorWords
- \context Lyrics = basses \lyricsto basses \bassWords
- >>
- \new PianoStaff
- <<
+ \new PianoStaff <<
\new Staff <<
\set Staff.printPartCombineTexts = ##f
\partcombine
<< \global \tenorMusic >>
<< \global \bassMusic >>
>>
+ >>
>>
->>
+ \layout {
+ \context {
+ % a little smaller so lyrics
+ % can be closer to the staff
+ \Staff
+ \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
+ }
+ }
+}
@end lilypond
@c bad node name to avoid node name confict
@node Ancient notation templates
-@section Ancient notation templates
+@appendixsec Ancient notation templates
-@subsection Transcription of mensural music
+@appendixsubsec Transcription of mensural music
When transcribing mensural music, an incipit at the beginning of the
piece is useful to indicate the original key and tempo. While today
notes. As a compromise, bar lines are often printed between the
staves rather than on the staves.
-@lilypond[quote,verbatim,linewidth=11.0\cm]
-\version "2.6.0"
+@lilypond[quote,verbatim,line-width=11.0\cm]
+\version "2.7.39"
global = {
\set Score.skipBars = ##t
}
\score {
- \context StaffGroup = choirStaff <<
- \context Voice =
- discantusNotes << \global \discantusNotes >>
- \context Lyrics =
- discantusLyrics \lyricsto discantusNotes { \discantusLyrics }
- \context Voice =
- altusNotes << \global \altusNotes >>
- \context Lyrics =
- altusLyrics \lyricsto altusNotes { \altusLyrics }
- \context Voice =
- tenorNotes << \global \tenorNotes >>
- \context Lyrics =
- tenorLyrics \lyricsto tenorNotes { \tenorLyrics }
- \context Voice =
- bassusNotes << \global \bassusNotes >>
- \context Lyrics =
- bassusLyrics \lyricsto bassusNotes { \bassusLyrics }
+ \new StaffGroup = choirStaff <<
+ \new Voice =
+ "discantusNotes" << \global \discantusNotes >>
+ \new Lyrics =
+ "discantusLyrics" \lyricsto discantusNotes { \discantusLyrics }
+ \new Voice =
+ "altusNotes" << \global \altusNotes >>
+ \new Lyrics =
+ "altusLyrics" \lyricsto altusNotes { \altusLyrics }
+ \new Voice =
+ "tenorNotes" << \global \tenorNotes >>
+ \new Lyrics =
+ "tenorLyrics" \lyricsto tenorNotes { \tenorLyrics }
+ \new Voice =
+ "bassusNotes" << \global \bassusNotes >>
+ \new Lyrics =
+ "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
>>
\layout {
\context {
@end lilypond
+@appendixsubsec Gregorian transcription template
+
+This example demonstrates how to do modern transcription of Gregorian
+music. Gregorian music has no measure, no stems; it uses only half and
+quarter noteheads, and special marks, indicating rests of different length.
+
+@lilypond[quote,verbatim,ragged-right]
+\include "gregorian-init.ly"
+\version "2.8.0"
+
+chant = \relative c' {
+ \set Score.timing = ##f
+ f4 a2 \divisioMinima
+ g4 b a2 f2 \divisioMaior
+ g4( f) f( g) a2 \finalis
+}
+
+verba = \lyricmode {
+ Lo -- rem ip -- sum do -- lor sit a -- met
+}
+
+\score {
+ \new Staff <<
+ \new Voice = "melody" {
+ \chant
+ }
+ \new Lyrics = "one" \lyricsto melody \verba
+ >>
+
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ \remove "Bar_engraver"
+ \override Stem #'transparent = ##t
+ }
+ \context {
+ \Voice
+ \override Stem #'length = #0
+ }
+ \context {
+ \Score
+ barAlways = ##t
+ }
+ }
+}
+@end lilypond
+
@node Jazz combo
-@section Jazz combo
+@appendixsec Jazz combo
This is a much more complicated template, for a jazz ensemble. Note that all
instruments are notated in @code{\key c \major}. This refers to the key in
@c make whatever changes I feel like.
@c FIXME: produces a warning ; key change merge.
-@c The `linewidth' argument is for the \header.
+@c The `line-width' argument is for the \header.
-@lilypond[quote,verbatim,raggedright,linewidth]
-\version "2.6.0"
+@lilypond[quote,verbatim,ragged-right,line-width]
+\version "2.7.39"
\header {
title = "Song"
subtitle = "(tune)"
composer = "Me"
meter = "moderato"
piece = "Swing"
- tagline = "LilyPond example file by Amelie Zapf,
- Berlin 07/07/2003"
+ tagline = \markup {
+ \column {
+ "LilyPond example file by Amelie Zapf,"
+ "Berlin 07/07/2003"
+ }
+ }
texidoc = "Jazz tune for combo
(horns, guitar, piano, bass, drums)."
}
\global
\set Staff.instrument = #"Trumpet"
\clef treble
- \context Staff <<
+ <<
\trpt
>>
}
\global
\set Staff.instrument = #"Alto Sax"
\clef treble
- \context Staff <<
+ <<
\alto
>>
}
\global
\set Staff.instrument = #"Bari Sax"
\clef treble
- \context Staff <<
+ <<
\bari
>>
}
\global
\set Staff.instrument = #"Trombone"
\clef bass
- \context Staff <<
+ <<
\tbone
>>
}
\global
\set Staff.instrument = #"Guitar"
\clef treble
- \context Staff <<
+ <<
\gtr
>>
}
\clef treble
\global
\set Staff.midiInstrument = "acoustic grand"
- \context Staff <<
- \context Voice = one \rhUpper
- \context Voice = two \rhLower
+ <<
+ \new Voice = "one" \rhUpper
+ \new Voice = "two" \rhLower
>>
}
PianoLH = {
\clef bass
\global
\set Staff.midiInstrument = "acoustic grand"
- \context Staff <<
- \context Voice = one \lhUpper
- \context Voice = two \lhLower
+ <<
+ \new Voice = "one" \lhUpper
+ \new Voice = "two" \lhLower
>>
}
piano = {
- \context PianoStaff <<
+ <<
\set PianoStaff.instrument = #"Piano"
- \context Staff = upper \PianoRH
- \context Staff = lower \PianoLH
+ \new Staff = "upper" \PianoRH
+ \new Staff = "lower" \PianoLH
>>
}
\global
\set Staff.instrument = #"Bass"
\clef bass
- \context Staff <<
+ <<
\Bass
>>
}
\score {
<<
- \context StaffGroup = horns <<
- \context Staff = trumpet \trumpet
- \context Staff = altosax \altosax
- \context ChordNames = barichords \bariharmony
- \context Staff = barisax \barisax
- \context Staff = trombone \trombone
+ \new StaffGroup = "horns" <<
+ \new Staff = "trumpet" \trumpet
+ \new Staff = "altosax" \altosax
+ \new ChordNames = "barichords" \bariharmony
+ \new Staff = "barisax" \barisax
+ \new Staff = "trombone" \trombone
>>
- \context StaffGroup = rhythm <<
- \context ChordNames = chords \gtrharmony
- \context Staff = guitar \guitar
- \context PianoStaff = piano \piano
- \context Staff = bass \bass
+ \new StaffGroup = "rhythm" <<
+ \new ChordNames = "chords" \gtrharmony
+ \new Staff = "guitar" \guitar
+ \new PianoStaff = "piano" \piano
+ \new Staff = "bass" \bass
\new DrumStaff { \drumContents }
>>
>>
}
@end lilypond
-@node Other templates
-@section Other templates
-@subsection All headers
+@ignore
+
+This isn't very useful, and only duplicates material in
+"global issues". And if this info changes, this section often
+gets forgotten.
+
+@no de Other templates
+@se ction Other templates
+@su bsection All headers
This template displays all available headers. Some of them are only
used in the Mutopia project; they don't affect the printed output at
violin concerto as TchaikovskyPI, whereas perhaps you wish to print
"Petr Tchaikowski" on your music.
-@ The `linewidth' is for \header.
-@lilypond[quote,verbatim,raggedright,linewidth]
-\version "2.6.0"
+@ The `line-width' is for \header.
+@li lypond[quote,verbatim,ragged-right,line-width]
+\version "2.7.39"
\header {
dedication = "dedication"
title = "Title"
}
}
@end lilypond
-
-@subsection Gregorian template
-
-This example demonstrates how to do modern transcriptions of Gregorian
-music. Gregorian music has no measure, no stems; it uses only half and
-quarter notes, and two types of barlines, a short one indicating a rest,
-and a second one indicating a breath mark.
-
-@lilypond[quote,verbatim,raggedright]
-barOne = { \once \override Staff.BarLine #'bar-size = #2
- \bar "|" }
-barTwo = { \once \override Staff.BarLine #'extra-offset = #'(0 . 2)
- \once \override Staff.BarLine #'bar-size = #2
- \bar "|" }
-chant = \relative c' {
- \set Score.timing = ##f
- \override Staff.Stem #'transparent = ##t
-
- f4 a2 \barTwo
- g4 a2 f2 \barOne
- g4( f) f( g) a2
-}
-\score {
- \chant
- \layout{ }
- \midi { \tempo 4=60 }
-}
-@end lilypond
+@end ignore
@node Lilypond-book templates
-@section Lilypond-book templates
+@appendixsec Lilypond-book templates
These templates are for use with @code{lilypond-book}. If you're not familiar
with this program, please refer to @ref{LilyPond-book}.
-@subsection LaTeX
+@appendixsubsec LaTeX
You can include LilyPond fragments in a LaTeX document.
\end@{document@}
@end example
-@subsection Texinfo
+@appendixsubsec Texinfo
You can include LilyPond fragments in Texinfo; in fact, this entire manual
is written in Texinfo.
Texinfo text
-@@lilypond[verbatim,fragment,raggedright]
+@@lilypond[verbatim,fragment,ragged-right]
a4 b c d
@@end lilypond
More Texinfo text
-@@lilypond[verbatim,fragment,raggedright]
+@@lilypond[verbatim,fragment,ragged-right]
d4 c b a
@@end lilypond