[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