lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Best Practices for Multiple Part Scores


From: Keith OHara
Subject: Re: Best Practices for Multiple Part Scores
Date: Fri, 8 Jul 2011 05:36:51 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

couchand <at> gmail.com <couchand <at> gmail.com> writes:

> 
> I would like to set a large piece with multiple parts, with the option
> of producing single-part scores (e.g. an orchestral piece).  I have
> found that very quickly my source files get out of control.  

1) http://www.mutopiaproject.org/  
Jay Anderson has posted some large-ensemble scores (Mozart Horn Concertos 
and other things) with a good organizational system.  You could search for 
Anderson and find them.

2) http://lsr.dsi.unimi.it/LSR/Item?id=359
and you could browse http://lsr.dsi.unimi.it/ searching for "score parts" 

3) What I do is:

Global items go in a variable like

  conductor_mvt_I = {
    \commonConductor
    \time 3/4
    \tempo "Vivace"
    \repeat volta 1 {
       s2.*12
       \bar "||"
       \mark\default
       s2.*8
    } \alternative {
       s2.*8
    } \alternative {
       s2.*1
   }

The "spacer rest model" using s.2*12 breaks multimeasure rests in parts 
only when there is an event like a rehearsal mark or a special barline in 
the 'conductor' part.

file: strings_mvt1.ily
Defines variables like
  conductor_mvt_I = { as above }
  violin_I_mvt_I = \relative c' { \key d\minor ... }

Each variable holds all the notes for the instrument in this 
movement/section/song.

If some marking belongs *only* on the part, it gets a \tag #part. If the 
tagged thing has a duration, arrange things so that filtering out the tag 
does not change the total duration of the violin part
  <<
    \repeat unfold 6 c1:16
    \tag#'part \repeat percent 6 s1
  >>

file: brass_mvt1.ily
  horns_mvt_I = \relative c' { \transposition f ... }

Similarly for the brass instruments.  I put the whole brass section in one 
file because then cut-and-paste between instruments is easier for me.

If two horns will share a music stand they share a variable definition.  
Periods of divisi use what is called "Temporary polyphonic passages" in the 
manual.  { c4 d e c <<{e f g }2 \\ {c4 d e g}>> }

When there is a motive that comes back, I have tried defining a variable 
like  motifA = \relative c' { c4 d e c }  
alongside the instrument parts that might use it, and then insert 
  \transpose c g \motif_A
into the part.   If you are not re-writing the motif, simply cut-and-paste 
will do.
(The \quoteDuring mechanism does not help you here; it was designed for a 
different goal, to go find what is happening *simultaneously* in another 
instrument.) 
  
file: score_mvt1.ly
  \include "header.ily"
  \include "strings_mvtI.ily"
  \score {
    \killCues \keepWithTag #'score <<
     \new Devnull \conductor_mvt_I
     \new Staff \with { instrumentName = "Flute" } {
       \partcombine \flute_I_mvtI \flute_II_mvtI
     }
     \new Staff \with { instrumentName = "Horns in F" } {
       \horns_mvt_I
     } ...

> - Multiple parts per staff (e.g. four-part choral music on two
> staves): how to handle duplicate dynamics, phrasing, doubled rests and
> notes, etc?

LilyPond's attempted automatic part-combining needs help, so you go back 
to the *.ily files insert \partcombineApart and such where needed.  (These 
commands are new with version 2.14, implemented by Reinhold, so look them 
up in the new manual under \partcombine.)

Still, there might be doubled dynamics, for example.  I use an override to 
hide them in the second part ( like scoreDynamicsOff down below in this 
message).

(Lilypond's part-combiner is not smart enough to combine parts if one has 
divisi sections.  Usually, though, the parts combined on a staff do not 
themselves sub-divide into two.) 

And separate files, analogous to those above, for movement II, etc.
The file score_mvt1.ly would give just the first movement in a pdf.  For 
the parts you might want all movements in one .pdf, 
so...

file: horns.ly
  \include "header.ily"
  \include "strings_mvtI.ily"
  \include "brass_mvtI.ily"
  \include "strings_mvtII.ily"
  \include "brass_mvtII.ily"

  \addQuote "violin1" \keepWithTag#'quote \violinI_mvt_I

  \book {
    \header { instrument = "first violin"}
    \score {
      \keepWithTag#'part \new Staff <<
      \horns_mvt_I
    }
    \score {
      \keepWithTag#'part \new Staff <<
      \horns_mvt_II
    }
  }

If you like you can add the other brass instruments in similar \book s and 
maybe call the file brass.ly.

file: header.ily
The overall header, anything that I want to define, and anything I can figure
out a way to share between files (like what is in commonConductor)

 \header { title = "" ... }
  commonConductor = {
    #(set-accidental-style 'modern 'Score)
    ... }
  ub = -\tag #'part \upbow
  db = -\tag #'part \downbow
  mark_A_I = 34  % rehearsal mark A in movement one is measure 34,
       % so I can \barNumberCheck #mark_A_I
  scoreDynamicsOff =
    \tag #'score {
      \override DynamicText #'stencil = #point-stencil
      \override Hairpin #'stencil = #point-stencil

All those files in one directory named for the piece of music. 


P.S., for quick-compiling parts while writing, you might create a 
stripped-down version of brass.ly to set just what you are currently 
working on:

file: h1m1.ly
  \include "header.ily" 
  \include \include "strings_mvtI.ily"
  \include "brass_mvtI.ily"
  \addQuote "violin1" \keepWithTag#'quote \violinI_mvt_I
  \keepWithTag#'part \horns_mvt1_I





reply via email to

[Prev in Thread] Current Thread [Next in Thread]