1.5.2 Veus múltiples

Aquesta secció tracta de les notes simultànies en diverses veus o diversos pentagrames.


Polifonia en un sol pentagrama

Instanciar les veus explícitament

L’estructura bàsica necessària per obtenir diverses veus independents a un mateix pentagrama s’il·lustra a l’exemple següent:

\new Staff <<
  \new Voice = "primera"
    \relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d }
  \new Voice= "segona"
    \relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>

[image of music]

Aquí es creen explícitament instàncies de veus, cadascuna de les quals rep un nom. Les instruccions \voiceOne\voiceFour (veu una fins a veu quatre) preparen les veus de manera que la primera i la segona veus porten les pliques cap amunt, les veus segona i quarta porten les pliques cap avall, els caps de les notes en les veus tercera i quarta es desplacen horitzontalment, i els silencis de les veus respectives es desplacen també automàticament per evitar les col·lisions. L’ordre \oneVoice (una veu) retorna tots els ajustaments de les veus a l’estat neutre predeterminat.

Passatges polifònics temporals

Es pot crear un passatge polifònic temporal amb la construcció següent:

<< { \voiceOne … }
  \new Voice { \voiceTwo … }
>> \oneVoice

Aquí, la primera expressió dins d’un passatge polifònic temporal es col·loca al context Voice que estava en ús immediatament abans del passatge polifònic, i aquest mateix context Voice continua després de la secció temporal. Altres expressions dins dels angles s’assignen a diferents veus temporals. Això permet assignar la lletra de forma contínua a una veu abans, durant i després de la secció polifònica:

\relative <<
  \new Voice = "melodia" {
    a'4
    <<
      {
        \voiceOne
        g f
      }
      \new Voice {
        \voiceTwo
        d2
      }
    >>
    \oneVoice
    e4
  }
  \new Lyrics \lyricsto "melodia" {
  This is my song.
  }
>>

[image of music]

Aquí, les instruccions \voiceOne i \voiceTwo calen per definir els ajustaments de cada veu.

La construcció de la doble barra invertida

La construcció << {…} \\ {…} >>, en la qual dues expressions (o més) estan separades per doble barra invertida, es comporta de manera diferent a la construcció semblant sense les doble barres invertides: totes les expressions dins d’aquesta construcció s’assignen a contextos Voice nous. Aquests contextos Voice nous es creen implícitament i reben els noms fixos "1", "2", etc.

El primer exemple podria haver-se escrit de la manera següent:

<<
  \relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d }
  \\
  \relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>

[image of music]

Aquesta sintaxi es pot usar sempre que no ens importi que es creïn noves veus temporals que després seran descartades. Aquestes veus creades implícitament reben ajustos equivalents a l’efecte de les ordres \voiceOne\voiceFour, a l’ordre que apareixen al codi.

Al següent exemple, la veu intermèdia porta les pliques cap amunt, de manera que la introduïm en tercer lloc perquè passi a ser la veu tres, que té les pliques cap amunt tal i com volem. S’usen silencis de separació per evitar l’aparició de silencis duplicats.

<<
  \relative { r8 g'' g  g g f16 ees f8 d }
  \\
  \relative { ees'8 r ees r d r d r }
  \\
  \relative { d''8 s c s bes s a s }
>>

[image of music]

A totes les partitures excepte les més simples, es recomana crear contextos Voice explícits com apareix explicat a Contextos i gravadors i a Veus explícites.

Ordre de les veus

En escriure diverses veus al fitxer d’entrada, useu l’ordre següent:

Veu 1: la més aguda
Veu 2: la més greu
Veu 3: la segona més aguda
Veu 4: la segona més greu
Veu 5: la tercera més aguda
Veu 6: la tercera més greu
etc.

Malgrat que això pot semblar contrari a la intuïció, simplifica el procés de disposició automàtica de les figures. Observeu que les veus de numeració imparell reben pliques cap amunt, i les de numeració parell reben pliques cap avall:

\new Staff <<
  \time 2/4
  { f''2 }  % 1: més alta
  \\
  { c'2  }  % 2: més baixa
  \\
  { d''2 }  % 3: segona més alta
  \\
  { e'2  }  % 4: segona més baixa
  \\
  { b'2  }  % 5: tercera més alta
  \\
  { g'2  }  % 6: tercera més baixa
>>

[image of music]

Nota: No es poden crear lletres ni elements d’extensió (com lligadures, reguladors, etc.) que es creuen d’una veu a una altra.

Duracions idèntiques

Al cas especial en el qual volem gravar fragments de música que s’executa en paral·lel i amb les mateixes duracions, es poden combinar en un sol context de veu, formant d’aquesta manera acords. Per aconseguir-lo, les incorporem dins d’una construcció de música simultània, dins d’una veu creada explícitament.

\new Voice <<
  \relative { e''4 f8 d e16 f g8 d4 }
  \relative { c''4 d8 b c16 d e8 b4 }
>>

[image of music]

Aquest mètode condueix a barrats estranys i advertiments si els fragments de música no tenen les mateixes duracions exactes.

Instruccions predefinides

\voiceOne, \voiceTwo, \voiceThree, \voiceFour, \oneVoice.

Vegeu també

Manual d’aprenentatge: Les veus contenen música, Veus explícites.

Referència de la notació: Pautes de percussió, Silencis invisibles, Pliques.

Fragments de codi: Simultaneous notes.


Estils de veu

Es poden aplicar colors i formes diferents a les veus per permetre identificar-les fàcilment:

<<
  \relative { \voiceOneStyle d''4 c2 b4 }
  \\
  \relative { \voiceTwoStyle e'2 e }
  \\
  \relative { \voiceThreeStyle b2. c4 }
  \\
  \relative { \voiceFourStyle g'2 g }
>>

[image of music]

Per recuperar la presentació normal s’utilitza l’ordre \voiceNeutralStyle.

Instruccions predefinides

\voiceOneStyle, \voiceTwoStyle, \voiceThreeStyle, \voiceFourStyle, \voiceNeutralStyle.

Vegeu també

Manual d’aprenentatge Sento veus, Altres fonts d'informació

Fragments de codi: Simultaneous notes.


Resolució de les col·lisions

Els caps de notes que estan a diferents veus i tenen la mateixa alçada, la mateixa forma de cap, i direcció oposada a la plica, es combinen automàticament, però els que tenen caps diferents o la mateixa direcció de plica no es combinen. Els silencis que es troben al costat oposat d’una plica a una altra veu es desplacen verticalment. L’exemple següent mostra tres circumstàncies diferents, sobre la pulsació 1 i 3 al primer compàs i sobre la pulsació 1 del segon compàs, on la combinació automàtica falla.

<<
  \relative {
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

Els caps de notes diferents es poden com binar com es mostra més a sota. A aquest exemple els caps de la pulsació 1 del primer compàs sí que es combinen:

<<
  \relative {
    \mergeDifferentlyHeadedOn
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

Les figures negres i blanques no es combinen d’aquesta manera, atès que fora difícil distingir-les.

També es poden combinar caps amb puntets diferents, com es mostra a la tercera pulsació del primer compàs:

<<
  \relative {
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

La blanca i la corxera al començament del segon compàs no estan correctament combinades perquè la combinació automàtica no és capaç de completar-se satisfactòriament quan es troben tres o més notes alineades a la mateixa columna de notes, i en aquest cas el cap combinat és incorrecte. Per aconseguir que la combinació seleccioni el cap correcte, s’ha d’aplicar un \shift o desplaçament a la nota que no es pot combinar. Aquí s’aplica \shiftOn per moure el sol agut fora de la columna, i aleshores \mergeDifferentlyHeadedOn fa el seu treball correctament.

<<
  \relative {
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    c''8 d e d c d c4
    \shiftOn
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

L’ordre \shiftOn permet (tot i que obliga a) que les notes d’una veu es puguin desplaçar. Quan \shiftOn s’aplica a una veu, una nota o acord d’aquesta veu es desplaça solament si la seva plica xoqués en cas contrari amb una plica d’una altra veu, i sols si les pliques que xoquen apunten cap a la mateixa direcció. L’ordre \shiftOff evita la possibilitat d’aquest tipus de desplaçament.

De forma predeterminada, les veus externes (normalment les veus u i dos) tenen \shiftOff especificat (desplaçament desactivat), mentre que les veus interiors (tres i següents) tenen especificat \shiftOn (desplaçament activat). Quan s’aplica un desplaçament, les veus amb pliques cap amunt (veus de numeració imparell) es desplacen cap a la dreta, i les veus amb les pliques cap avall (veus amb numeració parell) es desplacen cap a l’esquerra.

Aquí es pot veure un exemple que us ajudarà a visualitzar la forma en la qual s’expandirà internament una expressió polifònica.

Nota: Observeu que amb tres o més veus, l’ordre vertical de les veus dins del seu fitxer d’entrada no seria el mateix que l’ordre vertical de les veus al pentagrama.

\new Staff \relative {
  %% abbreviated entry
  <<
    { f''2  }  % 1: highest
    \\
    { g,2 }  % 2: lowest
    \\
    { d'2 }  % 3: upper middle
    \\
    { b2  }  % 4: lower middle
  >>
  %% internal expansion of the above
  <<
    \new Voice = "1" { \voiceOne   \shiftOff f'2 }
    \new Voice = "2" { \voiceTwo   \shiftOff g,2 }
    \new Voice = "3" { \voiceThree \shiftOn  d'2 } % shifts right
    \new Voice = "4" { \voiceFour  \shiftOn  b2  } % shifts left
  >>
}

[image of music]

Dues ordres addicionals, \shiftOnn i \shiftOnnn, ofereixen nivells de desplaçament majors que es poden especificar temporalment per resoldre col·lisions en situacions complexes; vegeu Exemple real de música.

Sols es combinen les notes si tenen les pliques en direccions oposades (com la tenen, per exemple, a les veus u i dos de forma predeterminada o quan les pliques s’estableixen explícitament en direccions oposades).

Instruccions predefinides

\mergeDifferentlyDottedOn, \mergeDifferentlyDottedOff, \mergeDifferentlyHeadedOn, \mergeDifferentlyHeadedOff.

\shiftOn, \shiftOnn, \shiftOnnn, \shiftOff.

Fragments de codi seleccionats

Additional voices to avoid collisions

In some instances of complex polyphonic music, additional voices are necessary to prevent collisions between notes. If more than four parallel voices are needed, additional voices can be added by defining a variable using the Scheme function context-spec-music.

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

\relative c'' {
  \time 3/4
  \key d \minor
  \partial 2
  <<
    \new Voice  {
      \voiceOne
      a4. a8
      e'4 e4. e8
      f4 d4. c8
    }
    \new Voice {
      \voiceTwo
      d,2
      d4 cis2
      d4 bes2
    }
    \new Voice {
      \voiceThree
      f'2
      bes4 a2
      a4 s2
    }
    \new Voice {
      \voiceFive
      s2
      g4 g2
      f4 f2
    }
  >>
}

[image of music]

Forcing horizontal shift of notes

When the typesetting engine cannot cope, the following syntax can be used to override typesetting decisions. The units of measure used here are staff spaces.

\relative c' <<
  {
    <d g>2 <d g>
  }
  \\
  {
    <b f'>2
    \once \override NoteColumn.force-hshift = #1.7
    <b f'>2
  }
>>

[image of music]

Vegeu també

Glossari musical: polyphony.

Manual d’aprenentatge: Diverses notes a l'hora, Les veus contenen música. Exemple real de música.

Fragments de codi: Simultaneous notes.

Referència de funcionament intern: NoteColumn, NoteCollision, RestCollision.

Advertiments i problemes coneguts

L’ús de \override NoteColumn.ignore-collision = ##t fa que les notes de cap diferent a veus diferents es barregin incorrectament.

\mergeDifferentlyHeadedOn
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>
\override NoteColumn.ignore-collision = ##t
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>

[image of music]


Combinació automàtica de les parts

La combinació automàtica de particel·les s’usa per barrejar dues parts musicals diferents sobre un pentagrama. Això pot ser de gran ajuda especialment en gravar partitures orquestrals. S’imprimeix una sola veu quan la música de les dues veus és la mateixa, però en aquells llocs on difereixen, s’imprimeix una segona veu. Les direccions de les pliques s’estableixen cap amunt o cap avall segons procedeixi, a l’hora que s’identifiquen i queden marcades les parts de solista i de duo.

La sintaxi per a la combinació automàtica de les parts és:

\partCombine expressió_musical_1 expressió_musical_2

L’exemple següent exemplifica la funcionalitat bàsica, posant les parts en un sol pentagrama en forma polifònica, i establint les direccions de les pliques de forma adequada. S’utilitzen les mateixes variables per a les parts independents i el pentagrama combinat.

instrumentOne = \relative {
  c'4 d e f |
  R1 |
  d'4 c b a |
  b4 g2 f4 |
  e1 |
}

instrumentTwo = \relative {
  R1 |
  g'4 a b c |
  d4 c b a |
  g4 f( e) d |
  e1 |
}

<<
  \new Staff \instrumentOne
  \new Staff \instrumentTwo
  \new Staff \partCombine \instrumentOne \instrumentTwo
>>

[image of music]

Les dues parts tenen notes idèntiques al tercer compàs, per la qual cosa apareixen sols un cop. Les direccions de les pliques i lligadures s’estableixen de forma automàtica, segons es tracti d’un sol o d’un uníson. Quan cal en situacions de polifonia, la primera part (que rep el nom de context one) rep les pliques cap amunt, mentre que la segona part (anomenada two) sempre rep les pliques cap avall. Als fragments de solo, les parts es marquen amb “Solo” i “Solo II”, respectivament. Les parts en uníson (a due) es marquen amb el text “a2”.

De forma predeterminada, el combinador de parts barreja dues notes de la mateixa alçada com una nota a due, combina les notes que tinguin la mateixa duració i estiguin a menys d’una novena distància com acords, i disposa en veus separades les notes que estiguin a més d’una novena de distància (o quan hi ha creuament de veus). Aquest comportament es pot sobreescriure amb un argument opcional que consisteix en una parella de números després de l’ordre \partCombine: el primer especifica l’interval on les notes comencen a estar combinades (el valor predeterminat és zero) i el segon on les notes es divideixen en veus distintes. L’ajust del segon argument al valor zero significa que el combinador de parts separa les notes que estiguin dins d’un interval de segona o més, establir-lo al valor u separa les notes d’una tercera o més, i així successivament.

instrumentOne = \relative {
  a4 b c d |
  e f g a |
  b c d e |
}

instrumentTwo = \relative {
  c'4 c c c |
  c c c c |
  c c c c |
}

<<
  \new Staff \partCombine \instrumentOne \instrumentTwo
  \new Staff \partCombine #'(2 . 3) \instrumentOne \instrumentTwo
>>

[image of music]

Els dos arguments de \partCombine s’interpreten com contextos de Voice separats, per la qual cosa si la música està escrita en mode relatiu, aleshores las dues parts han d’incloure la funció \relative, és a dir:

\partCombine
  \relative … expresión_musical_1
  \relative … expresión_musical_2

Una secció \relative que es troba fora de \partCombine no té cap efecte sobre les notes de expresión_musical_1 i expresión_musical_2.

A les partitures professionals, sovint les veus es mantenen separades entre sí durant passatges llargs fins i tot si algunes notes coincideixen entre ambdues, i podrien escriure’s fàcilment com un uníson. Per això, la combinació de les notes en un acord, o la visualització d’una veu com un solo, no són solucions ideals perquè la funció \partCombine considera cada nota de forma individual. En aquest cas, el resultat de la funció \partCombine es pot alterar o corregir amb una de les ordres següents. Totes les ordres es poden antecedir per \once perquè s’apliquin sols a la nota següent dins de l’expressió musical.

instrumentOne = \relative c' {
  \partCombineApart c2^"apart" e |
  \partCombineAutomatic e2^"auto" e |
  \partCombineChords e'2^"chord" e |
  \partCombineAutomatic c2^"auto" c |
  \partCombineApart c2^"apart" \once \partCombineChords e^"chord once" |
  c2 c |
}
instrumentTwo = \relative {
  c'2 c |
  e2 e |
  a,2 c |
  c2 c' |
  c2 c |
  c2 c |
}

<<
  \new Staff { \instrumentOne }
  \new Staff { \instrumentTwo }
  \new Staff { \partCombine \instrumentOne \instrumentTwo }
>>

[image of music]

Ús de \partCombine amb lletra

L’ordre \partCombine no està dissenyada per funcionar amb la lletra de les cançons; si una de les veus rep un nom explícit per poder adjuntar una lletra, el combinador de parts no funciona. Tanmateix, es pot aconseguir aquest efecte usant un context NullVoice. Vegeu Polifonia amb lletres compartides.

Fragments de codi seleccionats

Combining two parts on the same staff

The part combiner tool ( \partCombine command ) allows the combination of several different parts on the same staff. Text directions such as “solo” or “a2” are added by default; to remove them, simply set the property printPartCombineTexts to f. For vocal scores (hymns), there is no need to add “solo/a2” texts, so they should be switched off. However, it might be better not to use it if there are any solos, as they won’t be indicated. In such cases, standard polyphonic notation may be preferable.

This snippet presents the three ways two parts can be printed on a same staff: standard polyphony, \partCombine without texts, and \partCombine with texts.

%% Combining pedal notes with clef changes

musicUp = \relative c'' {
  \time 4/4
  a4 c4.( g8) a4 |
  g4 e' g,( a8 b) |
  c b a2.
}

musicDown = \relative c'' {
  g4 e4.( d8) c4 |
  r2 g'4( f8 e) |
  d2 \stemDown a
}

\score {
    <<
    \new Staff \with { instrumentName = "Standard polyphony" }

      << \musicUp \\ \musicDown >>

    \new Staff \with {
      instrumentName = "PartCombine without text"
      printPartCombineTexts = ##f
    }

    \partCombine \musicUp \musicDown

    \new Staff \with { instrumentName = "PartCombine with text" }
      \partCombine \musicUp \musicDown
    >>
  \layout {
    indent = 6.0\cm
    \context {
      \Score
      \override SystemStartBar.collapse-height = #30
    }
  }
}

[image of music]

Changing partcombine texts

When using the automatic part combining feature, the printed text for the solo and unison sections may be changed:

\new Staff <<
  \set Staff.soloText = #"girl"
  \set Staff.soloIIText = #"boy"
  \set Staff.aDueText = #"together"
  \partCombine
    \relative c'' {
      g4 g r r
      a2 g
    }
    \relative c'' {
      r4 r a( b)
      a2 g
    }
>>

[image of music]

Vegeu també

Glossari musical: a due, part.

Referència de la notació: Escriptura de les particel·les.

Fragments de codi: Simultaneous notes.

Referència de funcionament intern: PartCombineMusic, Voice.

Advertiments i problemes coneguts

Totes les funcions \partCombine… admeten exclusivament dues veus.

Les funcions \partCombine… no es poden escriure dins dels blocs \tuplet ni \relative.

Si printPartCombineTexts està establert i les dues veus executen i acaben les mateixes notes al mateix compàs, el combinador de parts pot gravar a2 més d’un cop en aquest compàs.

\partCombine sols té en compte el moment d’inici de les notes dins d’una veu Voice; per exemple, no pot recordar si una nota dins d’una veu ja ha començat quan les notes que es combinen s’han iniciat just ara a l’altra veu. Això pot conduir a cert nombre de problemes inesperats entre els que s’inclou la impressió incorrecta de marques de “Solo” o de “Unison”.

\partCombine conserva tots els elements extensos (lligadures, reguladors, etc.) dins del mateix context Voice de forma que si qualsevol d’aquests elements extensos inicia o acaba a un context Voice diferent, pot no imprimir-se o fer-lo incorrectament.

Si la funció \partCombine no pot combinar les dues expressions musicals (és a dir, quan les dues veus tenen duracions diferents), atorgarà internament els seus propis noms a les veus: one i two respectivament. Això significa que si es produeix un canvi a un context Voice que tingui un nom diferent, s’ignoraran els esdeveniments dins del context Voice que té el nom diferent.

Consulteu també l’apartat Advertiments i problemes coneguts a la sessió Tabulatures predeterminades en utilitzar\partCombine amb tabulatures, i la Nota de Barres automàtiques en utilitzar el barrat automàtic.


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.


LilyPond — Referència de la notació v2.22.1 (branca estable).