3

Having this code :

\version "2.19.55"
\language "italiano"

soloistsMelody = \relative do'' {
  \time 2/4
  <mi la>16 <sol re>16 <fa do>16 <sol re>16<mi la>8 <mi la>8 si4\rest
}

soloistsWords = \lyricmode {
  Por tu~in -- men -- sa glo -- ria 
}

womenMelody = \relative do' {
  \time 2/4
  <sol' si>2 (<mi la>4) si'8\rest
}

womenWords = \lyricmode {
  Ah __ 
}

\score {
  \new ChoirStaff <<

    \new Voice = "soloists" {
      \voiceOne
      \soloistsMelody
    }

    \new Lyrics = "soloistslyrics"

    \new Voice = "womenvoice" {
      \womenMelody
    }

    \new Lyrics = "womenlyrics"

    \context Lyrics = "soloistslyrics" {
      \lyricsto "soloists" {
        \soloistsWords
      }
    }

    \context Lyrics = "womenlyrics" {
      \lyricsto "womenvoice" {
        \womenWords
      }
    }
  >>

}

I expected to have this kind of result

enter image description here

(I obtained this result by deleting the soloist voice) but I have this :

actual result.

As you can see, the melisma doens't go to the next note and it only happens when I have another voice singing during it.

2

Your code works nicely in LilyPond 2.18.2; perhaps there is a bug in the development version.

2.18 version

Unrelated to the question asked, but you can also slim down the code in your \score block slightly:

\version "2.18.2"
\language "italiano"

soloistsMelody = \relative do'' {
  \time 2/4
  <mi la>16 <sol re>16 <fa do>16 <sol re>16<mi la>8 <mi la>8 si4\rest
}

soloistsWords = \lyricmode {
  Por tu~in -- men -- sa glo -- ria 
}

womenMelody = \relative do' {
  \time 2/4
  <sol' si>2 (<mi la>4) si'8\rest
}

womenWords = \lyricmode {
  Ah __ 
}

\score {
  \new ChoirStaff <<

    \new Voice = "soloists" {
      \voiceOne
      \soloistsMelody
    }

    \new Lyrics = "soloistslyrics" \lyricsto "soloists" {
      \soloistsWords
    }

    \new Voice = "womenvoice" {
      \womenMelody
    }

    \new Lyrics = "womenlyrics" \lyricsto "womenvoice" {
      \womenWords
    }
  >>

}
  • I think they patched it indeed because now it works with 2.19.58 (I needed it because in a previous question my problem was that 2.18.2 was the problem...-_-) – Lhooq Mar 29 '17 at 11:47
1

You write stuff like

\new Lyrics = "soloistslyrics"

\new Voice = "womenvoice" {
  \womenMelody
}

which means to start a lyrics context "soloistslyrics" inside of which you start a new Voice "womenvoice" with the content \womenMelody. Into this existing Lyrics context you later hook with \context "soloistslyrics" and add additional material.

However, the overall timing of "soloistslyrics" already contains all of the timing of \womenMelody even though the resulting output is redirected away into a Voice context. Since you added additional time points to the time track of "soloistslyrics", those time points end the melisma early.

You cannot write \new Lyrics = "soloistslyrics" without following it up with a music expression, and the \new Voice ... is a really bad idea for that.

Probably even {} would be better, but all in all you'd better rearrange your input where you don't separate context starts with context content in that manner.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.