tl;dr: interrupted five-voice polyphony — how to attach lyrics, and still get proper polyphonic engraving, in 2.18.2?

I had a call-and-response arrangement with three response parts, and assigned lyrics to the responses like so:

  <<
    {
      \new Voice = "response"
      s1*6 |
    }
    {
      <<
        \context Voice = "resp_hi" {
          \voiceOne \transpose c c' { \autoBeamOff \melRespOne }
        }
        \context Voice = "harmony" {
          \voiceThree \autoBeamOff \harmRespOne
        }
        \context Voice = "response" {
          \voiceTwo \autoBeamOff \melRespOne
        }
      >>
      % ...
    }
  >>
  \context Lyrics = "response" {
    \lyricsto "response" {
      \respOne
    }
  }

This produced nicely-stemmed notes for the responses, and allowed me to attached lyrics across disparate polyphonic response sections.

However, I added two more responses, and voices past \VoiceFour are unrecognized. When I use the default << \\ >> polyphony, the \context approach no longer works. Using the built-in voice "1" (etc.) works when there’s only one uninterrupted instance of polyphony; however, it doesn’t carry across a break. If I try to set \context on a voice, I get a single (chord-ish) note column, plus the warning:

Preprocessing graphical objects...
test.ly:22:3: warning: ignoring too many clashing note columns

(although the lyrics do work).

What’s the optimal approach here?

Three MWEs are attached: one with the old, working approach; the second with default polyphony and unaligned lyrics; the last with an attempt at Voice context, which generates an error.

Thanks,
crism
--
Chris Maden, text nerd
<URL: http://crism.maden.org/ >
Emperor Norton had the right idea.
\version "2.18.2"

\language "english"

\new Staff <<
  {
    \new Voice = "response"
    s1*3 |
  }
  {
    <<
      \context Voice = "resp_hi" {
        \voiceOne c''4 c'' c'' c''
      }
      \context Voice = "harmony" {
        \voiceThree g'4 g' g' g'
      }
      \context Voice = "response" {
        \voiceTwo c'4 c' c' c'
      }
    >>
    | R1 |
    <<
      \context Voice = "resp_hi" {
        \voiceOne c''4 c'' c'' c''
      }
      \context Voice = "harmony" {
        \voiceThree g'4 g' g' g'
      }
      \context Voice = "response" {
        \voiceTwo c'4 c' c' c'
      }
    >>
    \bar "|."
  }
  \new Lyrics {
    \lyricsto "response" {
      One two three four,
      Five six sev’n eight.
    }
  }
>>
\version "2.18.2"

\language "english"

\new Staff <<
  {
    \new Voice = "response"
    s1*3 |
  }
  {
    <<
      { c''4 c'' c'' c'' }
      \\
      { c4 c c c }
      \\
      { g'4 g' g' g' }
      \\
      { g4 g g g }
      \\
      { c'4 c' c' c' }
    >>
    | R1 |
    <<
      { c''4 c'' c'' c'' }
      \\
      { c4 c c c }
      \\
      { g'4 g' g' g' }
      \\
      { g4 g g g }
      \\
      { c'4 c' c' c' }
    >>
    \bar "|."
  }
  \new Lyrics {
    \lyricsto "1" { % what to attach to?
      One two three four,
      Five six sev’n eight.
    }
  }
>>
\version "2.18.2"

\language "english"

\new Staff <<
  {
    \new Voice = "response"
    s1*3 |
  }
  {
    <<
      { c''4 c'' c'' c'' }
      \\
      { c4 c c c }
      \\
      { g'4 g' g' g' }
      \\
      { g4 g g g }
      \\
      % \context Voice = "response" { c'4 c' c' c' }
      { \context Voice = "response" { c'4 c' c' c' } }
    >>
    | R1 |
    <<
      { c''4 c'' c'' c'' }
      \\
      { c4 c c c }
      \\
      { g'4 g' g' g' }
      \\
      { g4 g g g }
      \\
      \context Voice = "response" { c'4 c' c' c' }
    >>
    \bar "|."
  }
  \new Lyrics {
    \lyricsto "response" {
      One two three four,
      Five six sev’n eight.
    }
  }
>>
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to