lilypond-user
[Top][All Lists]
Advanced

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

Re: Piano duets on facing pages - something new in 2.8.x?


From: Urs Liska
Subject: Re: Piano duets on facing pages - something new in 2.8.x?
Date: Wed, 04 Aug 2010 00:03:49 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.11) Gecko/20100711 Lightning/1.0b1 Thunderbird/3.0.6

Am 02.08.2010 17:27, schrieb David Rogers:
* Urs Liska <address@hidden> [2010-08-02 10:46]:

Am 30.07.2010 11:57, schrieb Werner LEMBERG:
Is it possible to synchronize page breaks on facing pages of piano
duet music with primo on the right-hand side and secondo on the
left-hand side?


...


It might seem obvious, but of course the two scores must contain compatible music.
Does this mean that both sides must have the same amount of music?
While this is conceptually self-evident it is easy to write input files that don't comply to it.

So, how would we expect LilyPond to deal with this situation?

  * Should it just try to make the best of the input and spit out
    errors if it doesn't work out?

I can imagine a duet where one of the players "falls asleep" and the
other continues playing for a while. I guess in such a case it would be
possible either to have the first player's part stop, or just fill it up
with rests...
Well, I think, in this case, one would generally just use MultiMeasureRests - or did I miss something?

  * Or should LilyPond make checks before trying to typeset the music?
  * Should there be the possibility to manually insert checks of some
    kind, similar to bar checks and barnumber checks?
    What could they be like?

I don't regularly typeset music without bar lines, but doesn't Lilypond
already have facilities for synchronizing two players' parts in one
score? Probably those can be re-used - as much as possible anyway.
AFAIK LilyPond has a notion of a point in time - which is also used in polymetric notation. So from the perspective of keeping track of the music such a duet score could be implemented very similar to a normal score with two (potentially independent) staff groups.

I think in the majority of cases having the two parts follow each
other's bar checks, and give an error when that fails, should be
sufficient.
I don't think so.
Bar checks may be inserted in any voice of any staff at any time. It will fail if in the actual context there is no barline. If the voices/staves have different meters, times etc. the bar checks will be independent. This doesn't have to be changed for a duet score.

Would some new kind of "sync point" be needed, or does Lilypond
already have such a thing for use in \cadenza sections and so on?
I think, everything needed is already there.
Now, while writing all this, I realize that from the perspective of the music the two scores are in fact one score. The only thing that has to be changed is the layout. Therefore I would suggest the "scores" to be rather something at the level of a StaffGroup. I'll refine (and redefine) my example syntax from my previous email:

\score {
  <<
    \new LeftScore<<
      \new PianoStaff = "secondo"<<
        \new Staff = "upSecondo" {
          % ...
        }
        \new Staff = "loSecondo" {
          % ...
        }
      >>
    >>
    \new RightScore<<
      \new PianoStaff = "primo"<<
        \new Staff = "upPrimo" {
          % ...
        }
        \new Staff = "loPrimo" {
          % ...
        }
      >>
    >>

  \layout {}
  \midi {}
}

Everything that has to do with the organisation of the content, of the musical structure can just be done as usual. If I want to get a normal score with both instruments, I just could replace the two new Contexts with \new StaffGroup.

What LilyPond would have to do in addition to its normal work is (only):
- individually determine and keep track of possible break points for both parts
- find a breaking solution that works well for both parts.
- correctly deal with odd and even page numbers.

  * In classical four hand music, both players have the same amount of
    bars in the same \time
    But of course this is no requirement for four hand music. Any
    constellation of polyrhythmic, -metric, -timing music that can be
    produced with LilyPond can be also used in four hand music.
  * So I think LilyPond should just try to find synchronous possible
page breaking points and don't care about things like barnumbers etc.

At least in those cases where the music is sufficiently simple and/or
regular, corresponding pages should have the same number of lines, and
corresponding lines the same number of bars. These requirements should
only be broken when they will make the score bad for some other reason.
(And then they should be followed anyway IMO.)
Well, this is yet another question.
It is generally a subject of discussion (or a matter of taste) whether a piano duet score should always have identical line breaking on both sides. While identical page breaking is a practical necessity, the line breaking is more of an editor's choice. So, if identical line breaking should be implemented at all it should absolutely be an option - although it could be argued whether it should be turned on or off by default.







reply via email to

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