Есть ли более простой способ записать этот отрывок в LilyPond?

введите описание изображения здесь

<< <des f aes c g' bes>1 \arpeggio { <<c''1 {f4. (c8 c2)} >> } >>

Кажется слишком сложным сделать это в LilyPond. Как мне это сделать?

Ответы (1)

Я не совсем уверен, в чем ваш вопрос, но я бы лично сделал это так:

\version "2.19.81"
\language "english"

global = {
  \key c \minor
  \numericTimeSignature \time 4/4
}

right = \relative c'' {
  \global

  <<
    {
      f'4.\(\arpeggio c8 c2\)~ |
      c1 |
      ef4.\arpeggio bf8 bf2~ |
      bf1 |
      s |
      s |
    }
    \\
    {
      <df,,~ f~ af~ c~ g'~ bf~ c>1\arpeggio |
      <df f af c g' bf> |
      <c~ ef~ g~ bf~ f'~ af~ bf>\arpeggio |
      <c ef g bf f' af> |
      <c~ f~ bf~ ef~ af~ df>\arpeggio |
      <c f bf ef af ef'>
    }
  >>
}

left = \relative c, {
  \global

  s1 |
  s |
  s |
  s |
  s |
  s |
}

\score {
  \new PianoStaff <<
    \set PianoStaff.connectArpeggios = ##t
    \new Staff = "right" \right
    \new Staff = "left" { \clef bass \left }
  >>
  \layout { }
}

введите описание изображения здесь

Несколько заметок:

  1. Я разделил скрипичный нотоносец на два голоса: целые ноты и самую верхнюю строку. Похоже, вы делали что-то подобное, но немного по-другому.
  2. Чтобы соединить их оба с помощью \arpeggio, я вставил \set PianoStaff.connectArpeggios = ##tв \scoreблок.
  3. Мои галстуки в последних двух измерениях выглядят иначе, чем ваши. Это по нескольким причинам, одна из которых заключается в том, что я связал две bf1буквы вместе. (Вы этого не сделали, но вы можете этого не захотеть, поэтому не стесняйтесь изменить это.)

Иногда работа с несколькими голосами может быть сложной задачей в LilyPond. Но чем больше вы это делаете, тем легче становится. Продолжайте работать над этим!