lilypond-user
[Top][All Lists]
Advanced

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

Re: Odd note placement


From: tisimst
Subject: Re: Odd note placement
Date: Wed, 13 May 2015 08:46:58 -0700 (MST)

Guy,

On Tue, May 12, 2015 at 10:16 PM, Guy Stalnaker-2 [via Lilypond] <[hidden email]> wrote:
All,

I cannot figure out why LP is doing this. The snippet is below. Note the second to last blank measure and the following measure with the b-flat, a "chord" which should not be a chord. The two notes should not be simultaneous. The "problem" seems to be the Lyrics added to the temporary polyphonic context "soptwomusic" - if they are removed, the final two pitches are engraved correctly in two separate measure. Add the Lyrics and you see the result. You do see the result, don't you? :-)

I'm using LP 2.19 with Frescobalci 2.18.x. on a Win7 computer.

<code>
\version "2.18.2"
\language "english"

\paper {
  #(set-paper-size "letter")
}

global = {
  \key d \major
  \numericTimeSignature
  \autoBeamOff
}

% soprano music here

sopranomusic = {
  \global
  \time 3/4
  <<
    {
      \voiceOne
      fs''4 fs'' fs'' |
      a'2. |
      b''4 b'' b'' |
      c'''2. |
    }
    { \new Voice
      {
        \voiceTwo
        ds''4 ds'' ds'' |
        a'2. |
        fs''4 fs'' fs'' |
        a''2. |
      }
    }
  >> \oneVoice
  c''4 g'8 c' g'
  <<
    {
      \voiceOne
      c''8 |
      b'2. |
    }
    { \new Voice = "soptwomusic"
      {
        \voiceTwo
        c''8 |
        g'4 f' e' |
      }
    } \new Lyrics = "soptwomusic" \lyricsto "soptwomusic" {
      Al -- le -- lu -- ia
    }
  >> \oneVoice   
  bf'2. |
  a' |
}

sopranowords = \lyricmode {
  Al -- le -- lu -- ia,
  Al -- le -- lu -- ia,
  Al -- le -- lu -- ia,  
  Al -- le -- lu -- ia,  
}

sopranoStaff = {
  \new Staff { \sopranomusic }
  \addlyrics { \sopranowords }
}

\score {
  \new ChoirStaff << 
    \sopranoStaff
  >> 
  \layout {  }
  \midi {
    \tempo 4=100
  }
}
</code>

Thanks.

Please reply to both me and the list.

Guy Stalnaker

This is, indeed, a strange bug. My only guess is that LP is having a hard time differentiating between voices since they are partially implicit and the main lyrics are implicitly attached, too. Just a guess, though. 

FYI, this bug doesn't happen in the latest unstable, but here's what you can (should?) do to make it work "normally" with 2.18.2: move the temporary soprano two lyrics out to the staff-level and make the soprano one voice more explicit, like this:

<code>
\version "2.18.2"
\language "english"

\paper {
  #(set-paper-size "letter")
}

global = {
  \key d \major
  \numericTimeSignature
  \autoBeamOff
}

% soprano music here

sopranomusic = {
  \global
  \time 3/4
  <<
    {
      \voiceOne
      fs''4 fs'' fs'' |
      a'2. |
      b''4 b'' b'' |
      c'''2. |
    } 
    { \new Voice 
      {
        \voiceTwo 
        ds''4 ds'' ds'' |
        a'2. |
        fs''4 fs'' fs'' |
        a''2. |
      }
    }
  >> \oneVoice 
  c''4 g'8 c' g' 
  << 
    {
      \voiceOne
      c''8 |
      b'2. |
    }
    { \new Voice = "soptwomusic"
      {
        \voiceTwo
        c''8 |
        g'4 f' e' |
      }
    }
  >> \oneVoice    
  bf'2. |
  a' |
}

sopranowords = \lyricmode {
  Al -- le -- lu -- ia, 
  Al -- le -- lu -- ia, 
  Al -- le -- lu -- ia,   
  Al -- le -- lu -- ia,   
}

sopranoStaff = <<
  % make the soprano one voice explicit here
  \new Voice = "soponemusic" { \sopranomusic }
  
  % make the lyrics explicitly assigned
  \new Lyrics \lyricsto "soponemusic" { \sopranowords } 
  \new Lyrics \lyricsto "soptwomusic" { Al -- le -- lu -- ia }
>>

\score {
  \new ChoirStaff <<  
    \sopranoStaff
  >>  
  \layout {  }
  \midi {
    \tempo 4=100
  }
</code>

I've found that putting lyrics outside and doing explicit assignments like this always seems to help, but like I said above, you can do exactly what you've coded in the latest unstable and it works like you expect it to.

- Abraham


View this message in context: Re: Odd note placement
Sent from the User mailing list archive at Nabble.com.

reply via email to

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