lilypond-user
[Top][All Lists]
Advanced

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

Re: Staff change in piano music - a general approach?


From: Tobias Braun
Subject: Re: Staff change in piano music - a general approach?
Date: Mon, 3 Jan 2011 05:47:09 +0100

Thanks to all of you for your help.

I've been experimenting with the \partcombine command, which looks like it's 
made to do exactly what I want. But unfortunately, it can only handle a maximum 
of two voices. Nesting doesn't work properly either.

Is there a chance that the \partcombine command will be improved for 2.14 to 
support more than two voices?

At this point, there seems to be no way indeed that doesn't involve lots of 
manual tweaking. However, I encountered one problem with manual tweaking: I 
seem to be unable to apply force-hshift to notes which have been moved to 
another staff via \change Staff.

Regards,
Tobias


Am 31.12.2010 um 16:25 schrieb Jan WarchoĊ‚:

> 2010/12/31 jakob lund <address@hidden>:
>> 
>> I'm probably missing something here, but in your example it seems that
>> 
>> \score {
>>       \new Staff <<
>>               \global
>>               \new Voice << \soprano  \alto >>
>>               \new Voice \tenor
>>       >>
>> }
> 
> Jakob, your solution above inspired me to create the following construct:
> 
> 
> \version "2.12.3"
> 
> global = {
>       \time 2/2
>       \key d \minor
> }
> 
> soprano = \relative c'' {
> 
>       \repeat volta 2 {
>               g'4 g d4. e8 |
>               fis4 fis g d |
>               g g d4. e8 |
>               fis4 fis g2 |
>       }
> 
>       g4 g g4. f8 |
>       g8 a bes4 f2 |
>       f4 f f4. e8 |
>       f8 d g4 d4. e8 |
> 
>       \repeat volta 2 {
>               f g f es d4. c8 |
>               bes8 a bes c d4. e8 |
>               f g f es d4 c8 bes |
>               a g fis4 g2 |
>       }
> }
> 
> alto = \relative c'' {
> 
>       \repeat volta 2 {
>               % \stemUp
>               b4 c b4. c8 |
>               d4 d8 c b2 |
>               b4 c b4. c8 |
>               d4 d b2 |
>       }
> 
>       b4 c b4. c8 |
>       d4 d d2 |
>       % \stemDown
>       d4 a bes2 |
>       bes4 g8 a bes2 |
> 
>       \repeat volta 2 {
>               bes4 a bes4. a8 |
>               g f g a bes4. c8 |
>               d4 c bes g |
>               f8 e d c b2 |
>       }
> }
> 
> tenor = \relative c' {
> 
>       \repeat volta 2 {
>               \change Staff = "upper"
>               \voiceTwo
>               g'4 g g2 |
>               a4 a g2 |
>               g4 g g2 |
>               a4 a g2 |
>       }
> 
>       g4 g g4. a8 |
>       bes4 bes bes2 |
>       \change Staff = "lower"
>          \voiceOne
>       f4 f d2 |
>       d4 es d2 |
> 
>       \repeat volta 2 {
>               d4 c d2 |
>               es2 d4 f |
>               f2 f4 e |
>               a,2 g |
>       }
> }
> 
> bass = \relative c' {
> 
>       \repeat volta 2 {
>               g4 c, g'2 |
>               d g |
>               g4 c, g'2 |
>               d g, |
>       }
> 
>       g'4 c, g'2 |
>       g4 g bes2 |
>       \voiceTwo
>       bes,4 f' bes,2 |
>       bes4 es bes2 |
> 
>       \repeat volta 2 {
>               bes4 f' bes,2 |
>               es bes |
>               bes4 f' bes, c |
>               d2 g, |
>       }
> }
> 
> 
> 
> rightHand = { <<
>       \global
>       \clef treble
>          \new Voice { \voiceOne << \soprano \alto >> }
>       \new Voice { \tenor }
>         >>
> }
> 
> leftHand = {
>       \global
>       \clef bass
>          \bass
> }
> 
> \score {
>       \new PianoStaff <<
>               \new Staff = "upper" \rightHand
>               \new Staff = "lower" \leftHand
>>> 
> }
> 
> It's not perfect (sometimes an 8th note gets an unflagged stem or a
> quarter gets a flagged one), but i think it's as elegant as we can
> get.
> I attach the result (made by LilyPond 2.13.44, but i suppose 2.12
> would handle it similarly).
> 
> cheers,
> Janek
> 
> PS Happy new year! :)
> <mixing voices.pdf>




reply via email to

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