lilypond-user
[Top][All Lists]
Advanced

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

Complex cross-rhythms


From: Brian Lenth
Subject: Complex cross-rhythms
Date: Tue, 28 Jun 2011 05:07:07 -0500

Hello everybody,

I'm attempting to create a score that uses simultaneous multiple tempi, at a ratio of 5:7. As a test, I made this (see code below). Basically it uses the ridiculous time signature of 42/4, with barlines inserted to create an artificial independent meter for each staff. It looks beautiful, but the problem is: put in shorter note values than these dotted quarters (sixteenths etc) and there isn't enough room on the line to render the music; it all just runs off the page, in other words, it doesn't want to break the line in mid-bar (as I'm using ridiculously long measures to simulate polytempi). I've read everything the Notation Reference has to offer about forcing line breaks. But for some reason it doesn't let me break the line during active note events (removing Forbid_line_break_engraver only seems to work across "actual" automatic barlines, not ones I've put in). Does anybody have any advice here? Is there a way to get more control over breaking my lines? Or better yet, is there a way to do these kinds of polytempi without using 8497/8 time?

Thanks,
brian


PartA = \new Voice \relative c'' {
  \clef treble
  \time 42/4
  \set Staff.instrumentName = #"Part A "
  \set Staff.timeSignatureFraction = #'(12 . 8)
  \scaleDurations #'(7 . 5) {
    c4.^\markup { \note #"4." #1 " = 60" } c c c \bar "|"
    c c c c \bar "|"
    c c c c \bar "|"
    c c c c \bar "|"
    c c c c
  }
}
PartB = \new Voice \with {
  \remove Forbid_line_break_engraver
  } \relative c'' {
  \clef treble
  \set Staff.instrumentName = #"Part B "
  \time 42/4
  \set Staff.timeSignatureFraction = #'(12 . 8)
  \override Beam #'breakable = ##t
 
  g4.^\markup { \note #"4." #1 " = 84" } g g g \bar "|"
  g g g g \bar "|"
  g g g g \bar "|"
  g g g g \bar "|"
  g g g g \bar "|"
  g g g g \bar "|"
  g g g g
}
\score {
  <<
    \new Staff \PartA
    \new Staff \PartB
  >>
}
\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
  \context {
    \Voice
    \remove "Forbid_line_break_engraver"
  }
}

reply via email to

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