Jump to content

Orchestra, choir and piano template: Difference between revisions

From LilyPond wiki
Formatting
m Use `\book` for the sake of `lilypond-book`, otherwise staves get too much squeezed vertically.
 
Line 47: Line 47:
bassMusic = \relative c { \clef "bass_8" \key g \major g,1 b }
bassMusic = \relative c { \clef "bass_8" \key g \major g,1 b }


\score {
\book {
  <<
  \score {
    \new StaffGroup = "StaffGroup_woodwinds" <<
    <<
      \new Staff = "Staff_flute" \with { instrumentName = "Flute" }
      \new StaffGroup = "StaffGroup_woodwinds" <<
        \fluteMusic
        \new Staff = "Staff_flute" \with { instrumentName = "Flute" }
          \fluteMusic


      \new Staff = "Staff_clarinet" \with {
        \new Staff = "Staff_clarinet" \with {
        instrumentName = \markup { \concat { "Clarinet in B" \flat } }
          instrumentName = \markup { \concat { "Clarinet in B" \flat } }
      }
        }
        % Declare that written Middle C in the music
          % Declare that written Middle C in the music
        % to follow sounds a concert B flat, for
          % to follow sounds a concert B flat, for
        % output using sounded pitches such as MIDI.
          % output using sounded pitches such as MIDI.
         %\transposition bes
          %\transposition bes
 
          % Print music for a B-flat clarinet
          \transpose bes c' \clarinetMusic
      >>
 
      \new StaffGroup = "StaffGroup_brass" <<
         \new Staff = "Staff_hornI" \with {
          instrumentName = "Horn in F"
        }
          % \transposition f
          \transpose f c' \hornMusic


         % Print music for a B-flat clarinet
         \new Staff = "Staff_trumpet" \with {
         \transpose bes c' \clarinetMusic
          instrumentName = "Trumpet in  C"
    >>
         }
          \trumpetMusic
      >>


    \new StaffGroup = "StaffGroup_brass" <<
       \new RhythmicStaff = "RhythmicStaff_percussion" \with {
       \new Staff = "Staff_hornI" \with {
         instrumentName = "Percussion"
         instrumentName = "Horn in F"
       }
       }
         % \transposition f
         \percussionMusic
        \transpose f c' \hornMusic


       \new Staff = "Staff_trumpet" \with {
       \new PianoStaff \with {
         instrumentName = "Trumpet in  C"
         instrumentName = "Piano"
       }
       } <<
         \trumpetMusic
        \new Staff { \pianoRHMusic }
    >>
         \new Staff { \pianoLHMusic }
      >>


    \new RhythmicStaff = "RhythmicStaff_percussion" \with {
      \new ChoirStaff = "ChoirStaff_choir" <<
      instrumentName = "Percussion"
        \new Staff = "Staff_soprano" \with {
    }
          instrumentName = "Soprano"
      \percussionMusic
        }
          \new Voice = "soprano" \sopranoMusic
          \new Lyrics \lyricsto "soprano" { \sopranoLyrics }


    \new PianoStaff \with {
        \new GrandStaff = "GrandStaff_altos" \with {
      instrumentName = "Piano"
          \accepts Lyrics
    } <<
        } <<
      \new Staff { \pianoRHMusic }
          \new Staff = "Staff_altoI" \with {
      \new Staff { \pianoLHMusic }
            instrumentName = "Alto I"
    >>
          }
            \new Voice = "altoI"
            \altoIMusic
            \new Lyrics \lyricsto "altoI" { \altoILyrics }
          \new Staff = "Staff_altoII" \with {
            instrumentName = "Alto II"
          }
            \new Voice = "altoII"
            \altoIIMusic
            \new Lyrics \lyricsto "altoII" { \altoIILyrics }
        >>


    \new ChoirStaff = "ChoirStaff_choir" <<
         \new Staff = "Staff_tenor" \with {
      \new Staff = "Staff_soprano" \with {
           instrumentName = "Tenor"
        instrumentName = "Soprano"
      }
        \new Voice = "soprano" \sopranoMusic
        \new Lyrics \lyricsto "soprano" { \sopranoLyrics }
 
      \new GrandStaff = "GrandStaff_altos" \with {
        \accepts Lyrics
      } <<
        \new Staff = "Staff_altoI" \with {
          instrumentName = "Alto I"
        }
          \new Voice = "altoI"
          \altoIMusic
          \new Lyrics \lyricsto "altoI" { \altoILyrics }
         \new Staff = "Staff_altoII" \with {
           instrumentName = "Alto II"
         }
         }
           \new Voice = "altoII"
           \new Voice = "tenor" \tenorMusic
          \altoIIMusic
           \new Lyrics \lyricsto "tenor" { \tenorLyrics }
           \new Lyrics \lyricsto "altoII" { \altoIILyrics }
       >>
       >>


       \new Staff = "Staff_tenor" \with {
       \new StaffGroup = "StaffGroup_strings" <<
        instrumentName = "Tenor"
        \new GrandStaff = "GrandStaff_violins" <<
      }
          \new Staff = "Staff_violinI" \with {
        \new Voice = "tenor" \tenorMusic
            instrumentName = "Violin I"
         \new Lyrics \lyricsto "tenor" { \tenorLyrics }
          }
    >>
            \violinIMusic
          \new Staff = "Staff_violinII" \with {
            instrumentName = "Violin II"
          }
            \violinIIMusic
        >>
 
         \new Staff = "Staff_viola" \with {
          instrumentName = "Viola"
        }
          \violaMusic


    \new StaffGroup = "StaffGroup_strings" <<
         \new Staff = "Staff_cello" \with {
      \new GrandStaff = "GrandStaff_violins" <<
           instrumentName = "Cello"
         \new Staff = "Staff_violinI" \with {
           instrumentName = "Violin I"
         }
         }
           \violinIMusic
           \celloMusic
         \new Staff = "Staff_violinII" \with {
 
           instrumentName = "Violin II"
         \new Staff = "Staff_bass" \with {
           instrumentName = "Double Bass"
         }
         }
           \violinIIMusic
           \bassMusic
       >>
       >>
      \new Staff = "Staff_viola" \with {
        instrumentName = "Viola"
      }
        \violaMusic
      \new Staff = "Staff_cello" \with {
        instrumentName = "Cello"
      }
        \celloMusic
      \new Staff = "Staff_bass" \with {
        instrumentName = "Double Bass"
      }
        \bassMusic
     >>
     >>
   >>
   }
}
}
</lilypond>
</lilypond>

Latest revision as of 22:12, 7 December 2025

This template demonstrates the use of nested StaffGroup and GrandStaff contexts to sub-group instruments of the same type together, and a way to use \transpose so that variables hold music for transposing instruments at concert pitch.

\version "2.24"

#(set-global-staff-size 17)

\paper {
  indent = 3.0\cm  % add space for instrumentName
  short-indent = 1.5\cm  % add less space for shortInstrumentName
}

fluteMusic = \relative c' { \key g \major g'1 b }

% Pitches as written on a manuscript for Clarinet in A
% are transposed to concert pitch.
clarinetMusic = \transpose c' a
  \relative c'' { \key bes \major bes1 d }

trumpetMusic = \relative c { \key g \major g''1 b }

% Key signature is often omitted for horns
hornMusic = \transpose c' f
  \relative c { d'1 fis }

percussionMusic = \relative c { \key g \major g1 b }

sopranoMusic = \relative c'' { \key g \major g'1 b }
sopranoLyrics = \lyricmode { Lyr -- ics }

altoIMusic = \relative c' { \key g \major g'1 b }
altoILyrics = \sopranoLyrics
altoIIMusic = \relative c' { \key g \major g'1 b }
altoIILyrics = \lyricmode { Ah -- ah }

tenorMusic = \relative c' { \clef "treble_8" \key g \major g1 b }
tenorLyrics = \sopranoLyrics

pianoRHMusic = \relative c { \key g \major g''1 b }
pianoLHMusic = \relative c { \clef bass \key g \major g1 b }

violinIMusic = \relative c' { \key g \major g'1 b }
violinIIMusic = \relative c' { \key g \major g'1 b }

violaMusic = \relative c { \clef alto \key g \major g'1 b }

celloMusic = \relative c { \clef bass \key g \major g1 b }

bassMusic = \relative c { \clef "bass_8" \key g \major g,1 b }

\book {
  \score {
    <<
      \new StaffGroup = "StaffGroup_woodwinds" <<
        \new Staff = "Staff_flute" \with { instrumentName = "Flute" }
          \fluteMusic

        \new Staff = "Staff_clarinet" \with {
          instrumentName = \markup { \concat { "Clarinet in B" \flat } }
        }
          % Declare that written Middle C in the music
          % to follow sounds a concert B flat, for
          % output using sounded pitches such as MIDI.
          %\transposition bes

          % Print music for a B-flat clarinet
          \transpose bes c' \clarinetMusic
      >>

      \new StaffGroup = "StaffGroup_brass" <<
        \new Staff = "Staff_hornI" \with {
          instrumentName = "Horn in F"
        }
          % \transposition f
          \transpose f c' \hornMusic

        \new Staff = "Staff_trumpet" \with {
          instrumentName = "Trumpet in  C"
        }
          \trumpetMusic
      >>

      \new RhythmicStaff = "RhythmicStaff_percussion" \with {
        instrumentName = "Percussion"
      }
        \percussionMusic

      \new PianoStaff \with {
        instrumentName = "Piano"
      } <<
        \new Staff { \pianoRHMusic }
        \new Staff { \pianoLHMusic }
      >>

      \new ChoirStaff = "ChoirStaff_choir" <<
        \new Staff = "Staff_soprano" \with {
          instrumentName = "Soprano"
        }
          \new Voice = "soprano" \sopranoMusic
          \new Lyrics \lyricsto "soprano" { \sopranoLyrics }

        \new GrandStaff = "GrandStaff_altos" \with {
          \accepts Lyrics
        } <<
          \new Staff = "Staff_altoI" \with {
            instrumentName = "Alto I"
          }
            \new Voice = "altoI"
            \altoIMusic
            \new Lyrics \lyricsto "altoI" { \altoILyrics }
          \new Staff = "Staff_altoII" \with {
            instrumentName = "Alto II"
          }
            \new Voice = "altoII"
            \altoIIMusic
            \new Lyrics \lyricsto "altoII" { \altoIILyrics }
        >>

        \new Staff = "Staff_tenor" \with {
          instrumentName = "Tenor"
        }
          \new Voice = "tenor" \tenorMusic
          \new Lyrics \lyricsto "tenor" { \tenorLyrics }
      >>

      \new StaffGroup = "StaffGroup_strings" <<
        \new GrandStaff = "GrandStaff_violins" <<
          \new Staff = "Staff_violinI" \with {
            instrumentName = "Violin I"
          }
            \violinIMusic
          \new Staff = "Staff_violinII" \with {
            instrumentName = "Violin II"
          }
            \violinIIMusic
        >>

        \new Staff = "Staff_viola" \with {
          instrumentName = "Viola"
        }
          \violaMusic

        \new Staff = "Staff_cello" \with {
          instrumentName = "Cello"
        }
          \celloMusic

        \new Staff = "Staff_bass" \with {
          instrumentName = "Double Bass"
        }
          \bassMusic
      >>
    >>
  }
}