lilypond-user
[Top][All Lists]
Advanced

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

Re: Attaching lyrics to intermittent vocals with polyphony


From: Thomas Morley
Subject: Re: Attaching lyrics to intermittent vocals with polyphony
Date: Mon, 23 Jul 2018 11:11:34 +0200

2018-07-23 3:46 GMT+02:00 Christopher R. Maden <address@hidden>:
> On 07/22/2018 09:37 PM, Christopher R. Maden wrote:
>>
>> tl;dr: interrupted five-voice polyphony — how to attach lyrics, and still
>> get proper polyphonic engraving, in 2.18.2?
>
>
> Naturally I found the (an?) answer after posting...
>
> <URL:
> http://lilypond.org/doc/v2.18/Documentation/notation/multiple-voices#collision-resolution
>> gives a definition for voiceFive that does what I need.

If you want a 5-voices-polyphony (and no chords) you need \voiceFive.
I see no problem here.

> I still wonder that there’s not a better way to persist a voice across an
> interruption; maybe one of the wizards here has a better suggestion.

To make a Voice robust against interruptions you need to keep it
alive. Even in your first example, polyphonic_lyrics_3.ly, you already
do so with the "response"-voice:
    \new Voice = "response"
    s1*3
So I neither see a problem here.

Probably you could initiate all 5 voices in this manner. Leading to:

\version "2.18.2"

\language "english"

%% define additional `voiceFive`
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

<<
  \new Staff
    <<
      %% Initiate named Voices, apply \voiceXxx as wished
      %% Probably add other overrides/modifications as wished
      %% Keep them alive (i.e. adjust s1*3 as needed)
      \new Voice = "response"
        %% a check whether "response" persists:
        \with { \override NoteHead.color = #red }
        { \voiceFive s1*3 | }
      \new Voice = "resp_hi"
        { \voiceOne s1*3 | }
      \new Voice = "harmony"
        { \voiceThree s1*3 | }
      \new Voice = "downI"
        { \voiceFour s1*3 | }
      \new Voice = "downII"
        { \voiceTwo s1*3 | }

      %% The actual musical content.
      %% It will be sent to the appropriate contexts.
      {
        <<
          \context Voice = "resp_hi" { c''4 c'' c'' c'' }
          \context Voice = "harmony" { g'4 g' g' g' }
          \context Voice = "response" { c'4 c' c' c' }
          \context Voice = "downI" { g4 g g g }
          \context Voice = "downII" { c4 c c c }
        >>
        R1
        <<
          \context Voice = "resp_hi" { c''4 c'' c'' c'' }
          \context Voice = "harmony" { g'4 g' g' g' }
          \context Voice = "response" { c'4 c' c' c' }
          \context Voice = "downI" { g4 g g g }
          \context Voice = "downII" { c4 c c c }
        >>
        \bar "|."
      }
    >>
  %% Likely better not to initiate a Lyrics-context from inside
  %% a Staff-context.
  \new Lyrics
    \lyricsto "response" {
      One two three four,
      Five six sev’n eight.
    }
>>

Cheers,
  Harm



reply via email to

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