|
From: | Mats Bengtsson |
Subject: | Re: Non-alignment of lyrics in occasional divisi |
Date: | Sun, 10 Apr 2022 22:23:06 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 |
There's no need for a null voice. The trick is to keep using the
original voice also during the divisi, more or less as you have
done. Here's my version. I also moved the \new Lyrics outside the
Staff definitions, which is not really needed, but still a good
habit.
\version "2.20.0"
\language "english"
#(set-default-paper-size "a4")
#(set-global-staff-size 16.2)
global = \transpose c c {
\key bf \major
\time 3/4
\skip 1*3/4*13
\bar "|."
}
Soprano = \relative c''
{
g4 g4 g8 g8 |
g8 g8 g2 \breathe |
<<
\new Voice = SopranoOne
{
\voiceOne
d'4. d8 d4 |
d4. d8 d4 |
d2 r4 |
R1*3/4 |
r8 d8 d4 d4 |
d8 d4.
}
{
\voiceTwo
bf4. bf8 bf4 |
bf4. bf8 bf4 |
bf2 r4 |
r4 bf4 bf4 |
bf2.~ |
bf2
}
>>
\oneVoice
r4 |
R1*3/4 |
R1*3/4 |
r8
<<
{
\voiceOne
g'8 g4 g4 |
g2
}
\new Voice = SopranoThree
{
\voiceTwo
d8 d4 d4 |
d2
}
>>
\oneVoice
r4 |
g,2. |
}
Alto = \relative c''
{
% 1
g4 g4 g8 g8 |
g8 g8 g2 \breathe |
% 3
g4. g8 g4 |
g4. g8 g4 |
g2 r4|
% 6
r4 g4 g4 |
g2. ~ |
g2 r4 |
% 9
r4 g4 g4 |
g8 g4. r4 |
% 11
r4
<<
{
\voiceOne
bf4 bf4|
bf2
}
\new Voice = AltoTwo
{
\voiceTwo
g4 g4 |
g2
}
>>
\oneVoice
% 13
r4 |
g2. |
}
SopranoLyrics = \lyricmode {
This phrase is the nor -- mal bit.
Here the sop -- ra -- no di -- vides.
I sing low __
Sop -- ra -- no words.
Yeah!
}
SopranoOneLyrics = \lyricmode {
_ _ _ _ _ _ _ and I sing la -- ter.
}
AltoLyrics = \lyricmode {
This phrase is the nor -- mal bit.
Here the sop -- ra -- no di -- vides.
I am bored. __
I am so -- lo.
Al -- to words.
Yeah!
}
\score {
<<
\new ChoirStaff
<<
\new Staff = "soprano"
<<
\global
\new Voice="v1"
{
\set Staff.shortInstrumentName = "S"
\set Staff.instrumentName = "Soprano"
\clef "treble"
\Soprano
}
>>
\new Lyrics \lyricsto "v1" { \SopranoLyrics }
\new Lyrics \with { alignAboveContext = #"soprano" }
\lyricsto "SopranoOne" { \SopranoOneLyrics }
\new Staff = "alto"
<<
\global
\new Voice="v2"
{
\set Staff.shortInstrumentName = "A"
\set Staff.instrumentName = "Alto"
\clef "treble"
\Alto
}
>>
\new Lyrics \with { alignBelowContext = #"alto" }
\lyricsto "v2" { \AltoLyrics }
>>
>>
}
\paper{
ragged-last-bottom = ##t
system-system-spacing =
#'((basic-distance . 20) (minimum-distance . 0) (padding . 5))
}
/Mats
I found a solution: create a null voice and add the lyrics to that instead. Here’s the updated version of the code in my original message, with problem solved.
\version "2.20.0"
\language "english"
#(set-default-paper-size "a4")
#(set-global-staff-size 16.2)
global = \transpose c c {
\key bf \major
\time 3/4
\skip 1*3/4*13
\bar "|."
}
Soprano = \relative c''
{
g4 g4 g8 g8 |
g8 g8 g2 \breathe |
<<
{
\voiceTwo
bf4. bf8 bf4 |
bf4. bf8 bf4 |
bf2
}
\new Voice = SopranoTwo
{
\voiceOne
d4. d8 d4 |
d4. d8 d4 |
d2
}
>>
\oneVoice
r4 |
r4
<<
{
\voiceTwo
bf4 bf4 |
bf2.~ |
bf2
}
\new Voice = SopranoFour
{
\voiceOne
r2
r8 d8 d4 d4 |
d8 d4.
}
>>
\oneVoice
r4 |
R1*3/4 |
R1*3/4 |
r8
<<
\new Voice = SopranoOne
{
\voiceOne
g8 g4 g4 |
g2
}
\new Voice = SopranoTwo
{
\voiceTwo
d8 d4 d4 |
d2
}
\oneVoice
>>
r4 |
g,2. |
}
SopranoAligner = \relative c''
{
g4 g4 g8 g8 |
g8 g8 g2 \breathe |
d'4. d8 d4 |
d4. d8 d4 |
d2 r4 |
r4 bf4 bf4 |
bf2.~ |
bf2
r4 |
R1*3/4 |
R1*3/4 |
r8
d8 d4 d4 |
d2
r4 |
g,2. |
}
Alto = \relative c''
{
% 1
g4 g4 g8 g8 |
g8 g8 g2 \breathe |
% 3
g4. g8 g4 |
g4. g8 g4 |
g2 r4|
% 6
r4 g4 g4 |
g2. ~ |
g2 r4 |
% 9
r4 g4 g4 |
g8 g4. r4 |
% 11
r4
<<
\new Voice = AltoOne
{
\voiceOne
bf4 bf4|
bf2
}
\new Voice = AltoTwo
{
\voiceTwo
g4 g4 |
g2
}
\oneVoice
>>
% 13
r4 |
g2. |
}
AltoAligner = \relative c''
{
% 1
g4 g4 g8 g8 |
g8 g8 g2 \breathe |
% 3
g4. g8 g4 |
g4. g8 g4 |
g2 r4|
% 6
r4 g4 g4 |
g2. ~ |
g2 r4 |
% 9
r4 g4 g4 |
g8 g4. r4 |
% 11
r4
g4 g4 |
g2
% 13
r4 |
g2. |
}
SopranoLyrics = \lyricmode {
This phrase is the nor -- mal bit.
Here the sop -- ra -- no di -- vides.
I sing low __
Sop -- ra -- no words.
Yeah!
}
SopranoFourLyrics = \lyricmode {
and I sing la -- ter.
}
AltoLyrics = \lyricmode {
This phrase is the nor -- mal bit.
Here the sop -- ra -- no di -- vides.
I am bored. __
I am so -- lo.
Al -- to words.
Yeah!
}
AltoOneLyrics = \lyricmode {
}
\score {
<<
\new ChoirStaff
<<
\new Staff = "soprano"
<<
\global
\new Voice="v1"
{
\set Staff.shortInstrumentName = "S"
\set Staff.instrumentName = "Soprano"
\clef "treble"
\Soprano
}
\new NullVoice = "SopranoAligner" \SopranoAligner
\new Lyrics \lyricsto "SopranoAligner" \SopranoLyrics
\new Lyrics \with { alignAboveContext = #"soprano" } \lyricsto "SopranoFour" { \SopranoFourLyrics }
>>
\new Staff = "alto"
<<
\global
\new Voice="v2"
{
\set Staff.shortInstrumentName = "A"
\set Staff.instrumentName = "Alto"
\clef "treble"
\Alto
}
\new NullVoice = "AltoAligner" \AltoAligner
\new Lyrics \lyricsto "AltoAligner" \AltoLyrics
>>
>>
>>
}
\paper{
ragged-last-bottom = ##t
system-system-spacing =
#'((basic-distance . 20) (minimum-distance . 0) (padding . 5))
}
On 9 Apr 2022, at 17:28, Martin Baker <martinbaker32@mac.com> wrote:
Hello. I am type-setting a choral piece and there is a need for occasional divisi within a part. In the example code below, I want all the lyrics to align horizontally - at the moment when moving from unison to divisi the lyrics interfere with each other and are pushed up or down. In most divisi sections the lyrics need only to be under the stave, but not always, as in the soprano bb 7 & 8.
I have tried an option where only one new voice is created for each divisi, but then the stemming becomes a problem. I want the stems to be as in this example - when a part divides the upper part should be stems up and the lower part stems down.
Thank you for any help. Martin
\version "2.20.0"
\language "english"
#(set-default-paper-size "a4")#(set-global-staff-size 16.2)
global = \transpose c c {\key bf \major\time 3/4\skip 1*3/4*13\bar "|."}
Soprano = \relative c''{g4 g4 g8 g8 |g8 g8 g2 \breathe |<<\new Voice = SopranoOne{\voiceOned'4. d8 d4 |d4. d8 d4 |d2 r4 |R1*3/4 |r8 d8 d4 d4 |d8 d4.}
\new Voice = SopranoTwo{\voiceTwobf4. bf8 bf4 |bf4. bf8 bf4 |bf2 r4 |r4 bf4 bf4 |bf2.~ |bf2}\oneVoice>>
r4 |R1*3/4 |R1*3/4 |r8
<<\new Voice = SopranoOne{\voiceOneg'8 g4 g4 |g2}\new Voice = SopranoThree{\voiceTwod8 d4 d4 |d2}\oneVoice>>
r4 |g,2. |}
Alto = \relative c''{% 1g4 g4 g8 g8 |g8 g8 g2 \breathe |% 3g4. g8 g4 |g4. g8 g4 |g2 r4|% 6r4 g4 g4 |g2. ~ |g2 r4 |% 9r4 g4 g4 |g8 g4. r4 |% 11r4<<\new Voice = AltoOne{\voiceOnebf4 bf4|bf2}\new Voice = AltoTwo{\voiceTwog4 g4 |g2}\oneVoice>>% 13r4 |g2. |}
SopranoLyrics = \lyricmode {This phrase is the nor -- mal bit. Yeah!}
SopranoOneLyrics = \lyricmode {_ _ _ _ _ _ _ and I sing la -- ter.}
SopranoTwoLyrics = \lyricmode {Here the sop -- ra -- no di -- vides.I sing low __}
SopranoThreeLyrics = \lyricmode {Sop -- ra -- no words.}
AltoLyrics = \lyricmode {This phrase is the nor -- mal bit.Here the sop -- ra -- no di -- vides.I am bored. __I am so -- lo.Yeah!}
AltoOneLyrics = \lyricmode {Al -- to words.}
\score {<<\new ChoirStaff<<\new Staff = "soprano"<<\global\new Voice="v1"{\set Staff.shortInstrumentName = "S"\set Staff.instrumentName = "Soprano"\clef "treble"\Soprano}\new Lyrics \lyricsto "v1" { \SopranoLyrics }\new Lyrics \with { alignAboveContext = #"soprano" } \lyricsto "SopranoOne" { \SopranoOneLyrics }\new Lyrics \lyricsto "SopranoTwo" { \SopranoTwoLyrics }\new Lyrics \lyricsto "SopranoThree" { \SopranoThreeLyrics }>>\new Staff = "alto"<<\global\new Voice="v2"{\set Staff.shortInstrumentName = "A"\set Staff.instrumentName = "Alto"\clef "treble"\Alto}\new Lyrics \with { alignBelowContext = #"alto" } \lyricsto "v2" { \AltoLyrics }\new Lyrics \with { alignBelowContext = #"alto" } \lyricsto "AltoOne" { \AltoOneLyrics }>>
>>>>}
\paper{ragged-last-bottom = ##tsystem-system-spacing =#'((basic-distance . 20) (minimum-distance . 0) (padding . 5))}
[Prev in Thread] | Current Thread | [Next in Thread] |