Referencia de la notación de GNU LilyPond: 1.5.2 Multiple voices

### 1.5.2 Multiple voices

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

#### Single-staff polyphony

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. }
>     >>

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.
>       }
>     >>

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. }
>     >>

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 }
>     >>

En todas las partituras excepto las más simples, se recomienda crear contextos `Voice` explícitos como aparece explicado en Contexts and engravers y en instantiating voices Explicitly instantiating voices.

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 }
>     >>

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: Voices contain music, Explicitly instantiating voices.

Referencia de la notación: Percussion staves, Invisible rests.

Fragmentos de código: Simultaneous notes.

#### Voice styles

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 }
>     >>

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: I’m hearing Voices, Other sources of information.

Fragmentos de código: Simultaneous notes.

#### Collision resolution

Las cabezas de notas que están en diferentes voces y tienen la misma altura, la misma forma de cabezaa, 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.

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

Las cabezas de notas diferentes se pueden combinar, con la excepción de blancas con negras:

>     <<
>       {
>         \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
>       }
>     >>

Se pueden combinar cabezas con puntillos diferentes:

>     <<
>       {
>         \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
>       }
>     >>

La blanca y la corchea en el comienzo del segundo compás no están correctamente combinadas porque `\mergeDifferentlyHeadedOn` no es capaz de completar satisfactoriamente la combinación cuando se encuentran tres o más notas alineadas en la misma columna, y en este caso se obtiene una advertencia. Para conseguir que la combinación funcione adecuadamente, 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
>       }

>     >>

Las instrucciones `\shiftOn`, `\shiftOnn` y `\shiftOnnn` especifican el grado en que se deben desplazar los acordes de la voz en curso. Las voces exteriores (normalmente: la voz uno y la voz dos) tienen `\shiftOff` (desplazamiento desactivado), mientras que las voces interiores (tres y cuatro) tienen `\shiftOn` (desplazamiento activado). `\shiftOnn` y `\shiftOnnn` definen niveles de desplazamiento más grandes.

Sólo se combinan las notas si tienen la plica en direcciones opuestas (por ejemplo, en las `Voice`s 1 y 2).

#### 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. 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
>         } \\ {
>           \voiceTwo
>           d2
>           d4 cis2
>           d4 bes2
>         }
>       >>
>     }

Forzar el desplazamiento horizontal de las notas

Cuando el motor de tipografiado no es capaz de todo, se puede usar la propiedad force-hshift del objeto NoteColumn para sobreescribir decisiones de tipografiado. 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
>       }
>     >>

#### Véase también

Glosario musical: polyphony.

Manual de aprendizaje: Multiple notes at once, Voices contain music, Collisions of objects.

Fragmentos de código: Simultaneous notes.

Referencia de funcionamiento interno: NoteColumn, NoteCollision, RestCollision.

#### Advertencias y problemas conocidos

Cuando se emplea `\mergeDifferentlyHeadedOn` con una corchea (o una nota más corta) con la plica hacia arriba, y una blanca con la plica hacia abajo, la corchea recibe un desplazamiento ligeramente incorrecto a causa de la anchura diferente del símbolo de la cabeza de la blanca.

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 Clusters).

#### Automatic part combining

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

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
>         }
>       }
>     }

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
>         }
>     >>

#### Véase también

Glosario musical: a due, part.

Referencia de la notación: Writing parts.

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 `Voice`s 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.

#### Writing music in parallel

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 }
>     >>

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 }
>     >>

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
>            >>
>          }
>       >>
>     }

#### Véase también

Manual de aprendizaje: Organizing pieces with variables

Fragmentos de código: Simultaneous notes.

Other languages: English, français, deutsch.

#### Manual de referencia de la notación