Escriptura de música en paral·lel

La música per diverses parts es pot intercalar dins del codi d’entrada. La funció \parallelMusic admet una llista que conté els noms de les variables que es crearan, i una expressió musical. El contingut dels compassos alternatius estrets de l’expressió es converteixen en el valor de les variables respectives, de manera que podem utilitzar-les més tard per imprimir la música.

Nota: És obligatori utilitzar comprovacions de compàs |, y els compassos han de tenir la mateixa longitud.

\parallelMusic voiceA,voiceB,voiceC {
  % Bar 1
  r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
  r16 e'8.~   4              r16 e'8.~   4              |
  c'2                        c'2                        |

  % Bar 2
  r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
  r16 d'8.~   4              r16 d'8.~   4              |
  c'2                        c'2                        |

}
\new StaffGroup <<
  \new Staff << \voiceA \\ \voiceB >>
  \new Staff { \clef bass \voiceC }
>>

[image of music]

Es pot fer servir el mode relatiu. Observeu que l’ordre \relative no s’utilitza dins del propi bloc \parallelMusic. Les notes mantenen la relació amb la nota anterior de la mateixa veu, no amb la nota anterior dins del codi d’entrada (dit d’una altra manera, les notes relatives de voiceA ignoren les notes que hi ha a voiceB.

\parallelMusic voiceA,voiceB,voiceC {
  % Bar 1
  r8 g16 c e g, c e r8 g,16 c e g, c e  |
  r16 e8.~ 4        r16 e8.~  4         |
  c2                c                   |

  % Bar 2
  r8 a,16 d f a, d f r8 a,16 d f a, d f |
  r16 d8.~  4        r16 d8.~  4        |
  c2                 c                  |

 }
\new StaffGroup <<
  \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
  \new Staff \relative c' { \clef bass \voiceC }
>>

[image of music]

Això funciona acceptablement bé per a música de piano. L’exemple següent assigna cada quatre compassos consecutius a quatre variables:

global = {
  \key g \major
  \time 2/4
}

\parallelMusic voiceA,voiceB,voiceC,voiceD {
  % Compàs 1
  a8    b     c   d     |
  d4          e         |
  c16 d e fis d e fis g |
  a4          a         |

  % Compàs 2
  e8      fis  g     a   |
  fis4         g         |
  e16 fis g  a fis g a b |
  a4           a         |

  % Compàs 3 ...
}

\score {
  \new PianoStaff <<
     \new Staff {
       \global
       <<
         \relative c'' \voiceA
         \\
         \relative c'  \voiceB
       >>
     }
     \new Staff {
       \global \clef bass
       <<
         \relative c \voiceC
         \\
         \relative c \voiceD
       >>
     }
  >>
}

[image of music]

Vegeu també

Manual d’aprenentatge: Organitzar les peces mitjançant variables

Fragments de codi: Simultaneous notes.


Referència de la notació del GNU LilyPond v2.25.15 (branca de desenvolupament).