2

私は近いと思いますが、リズムのバリエーションを歌詞で近似できるように、隠れた声に合わせて1つのスタンザで2つのスタンザを進めることはできないようです.

melody = \relative c' {
  \clef treble
  \key c \major
  \time 4/4
  c4 d e f | g f e d |

  <<
 \new Voice = "shown" {
  \relative c' { 
  c4 d c d | e f g2
     }
    }  

  \new Voice = "hidden" {
   \hide { 
  c'8 c d d c c d d | e f g2
     }
    }
  >>
}

text =  \lyricmode {
   Here we have a | li -- tle si -- lly

  <<
    {
      \set stanza = #"1. "
      Si -- lly li -- tle | al -- pha -- bet

    \new Lyrics {
      \set associatedVoice = "hidden"
      \set stanza = #"2. " 
      Si -- ly li -- tle fu -- nny soun -- ding |
      Al -- pha -- bet song.
        }
    }
  >>
  }

\score {
  <<
    \new Voice = "one" { \melody }
    \new Lyrics \lyricsto "one" \text
  >>

  \layout { }
  \midi { }
}

上記は両方の声を示しており、「関連付けられた」(または関連付けられていない) 歌詞は示していません。

4

2 に答える 2

6

NullVoice次のようにコンテキストを使用できます。

\version "2.19.15"
\language "english"

\score {
  \new Staff
  <<
    \new Voice = "displayedMusic" \relative c'' {
      b8 c d \times 2/3 {c16 d c}
      b8 a g a
      bf c bf \times 2/3 {a16 bf a}
      g8 f g a
      bf f' e a,
      d cs4.~
      cs1
    }

    \new NullVoice = "hiddenMusic"
    {
      c4 d e f %\break
      g a b8~ b c4 \break
      d e f g a
    }
    \new Lyrics \lyricsto "hiddenMusic" {
      Those words seem to be aligned to the hidden melody or are they?
    }
  >>
}

結果は次のようになります。

楽譜の抜粋

于 2015-01-05T23:31:24.493 に答える
2

わかった。私が学んだlilypond メーリングリストから:

まず、\hide ではなく、\hideNotes を使用する必要があります。また、上記の構造はまったく機能しません。通常、歌詞のコンテキストを途中から開始するよりも、最初からすべての歌詞のコンテキストを実行する方が簡単です。それらは音符から位置を取得します。これを行う 1 つの方法を次に示しますが、この特定のケースでは、スタンザ番号が完全に適合しません。

melody = \relative c' {
  \clef treble
  \key c \major
  \time 4/4
  c4 d e f | g f e d |

  <<
    \new Voice = "shown" {
      \relative c' { 
        c4 d c d | e f g2
      }
    }  

    \new Voice = "hidden" {
      \hideNotes {                  % !!
        c'8 c d d c c d d | e f g2
      }
    }
  >>
}

text =  \lyricmode {
   Here we have a | li -- tle si -- lly
}

wordsOne = \lyricmode {
  \set stanza = #"1. "
  Si -- lly li -- tle | al -- pha -- bet
}

wordsTwo = \lyricmode {
  \set stanza = #"2. " 
  Si -- ly li -- tle fu -- nny soun -- ding |
  Al -- pha -- bet song.
}

\score {
  <<
    \new Voice = "one" { \melody }
    \new Lyrics \lyricsto "one" \text
    \new Lyrics \lyricsto "shown" \wordsOne
    \new Lyrics \lyricsto "hidden" \wordsTwo
  >>

  \layout { }
  \midi { }
}
于 2014-12-11T07:07:20.563 に答える