2

I'm transcribing a song in which two verses have slightly differing notes. I decided to use \set associatedVoice to achieve this. It partly works but I'm having trouble getting the final words of the second stanza to appear:

lilypond

The conclusion of the lyric of verse 2 should be "... and it slows and ends." I can't figure how why "and ends" isn't appearing. I'd appreciate any help. Here's the lilypond code of this MWE:

\version "2.19.12"
\language english

global = {
  \clef treble
  \key c \major
  \time 4/4
  \tempo 4=120
}

vocalNotes = \relative c' {
  \global
  c4 d e f | %1
  g a
  << {\voiceOne b16 c d e }
     \new Voice = "alternative" {\autoBeamOff \voiceTwo b4 } >>
  d4 | %2
  c1 | %3
}

textVerseOne = \lyricmode {
  \set stanza = #"1. "
  This is a text. | %1
  Here it goes ver -- y fast and | %2
  ends. | %3
}

textVerseTwo = \lyricmode {
  \set stanza = #"2. "
  A se -- cond text, | %1
  and it \set associatedVoice = "alternative" slows
  \set associatedVoice = "vocalMelody" and | %2
  ends. | %3
}

\score {
  <<
  \new Voice = "vocalMelody" {\autoBeamOff \vocalNotes }
  \new Lyrics \lyricsto "vocalMelody" \textVerseOne
  \new Lyrics \lyricsto "vocalMelody" \textVerseTwo
  >>
  }
2

Well, the \set associatedVoice = "vocalMelody" is scheduled to happen when the next associated note is played and there is no next associated note in the Voice = "alternative" any more. Maybe you are better off doing this as a melisma on "vocalMelody" here.

  • The case I'm trying to solve is more complicated than a melisma could address, unfortunately! I'm struggling to understand the situation here--why doesn't \set associatedVoice = "vocalMelody" at the end of m2 just switch the text back over to the vocalMelody variable beginning at m3? -s – Steven Arntson Sep 18 '15 at 16:18
1

I don't understand why your idea doesn't work, but you can use \skip instead of \set associatedVoice. They syntax is a bit illogical - \skip must be followed by a note duration, but when you use \lyricsto the duration is ignored and it skips one note.

\version "2.18"
\language english

global = {
  \clef treble
  \key c \major
  \time 4/4
  \tempo 4=120
}

vocalNotes = \relative c' {
  \global
  c4 d e f | %1
  g a
  << {\voiceOne b16 c d e }
     \new Voice = "alternative" {\autoBeamOff \voiceTwo b4 } >>
  d4 | %2
  c1 | %3
}

textVerseOne = \lyricmode {
  \set stanza = #"1. "
  This is a text. | %1
  Here it goes ver -- y fast and | %2
  ends. | %3
}

textVerseTwo = \lyricmode {
  \set stanza = #"2. "
  A se -- cond text, | %1
  and it slows \skip16 \skip16 \skip16 and | %2
  ends. | %3
}

\score {
  <<
  \new Voice = "vocalMelody" {\autoBeamOff \vocalNotes }
  \new Lyrics \lyricsto "vocalMelody" \textVerseOne
  \new Lyrics \lyricsto "vocalMelody" \textVerseTwo
  >>
  }

If all else fails, you can use \lyricmode instead of \lyricsto, and append a duration to the syllables in the same way as for notes. You can then use \associated voice to get the syllables centred under the notes.

\version "2.18"
\language english

global = {
  \clef treble
  \key c \major
  \time 4/4
  \tempo 4=120
}

vocalNotes = \relative c' {
  \global
  c4 d e f | %1
  g a
  << {\voiceOne b16 c d e }
     \new Voice = "alternative" {\autoBeamOff \voiceTwo b4 } >>
  d4 | %2
  c1 | %3
}

textVerseOne = \lyricmode {
  \set stanza = #"1. "
  \set associatedVoice = "vocalMelody"
  This4 is a text. | %1
  Here it goes16 ver -- y fast and4 | %2
  ends.1 | %3
}

textVerseTwo = \lyricmode {
  \set stanza = #"2. "
  \set associatedVoice = "vocalMelody"
  A4 se -- cond text, | %1
  and it
  \set associatedVoice = "alternative" slows4
  \set associatedVoice = "vocalMelody" and | %2
  ends.1 | %3
}

\score {
  <<
  \new Voice = "vocalMelody" {\autoBeamOff \vocalNotes }
  \new Lyrics \textVerseOne
  \new Lyrics \textVerseTwo
  >>
  }
  • Yes, \skip can be useful, and I do use it at times. The situation I'm trying to solve here, though, is complex in ways not captured by my MWE, so I'm hoping to get to a solution that uses instantiation of a new voice to help make the resulting output clear to a reader. – Steven Arntson Sep 18 '15 at 16:21
  • 1
    Personally, I usually use \lyricmode with explicit syllable lengths. it's a bit more typing, but it always does what it says on the tin. – user19146 Sep 18 '15 at 16:39
  • It took a little doing, but this solved my issue! Switching over to \lyricmode and adding all the syllable lengths did it -- now my associatedVoice construct works as I'd hoped. Thank you! If you want to write it up as an answer, I'll happily accept it. – Steven Arntson Sep 18 '15 at 22:11

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.