1.5.2 Varias voces

Esta sección trata las notas simultáneas en varias voces o varios pentagramas.


Polifonía en un solo pentagrama

Instanciar las voces explícitamente

La estructura básica necesaria para obtener varias voces independientes en un mismo pentagrama se ilustra en el ejemplo siguiente:

\new Staff <<
  \new Voice = "first"
    { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }
  \new Voice= "second"
    { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
>>

[image of music]

Aquí se crean explícitamente instancias de voces, cada una de las cuales recibe un nombre. Las instrucciones \voiceOne ... \voiceFour (voz uno hasta voz cuatro) preparan las voces de manera que la primera y segunda voces llevan las plicas hacia arriba, las voces segunda y cuarta llevan las plicas hacia abajo, las cabezas de las notas en las voces tercera y cuarta se desplazan horizontalmente, y los silencios de las voces respectivas se desplazan también automáticamente para evitar las colisiones. La instrucción \oneVoice (una voz) devuelve todos los ajustes de las voces al estado neutro predeterminado.

Pasajes polifónicos temporales

Se puede crear un pasaje polifónico temporal con la construcción siguiente:

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

Aquí, la primera expresión dentro de un pasaje polifónico temporal se coloca en el contexto Voice que estaba en uso inmediatamente antes del pasaje polifónico, y ese mismo contexto Voice continua después de la sección temporal. Otras expresiones dentro de los ángulos se asignan a distintas voces temporales. Esto permite asignar la letra de forma continua a una voz antes, durante y después de la sección polifónica:

<<
  \new Voice = "melody" {
    a4
    <<
      {
        \voiceOne
        g f
      }
      \new Voice {
        \voiceTwo
        d2
      }
    >>
    \oneVoice
    e4
  }
  \new Lyrics \lyricsto "melody" {
  This is my song.
  }
>>

[image of music]

Aquí, las instrucciones \voiceOne y \voiceTwo son necesarias para definir los ajustes de cada voz.

La construcción de la doble barra invertida

La construcción << {...} \\ {...} >>, en que las dos expresiones (o más) están separadas por doble barra invertida, se comporta de forma distinta a la construcción similar sin las dobles barras: todas las expresiones dentro de esta construcción se asignan a contextos Voice nuevos. Estos contextos Voice nuevos se crean implícitamente y reciben los nombres fijos "1", "2", etc.

El primer ejemplo podría haberse tipografiado de la manera siguiente:

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

[image of music]

Esta sintaxis se puede usar siempre que no nos importe que se creen nuevas voces temporales que después serán descartadas. Estas voces creadas implícitamente reciben ajustes equivalentes al efecto de las instrucciones \voiceOne ... \voiceFour, en el orden en que aparecen en el código.

En el siguiente ejemplo, la voz intermedia lleva las plicas hacia arriba, de manera que la introducimos en tercer lugar para que pase a ser la voz tres, que tiene las plicas hacia arriba tal y como queremos. Se usan silencios de separación para evitar la aparición de silencios duplicados.

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

[image of music]

En todas las partituras excepto las más simples, se recomienda crear contextos Voice explícitos como aparece explicado en Contextos y grabadores y en Voces explícitas.

Orden de las voces

Al escribir varias voces en el archivo de entrada, utilice el orden siguiente:

Voz 1: las más aguda
Voz 2: la más grave
Voz 3: la segunda más aguda
Voz 4: la segunda más grave
Voz 5: la tercera más aguda
Voz 6: la tercera más grave
etc.

A pesar de que esto puede parecer contrario a la intuición, simplifica el proceso de disposición automática de las figuras. Observe que las voces de numeración impar reciben plicas hacia arriba, y las de numeración par reciben plicas hacia abajo:

\new Staff <<
  \time 2/4
  { f''2 }  % 1: highest
  \\
  { c'2  }  % 2: lowest
  \\
  { d''2 }  % 3: second-highest
  \\
  { e'2  }  % 4: second-lowest
  \\
  { b'2  }  % 5: third-highest
  \\
  { g'2  }  % 6: third-lowest
>>

[image of music]

Duraciones idénticas

En el caso especial en que queremos tipografiar fragmentos de música que discurre en paralelo y con las mismas duraciones, se pueden combinar en un solo contexto de voz, formando así acordes. Para conseguirlo, las incorporamos dentro de una construcción de música simultánea, dentro de una voz creada explícitamente:

\new Voice <<
  { e4 f8 d e16 f g8 d4 }
  { c4 d8 b c16 d e8 b4 }
>>

[image of music]

Este método conduce a barrados extraños y advertencias si los fragmentos de música no tienen las mismas duraciones exactas.

Instrucciones predefinidas

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

Véase también

Manual de aprendizaje: Las voces contienen música, Voces explícitas.

Referencia de la notación: Pautas de percusión, Silencios invisibles, Plicas.

Fragmentos de código: Simultaneous notes.


Estilos de voz

Se pueden aplicar colores y formas distintos a las voces para permitir identificarlas fácilmente:

<<
  { \voiceOneStyle d4 c2 b4 }
  \\
  { \voiceTwoStyle e,2 e }
  \\
  { \voiceThreeStyle b2. c4 }
  \\
  { \voiceFourStyle g'2 g }
>>

[image of music]

Para recuperar la presentación normal se utiliza la instrucción \voiceNeutralStyle.

Instrucciones predefinidas

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

Véase también

Manual de aprendizaje: Oigo voces, Otras fuentes de información.

Fragmentos de código: Simultaneous notes.


Resolución de las colisiones

Las cabezas de notas que están en diferentes voces y tienen la misma altura, la misma forma de cabeza, y dirección opuesta de la plica, se combinan automáticamente, pero las que tienen cabezas distintas o la misma dirección de la plica no se combinan. Los silencios que se encuentran en el lado opuesto de una plica en otra voz se desplazan verticalmente. El ejemplo siguiente muestra tres circunstancias distintas, sobre los pulsos 1 y 3 en el primer compás y sobre el pulso 1 del segundo compás, donde la combinación automática falla.

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

[image of music]

Las cabezas de notas diferentes se pueden combinar, con la excepción de blancas con negras, como se muestra más abajo. Aquí las cabezas del pulso 1 del primer compás sí se combinan:

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

[image of music]

También se pueden combinar cabezas con puntillos diferentes, como se muestra en el tercer pulso del primer compás:

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

[image of music]

La blanca y la corchea en el comienzo del segundo compás no están correctamente combinadas porque la combinación automática no es capaz de completarse satisfactoriamente cuando se encuentran tres o más notas alineadas en la misma columna de notas, y en este caso la cabeza combinada es incorrecta. Para conseguir que la combinación seleccione la cabeza correcta, se debe aplicar un \shift o desplazamiento a la nota que no se debe combinar. Aquí, se aplica \shiftOn para mover el sol agudo fuera de la columna, y entonces \mergeDifferentlyHeadedOn hace su trabajo correctamente.

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

[image of music]

La instrucción \shiftOn permite (aunque no fuerza) que las notas de una voz se puedan desplazar. Cuando\shiftOn se aplica a una voz, una nota o acorde de esta voz se desplaza solamente si su plica chocase en caso contrario con una plica de otra voz, y sólo si las plicas en colisión apuntan en la misma dirección. La instrucción \shiftOff evita la posibilidad de este tipo de desplazamiento.

De forma predeterminada, las voces externas (normalmente las voces uno y dos) tienen \shiftOff especificado (desplazamiento desactivado), mientras que las voces interiores (tres y siguientes) tienen especificado \shiftOn (desplazamiento activado). Cuando se aplica un desplazamiento, las voces con plicas hacia arriba (voces de numeración impar) se desplazan hacia la derecha, y las voces con las plicas hacia abajo (voces con numeración par) se desplazarn a la izquierda.

He aquí un ejemplo que le ayudará a visualizar la forma en que se expanidría internamente una expresión polifónica.

Nota: Observe que con tres o más voces, el orden vertical de las mismas dentro de su archivo de entrada ¡no sería el mismo que el orden vertical de las voces en el pentagrama!

\new Staff \relative c'' {
  %% abbreviated entry
  <<
    { f2  }  % 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]

Dos instrucciones adicionales, \shiftOnn y \shiftOnnn, ofrecen niveles de desplazamiento mayores que se pueden especificar temporalmente para resolver colisiones en situaciones complejas; véase Ejemplos reales de música.

Sólo se combinan las notas si tienen la plica en direcciones opuestas (como la tienen, por ejemplo, en las voces uno y dos de forma predeterminada o cuando las plicas se establecen explícitamente en direcciones opuestas).

Instrucciones predefinidas

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

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

Fragmentos de código seleccionados

Voces adicionales para evitar colisiones

En ciertos casos de polifonía compleja, se necesitan voces adicionales para evitar colisiones entre las notas. Si se necesitan más de cuatro voces paralelas, las voces adicionales se añaden definiendo una variable que utiliza la función de Scheme context-spec-music.

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

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

[image of music]

Forzar el desplazamiento horizontal de las notas

Cuando el motor de tipografiado no es capaz de todo, se puede usar la sintaxis siguiente para sobreescribir las decisiones de tipografía. Las unidades de medida que se usan aquí son espacios de pentagrama.

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

[image of music]

Véase también

Glosario musical: polyphony.

Manual de aprendizaje: Varias notas a la vez, Las voces contienen música, Ejemplos reales de música.

Fragmentos de código: Simultaneous notes.

Referencia de funcionamiento interno: NoteColumn, NoteCollision, RestCollision.

Advertencias y problemas conocidos

No están contemplados los acordes en que la misma nota se presenta con diferentes alteraciones accidentales dentro del mismo. En este caso se recomienda usar la transcripción enarmónica, o usar la notación especial de racimos (véase Racimos (clusters)).


Combinación automática de las partes

La combinación automática de particellas se usa para mezclar dos partes musicales sobre un pentagrama. Tiene como objetivo el tipografiado de partituras orquestales. Cuando las dos partes son idénticas durante un período de tiempo, sólo se presenta una de ellas. En los lugares en que las dos partes son diferentes, se tipografían como voces separadas, y las direcciones de las plicas se establecen de forma automática. También las partes de solo y a due quedan identificadas y es posible marcarlas.

La sintaxis para la combinación de las partes es:

\partcombine expresión_musical_1 expresión_musical_2

El ejemplo siguiente ejemplifica la funcionalidad básica del combinador de partes: poner las partes en un solo pentagrama, y establecer las direcciones de las plicas y la polifonía. Se utilizan las mismas variables para las partes independientes y el pentagrama combinado.

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

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

<<
  \new Staff \instrumentOne
  \new Staff \instrumentTwo
  \new Staff \partcombine \instrumentOne \instrumentTwo
>>

[image of music]

Las notas del tercer compás aparecen solamente una vez a pesar de que se han especificado en las dos partes. Las direcciones de las plicas y ligaduras se establecen de forma automática, según se trate de un solo o de un unísono. Cuando se necesita en situaciones de polifonía, la primera parte (que recibe el nombre de contexto one) siempre recibe las plicas hacia arriba, mientras que la segunda (llamada two) siempre recibe las plicas hacia abajo. En los fragmentos de solo, las partes se marcan con ‘Solo’ y ‘Solo II’, respectivamente. Las partes en unísono (a due) se marcan con el texto predeterminado “a2”.

Los dos argumentos de \partcombine se interpretan como contextos de Voice. Si se están usando octavas relativas, se debe especificar \relative para ambas expresiones musicales, es decir:

\partcombine
  \relative … expresión_musical_1
  \relative … expresión_musical_2

Una sección \relative que se encuentra fuera de \partcombine no tiene ningún efecto sobre las notas de expresión_musical_1 y expresión_musical_2.

Fragmentos de código seleccionados

Combinar dos partes sobre el mismo pentagrama

La herramienta de combinación de partes (instrucción \partcombine) permite la combinación de varias partes diferentes sobre el mismo pentagrama. Las indicaciones textuales tales como “solo” o “a2” se añaden de forma predeterminada; para quitarlas, sencillamente establezca la propiedad printPartCombineTexts al valor “falso”. Para partituras vocales (como himnos), no hay necesidad de añadir los textos “solo” o “a2”, por lo que se deben desactivar. Sin embargo, podría ser mejor no usarlo si hay solos, porque éstos no se indicarán. En tales casos podría ser preferible la notación polifónica estándar.

Este fragmento de código presenta las tres formas en que se pueden imprimir dos partes sobre un solo pentagrama: polifonía estándar, \partcombine sin textos, y \partcombine con textos.

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 {
      \set Staff.instrumentName = #"Standard polyphony"
      << \musicUp \\ \musicDown >>
    }
    \new Staff \with { printPartCombineTexts = ##f } {
      \set Staff.instrumentName = #"PartCombine without texts"
      \partcombine \musicUp \musicDown
    }
    \new Staff {
      \set Staff.instrumentName = #"PartCombine with texts"
      \partcombine \musicUp \musicDown
    }
    >>
  >>
  \layout {
    indent = 6.0\cm
    \context {
      \Score
      \override SystemStartBar #'collapse-height = #30
    }
  }
}

[image of music]

Cambiar los textos de partcombine

Al utilizar la posibilidad de combinación automática de partes, se puede modificar el texto que se imprime para las secciones de solo y de unísono:

\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]

Véase también

Glosario musical: a due, part.

Referencia de la notación: Escritura de las particellas.

Fragmentos de código: Simultaneous notes.

Referencia de funcionamiento interno: PartCombineMusic, Voice.

Advertencias y problemas conocidos

\partcombine sólo admite dos voces.

Si printPartCombineTexts está establecido, cuando las dos voces tocan y terminan las mismas notas, el combinador de partes puede tipografiar a2 más de una vez en el mismo compás.

\partcombine no puede estar dentro de \times.

\partcombine no puede estar dentro de \relative.

Internamente, el \partcombine interpreta los dos argumentos como Voices y decide cuándo se pueden combinar las dos partes. Cuando tienen distintas duraciones, no se combinan y reciben los nombres one y two. Como consecuencia, si los argumentos cambian a contextos de Voice con nombres diferentes, los eventos que contienen se ignorarán. De forma similar, la combinación de partes no está pensada para que funcione con la letra de las canciones; cuando una de las voces recibe un nombre explícito con el objeto de adjuntarle una letra, la combinación de partes deja de funcionar.

\partcombine observa solamente los tiempos de ataque de las notas. No puede determinar si una nota iniciada previamente está sonando o no, lo que origina diversos problemas.


Escribir música en paralelo

La música para varias partes se puede intercalar dentro del código de entrada. La función \parallelMusic admite una lista que contiene los nombres de las variables que se van a crear, y una expresión musical. El contenido de los compases alternativos extraídos de la expresión se convierten en el valor de las variables respectivas, de manera que podemos utilizarlas más tarde para imprimir la música.

Nota: Es obligatorio utilizar comprobaciones de compás |, y los compases deben tener la misma 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.~   e'4            r16 e'8.~   e'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.~   d'4            r16 d'8.~   d'4            |
  c'2                        c'2                        |

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

[image of music]

Se puede usar el modo relativo. Observe que la instrucción \relative no se utiliza dentro del propio bloque \parallelMusic. Las notas guardan relación con la nota anterior en la misma voz, no con la nota anterior dentro del código de entrada (dicho de otra manera, las notas relativas de vozA ignoran a las notas que hay en vozB.

\parallelMusic #'(voiceA voiceB voiceC) {
  % Bar 1
  r8 g16 c e g, c e r8 g,16 c e g, c e  |
  r16 e8.~ e4       r16 e8.~  e4        |
  c2                c                   |

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

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

[image of music]

Esto funciona aceptablemente bien para música de piano. El siguiente ejemplo asigna cada cuatro compases consecutivos a cuatro variables:

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

\parallelMusic #'(voiceA voiceB voiceC voiceD) {
  % Bar 1
  a8    b     c   d     |
  d4          e         |
  c16 d e fis d e fis g |
  a4          a         |

  % Bar 2
  e8      fis  g     a   |
  fis4         g         |
  e16 fis g  a fis g a b |
  a4           a         |

  % Bar 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]

Véase también

Manual de aprendizaje: Organizar las piezas mediante variables

Fragmentos de código: Simultaneous notes.


Otros idiomas: English, deutsch, français, 日本語.

LilyPond — Referencia de la notación

inserted by FC2 system