lilypond-user
[Top][All Lists]
Advanced

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

Re: [Best Practices] splitting and combining choral parts


From: Simon Albrecht
Subject: Re: [Best Practices] splitting and combining choral parts
Date: Tue, 24 Nov 2015 23:17:53 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

Hello Kieren,

first of all: Looks like a nice piece!
Second: offtopic nitpicks. There are some superfluous LyricExtenders there – I’d rather leave them out if they are very short. (<http://sourceforge.net/p/testlilyissues/issues/4509/> …) And note the mid-air bar-numbers, where they are aligned with ScoreMarks. I’d move Bar_number_engraver to the topmost staff. And I like for long syllables to be increasingly left-aligned, for which I wrote a custom grob callback. And finally on your actual point, an answer which is probably not the one you wanted to hear: :-)

I’d vote to keep with four staves, at least in this example. My model for engraving choral scores is the respective volume in the 1926 Breitkopf & Härtel Brahms complete edition. It’s beautiful and excellent to read. It always uses a consistent number of staves for the music (which might also be due to the music), which I think gives more consistent looks and takes some difficulty (in finding the staff he should be singing from) from the singer. The other major point is that it doesn’t print ‘redundant’ lyrics, i.e. passages with equal rhythm and wording in multiple voices have the lyrics printed only once, mostly below the topmost of the staves. This is certainly a controversial feature, but IMO the clarity it adds to the score and the nudge to not only read one’s own voice are valuable, alongside with the gain on vertical space. For this I also wrote a nice, easy-to-use solution, which you find applied to the version in the attachment. Of course there are cases where one needs to go e.g. to eight staves, or have other changes in staff number – the best of orchestral score engravings show it. It _would_ of course be great to have a good mechanism for that in LilyPond, but it looks like a really involved task.

Other measures to obtain closer vertical spacing are shifting dynamics (a task for which I haven’t yet found a definite, if only personal solution yet – very complicated) – and narrower hairpins (My default stylesheet has \override Hairpin.height = 0.45).

I hope there is something useful for you amongst these ideas…

Yours, Simon

On 24.11.2015 16:14, Kieren MacMillan wrote:
Hello list,

I’ve posted this question several times before, but the discussion always got 
truncated or derailed… I’m hoping this time we can work this through to a 
solution.

Choral pieces tend to have both sections of polyphony (requiring 4 or more 
staves) and sections of homophony (requiring as few as 1 staff). I want to be 
able to arbitrarily break systems and have Lilypond Do The Right Thing™, by 
which I mean use the maximum number of systems when necessary, but combine 
voices and lyrics to 3 or 2 staves or even 1 staff where possible.

Bonus points if we can convince Lily to automagically [e.g., via an engraver?] 
put a user-definable markup indicating who is singing at a given moment, add 
splitting-or-combining arrows at the end(s) of systems, etc.

I’ve attached the first 17 measures of one of my original carols as an example 
we can work with/through. Is anyone out there willing to work with me to find 
the Best Practice here? I’m happy to do this on-list or off-, as appropriate.

Thanks,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: address@hidden



_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user

Attachment: WithersCarol_example.ly
Description: Text Data

Attachment: interpolate.ily
Description: Text document

Attachment: switch-lyrics.ily
Description: Text document


reply via email to

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