lilypond-user
[Top][All Lists]
Advanced

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

Re: 12/8 upper and 4/4 lower staves with equal bar duration


From: Xavier Scheuer
Subject: Re: 12/8 upper and 4/4 lower staves with equal bar duration
Date: Fri, 16 Sep 2011 09:32:25 +0200

On 16 September 2011 08:23, Javier Ruiz-Alma <address@hidden> wrote:
>
> I'm trying to typeset a piece marked with 12/8 upper and 4/4 lower staves.
> By default, Lilypond forces both staves to 4/4.  I tried the code below,
> which allowed independent staff timing, but the bars are now decoupled.
> Any ideas on how to mod this to get bars on both staves synched up to same
> duration?

Hi Javier,

Keep "Timing_translator" and "Default_bar_line_engraver" as default
(i.e. at the Score level) and simply use
  \set Staff.timeSignatureFraction = #'(12 . 8)  and
  \scaleDurations #'(2 . 3) (see
NR 1.2.3 Displaying rhythms > Polymetric notation).
http://lilypond.org/doc/v2.14/Documentation/notation/displaying-rhythms.html#polymetric-notation

You do not need to override SpacingSpanner or use
proportionalNotationDuration anymore.

12/8 is equal to 6/4, so you need to scale by multiplying by 2/3 in
order to have 4/4.

%%%% Snippet

\version "2.14.2"

rightHand= \relative c'' {
  \clef treble
  \time 12/8
  \repeat unfold 12 { d8 c8 }
}

leftHand=\relative c {
  \clef bass
  \time 4/4
  \repeat unfold 6 { d4 c4 }
}

\score{
  <<
    \new PianoStaff <<
      \new Staff \with {
        \consists "Bar_number_engraver"
      } {
        \set Staff.timeSignatureFraction = #'(12 . 8)
        \scaleDurations #'(2 . 3) {
          \rightHand
        }
      }
      \new Staff \with {
        \consists "Bar_number_engraver"
      } {
        \leftHand
      }
    >>
  >>
  \layout{
    \context {
      \Score
      \remove "Bar_number_engraver"
    }
    \context {
      \Voice
      \remove "Forbid_line_break_engraver"
      tupletFullLength = ##t
    }
  }
}

%%%% End of snippet

Cheers,
Xavier

-- 
Xavier Scheuer <address@hidden>



reply via email to

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