lilypond-user
[Top][All Lists]
Advanced

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

Re: stave compression, music reuse, etc.


From: Graham Percival
Subject: Re: stave compression, music reuse, etc.
Date: Wed, 01 Oct 2003 19:36:51 -0700

On Sun, 28 Sep 2003 17:20:32 -0400
Kieren Richard MacMillan <address@hidden> wrote:
> I write choral music that includes many different textures, including 
> the following: extended sections in "unison" (i.e., SA in unison, TB
> in unison an octave lower), which can be written on a single line; 

Merging two voices together is easy; look at the examples for the
"partcombine" stuff.

> homophonic sections, which can (often) be written on two staves; and 
> polyphonic sections, which require four (or sometimes more) staves. In
> a single engraved score, I sometimes need to switch between these 
> "modes", in order to improve readability, reduce errors, and save
> space.

This is far from ideal, but here's the best I can come up with:

When writing the parts, seperate each voice definition into sections. 
So instead of this:
soprano = \notes { blah blah blah }

do this:
sopone = \notes { blah }
soptwo = \notes { blah }
sopthree = \notes { blah }

In your score, you can change the number of staves as necessary (by
having different \score contexts if necessary) and include the
appropiate \foonumber sections of notes included.

Here's a rough example:

\score {
        \choirStaff <<
                \staff { \sopone }
                \staff { \altoone }
                \staff { \tenone}
        >>
}
\score {
        \choirStaff <<
                \staff { \partcombine { \soptwo \alttwo } }
                \staff { \tentwo }
                >>
}

This is written in "pseudolily" (like pseudocode), but I hope it'll
point you in the right direction.

It might also be useful to know that you can define a new staff from
within a piece -- IIRC one of the examples does this, but it's pretty
simple:

a4 a b b
<<
        {c c d d}
        \context Staff=other {    % you could also use the "\new" command, but
                            % I haven't looked into that myself yet.
                a a b b
        }
>>

Cheers,
- Graham




reply via email to

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