-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
+ Translation of GIT committish: 541aafa12474496930f99f617890a944c3db4989
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end ignore
+@c \version "2.11.61"
+
+@c Translation status: post-GDP
+
@node Simultaneous notes
@section Simultaneous notes
+@lilypondfile[quote]{simultaneous-headword.ly}
+
La polifonía en música hace referencia a tener más de una voz en una
pieza cualquiera de música. En LilyPond la polifonía hace referencia
a tener más de una voz en el mismo pentagrama.
@menu
-* Single voice::
-* Multiple voices::
+* Single voice::
+* Multiple voices::
@end menu
-
@node Single voice
@subsection Single voice
+Esta sección trata de la notas simultáneas dentro de la misma voz.
+
@menu
-* Chords::
-* Clusters::
+* Chorded notes::
+* Simultaneous expressions::
+* Clusters::
@end menu
-@node Chords
-@unnumberedsubsubsec Chords
+@node Chorded notes
+@unnumberedsubsubsec Chorded notes
+
+@cindex acordes
+@cindex paréntesis en ángulo
+@cindex ángulo, paréntesis en
+@cindex relativa, altura en acordes
-@cindex Acordes
+@funindex <
+@funindex >
+@funindex <...>
Un acorde se forma encerrando un conjunto de notas entre @code{<} y
@code{>}. Un acorde puede ir seguido de una duración o un conjunto de
articulaciones, como si fueran simples notas.
-@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
-<c e g>4 <c>8
+@lilypond[verbatim,quote,relative=1]
+<c e g>2 <c f a>4-> <e g c>-.
+@end lilypond
+
+Se puede usar el modo relativo para la altura de las notas de los
+acordes. La octava de cada nota se determina utilizando como
+referencia la nota precedente, excepto en el caso de la primera nota
+de un acorde: la referencia para la primera nota es la @emph{primera}
+nota del acorde anterior.
+
+Para ver más información sobre los acordes, consulte @ref{Chord
+notation}.
+
+@seealso
+
+Glosario musical:
+@rglos{chord}.
+
+Manual de aprendizaje:
+@rlearning{Combining notes into chords}.
+
+Referencia de la notación:
+@ref{Chord notation}.
+
+Fragmentos de código:
+@rlsr{Simultaneous notes}.
+
+@node Simultaneous expressions
+@unnumberedsubsubsec Simultaneous expressions
+
+Una o más expresiones musicales encerradas entre ángulos dobles se
+entienden como simultáneas. Si la primera expresión comienza con una
+sola nota o si toda la expresión simultánea aparece explícitamente
+dentro de una sola voz, la expresión completa se sitúa sobre un solo
+pentagrama; en caso contrario los elementos de la expresión simultánea
+se sitúan en pentagramas distintos.
+
+Los ejemplos siguientes muestran expresiones simultáneas sobre un solo
+pentagrama:
+
+@lilypond[quote,verbatim,relative=2]
+\new Voice { % explicit single voice
+ << {a4 b g2} {d4 g c,2} >>
+}
+@end lilypond
+
+@lilypond[quote,verbatim,relative=2]
+% single first note
+a << {a4 b g} {d4 g c,} >>
+@end lilypond
+
+Esto puede ser de utilidad si las secciones siimultáneas tienen
+idénticas duraciones, pero se producirán errores si se intentan poner
+notas de distinta duración sobre la misma plica.
+
+El ejemplo siguiente muestra cómo las expresiones simultáneas pueden
+generar varios pentagramas de forma implícita:
+
+@lilypond[quote,verbatim,relative=2]
+% no single first note
+<< {a4 b g2} {d4 g2 c,4} >>
@end lilypond
-Para ver más información sobre los acordes, consulte @ref{Chord names}.
+Aquí no hay problema en tener distintas duraciones.
@node Clusters
@unnumberedsubsubsec Clusters
-UNTRANSLATED NODE: IGNORE ME
+@cindex cluster
+@cindex racimo (cluster)
+
+@funindex \makeClusters
+@funindex makeClusters
+
+
+Un «cluster» o racimo indica que se deben tocar simultáneamente un
+conjunto de notas consecutivas. Se escriben aplicando la función
+@code{\makeClusters} a una secuencia de acordes, p.ej.:
+
+@lilypond[quote,relative=2,verbatim]
+\makeClusters { <g b>2 <c g'> }
+@end lilypond
+
+Se pueden mezclar en el mismo pentagrama notas normales y clusters,
+incluso al mismo tiempo. En tal caso, no se hace ningún intento de
+evitar automáticamente las colisiones entre clusters y notas normales.
+
+@seealso
+
+Glosario musical:
+@rglos{cluster}.
+Fragmentos de código:
+@rlsr{Simultaneous notes}.
+
+Referencia de funcionamiento interno:
+@rinternals{ClusterSpanner},
+@rinternals{ClusterSpannerBeacon},
+@rinternals{Cluster_spanner_engraver}.
+
+@knownissues
+
+Los clusters sólo tienen un buen aspecto cuando abarcan un mínimo de
+dos acordes. En caso contrario aparecerán excesivamente estrechos.
+
+Los clusters no llevan plica y por sí mismos no pueden indicar las
+duraciones, pero la longitud del cluster que se imprime viene
+determinada por la duración de los acordes que lo definen. Los
+racimos separados necesitan silencios de separación entre ellos.
+
+Los clusters no producen ninguna salida MIDI.
@node Multiple voices
@subsection Multiple voices
+Esta sección trata las notas simultáneas en varias voces o varios
+pentagramas.
+
@menu
-* Basic polyphony::
-* Explicitly instantiating voices::
-* Collision Resolution::
-* Automatic part combining::
-* Writing music in parallel::
+* Single-staff polyphony::
+* Voice styles::
+* Collision resolution::
+* Automatic part combining::
+* Writing music in parallel::
@end menu
-@node Basic polyphony
-@unnumberedsubsubsec Basic polyphony
+@node Single-staff polyphony
+@unnumberedsubsubsec Single-staff polyphony
-@cindex polyphony
+@cindex pentagrama único, polifonía de
+@cindex polifonía en un solo pentagrama
+@cindex voz
+@cindex letra asignada a una voz
-La manera más fácil de escribir fragmentos con más de una voz sobre el mismo pentagrama
-es introducir cada voz como una secuencia (con @code{@{...@}}), y combinarlas
-simultáneamente, separando las voces con @code{\\}
+@funindex \voiceOne
+@funindex voiceOne
+@funindex \voiceOne ... \voiceFour
+@funindex Voice
+@funindex \oneVoice
+@funindex oneVoice
-@funindex \\
+@strong{@i{Instanciar las voces explícitamente}}
-@lilypond[quote,verbatim,fragment]
-\new Staff \relative c' {
- c16 d e f
- <<
- { g4 f e | d2 e2 } \\
- { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\
- { s2. | s4 b4 c2 }
- >>
-}
-@end lilypond
+La estructura básica necesaria para obtener varias voces
+independientes en un mismo pentagrama se ilustra en el ejemplo
+siguiente:
-El separador hace que se produzca un nuevo contexto de @internalsref{Voice}@footnote{Las voces polifónicas
-se conocen a veces como @q{capas} en otros programas de edición de partituras.}.
-@cindex capas
-Llevan los nombres @code{"1"}, @code{"2"}, etc. En cada
-uno de estos contextos, la dirección vertical de las ligaduras, plicas, etc., se establece
-de la manera que corresponda.
-
-Todas estas voces están separadas de la voz que contiene las notas
-justo por fuera de la construcción @code{<< \\ >>}. Se debe tener
-esto en cuenta cuando haga algún cambio en una voz. También
-significa que las ligaduras de unión y de expresión no pueden salir de (ni
-entrar en) una construcción @code{<< \\ >>}. En cambio las voces
-paralelas que están en construcciones @code{<< \\ >>} separadas dentro
-del mismo pentagrama, son la misma voz. Presentamos a continuación el
-mismo ejemplo, con cabezas y colores distintos para cada voz. Dese cuenta de
-que el cambio en el estilo de cabezas de nota en la voz principal no
-afecta a las que están dentro de la construcción @code{<< \\ >>}.
-Asimismo, el cambio a la segunda voz en la primera construcción
-@code{<< \\ >>} es efectiva en la segunda @code{<< \\ >>}, y la voz se liga de una construcción a otra.
-
-@cindex cabezas de nota, estilos de
-
-@lilypond[quote,verbatim,fragment]
-\new Staff \relative c' {
- \override NoteHead #'style = #'cross
- \override NoteHead #'color = #red
- c16 d e f
- <<
- { g4 f e } \\
- { \override NoteHead #'style = #'triangle
- \override NoteHead #'color = #blue
- r8 e4 d c8 ~ }
- >> |
- <<
- { d2 e2 } \\
- { c8 b16 a b8 g ~ g2 } \\
- { \override NoteHead #'style = #'slash
- \override NoteHead #'color = #green
- s4 b4 c2 }
- >>
-}
+@lilypond[quote,relative=3,verbatim]
+\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. }
+>>
@end lilypond
-La polifonía no cambia la relación entre las notas que están dentro de
-un bloque @code{\relative @{ @}}. Cada una de las notas se calcula
-relativa a la nota inmediatamente anterior.
+Aquí se crean explícitamente instancias de voces, cada una de las
+cuales recibe un nombre. Las instrucciones @code{\voiceOne}
+... @code{\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
+@code{\oneVoice} (una voz) devuelve todos los ajustes de las voces al
+estado neutro predeterminado.
+
+@strong{@i{Pasajes polifónicos temporales}}
+
+Se puede crear un pasaje polifónico temporal con la construcción
+siguiente:
@example
-\relative @{ notaA << notaB \\ notaC >> notaD @}
+<< @{ \voiceOne ... @}
+ \new Voice @{ \voiceTwo ... @}
+>> \oneVoice
@end example
-@code{notaC} es relativa a @code{notaB}, no a @code{notaA};
-@code{notaD} es relativa a @code{notaC}, no a @code{notaB} ni a
-@code{notaA}.
+Aquí, la primera expresión dentro de un pasaje polifónico temporal se
+coloca en el contexto @code{Voice} que estaba en uso inmediatamente
+antes del pasaje polifónico, y ese mismo contexto @code{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:
+@lilypond[quote, verbatim, relative=2]
+<<
+ \new Voice = "melody" {
+ a4
+ <<
+ {
+ \voiceOne
+ g f
+ }
+ \new Voice {
+ \voiceTwo
+ d2
+ }
+ >>
+ \oneVoice
+ e4
+ }
+ \new Lyrics \lyricsto "melody" {
+ This is my song.
+ }
+>>
+@end lilypond
-@node Explicitly instantiating voices
-@unnumberedsubsubsec Explicitly instantiating voices
+Aquí, las instrucciones @code{\voiceOne} y @code{\voiceTwo} son
+necesarias para definir los ajustes de cada voz.
-Los contextos de @internalsref{Voice} también se pueden instanciar manualmente
-dentro de un bloque @code{<< >>} para crear música polifónica, usando
-@code{\voiceOne}, hasta @code{\voiceFour} para asignar las direcciones de las plicas
-y un desplazamiento horizontal para cada parte.
+@strong{@i{La construcción de la doble barra invertida}}
-Concretamente:
-@example
-<< \superior \\ \inferior >>
-@end example
+La construcción @code{<< @{...@} \\ @{...@} >>}, 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: @emph{todas} las expresiones dentro de esta construcción se
+asignan a contextos @code{Voice} nuevos. Estos contextos @code{Voice}
+nuevos se crean implícitamente y reciben los nombres fijos @code{"1"},
+@code{"2"}, etc.
-@noindent
-equivale a
+El primer ejemplo podría haberse tipografiado de la manera siguiente:
-@example
+@lilypond[quote,relative=3,verbatim]
<<
- \new Voice = "1" @{ \voiceOne \superior @}
- \new Voice = "2" @{ \voiceTwo \inferior @}
+ { r8 r16 g e8. f16 g8[ c,] f e16 d }
+ \\
+ { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
>>
-@end example
-
-Los comandos @code{\voiceXXX} establecen la dirección de las plicas, ligaduras de expresión y de unión,
-articulaciones, anotaciones de texto, puntillos y digitaciones.
-@code{\voiceOne} y @code{\voiceThree} hacen
-a los mencionados objetos apuntar hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour}
-los hacen apuntar hacia abajo.
-El comando @code{\oneVoice} hace volver a los ajustes normales.
-
-Una expresión que aparece directamente dentro de un @code{<< >>} pertenece a
-la voz principal. Es útil cuando aparecen voces adicionales al tiempo que está cantando la voz
-principal. A continuación podemos ver una representación mejor del ejemplo del apartado anterior.
-Las cabezas de color y en forma de cruz demuestran que
-la melodía principal ahora está en un contexto de una voz única.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
- \override NoteHead #'style = #'cross
- \override NoteHead #'color = #red
- c16 d e f
- \voiceOne
- <<
- { g4 f e | d2 e2 }
- \new Voice="1" { \voiceTwo
- r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
- \oneVoice
- }
- \new Voice { \voiceThree
- s2. | s4 b4 c2
- \oneVoice
- }
- >>
- \oneVoice
-}
@end lilypond
-La definición correcta de las voces permite que la melodía se pueda marcar con ligaduras de expresión.
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
- c16^( d e f
- \voiceOne
- <<
- { g4 f e | d2 e2) }
- \context Voice="1" { \voiceTwo
- r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
- \oneVoice
- }
- \new Voice { \voiceThree
- s2. s4 b4 c2
- \oneVoice
- }
- >>
- \oneVoice
-}
-@end lilypond
+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 @code{\voiceOne} ... @code{\voiceFour}, en el orden en
+que aparecen en el código.
-Al evitar el separador @code{\\} posibilitamos la escritura de
-construcciones polifónicas anidadas, lo que en algún caso podría constituir
-una forma más natural de tipografiar la música.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
- c16^( d e f
- \voiceOne
- <<
- { g4 f e | d2 e2) }
- \context Voice="1" { \voiceTwo
- r8 e4 d c8 ~ |
- <<
- {c8 b16 a b8 g ~ g2}
- \new Voice { \voiceThree
- s4 b4 c2
- \oneVoice
- }
- >>
- \oneVoice
- }
- >>
- \oneVoice
-}
+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.
+
+@lilypond[quote,relative=3,verbatim]
+<<
+ { 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 }
+>>
@end lilypond
-En ciertos casos de música polifónica compleja podría ser necesario
-utilizar voces adicionales para evitar colisiones entre las notas.
-Las voces adicionales se añaden definiendo un identificador como se muestra a continuación:
+En todas las partituras excepto las más simples, se recomienda crear
+contextos @code{Voice} explícitos como aparece explicado en
+@rlearning{Contexts and engravers} y en @rlearning{Explicitly
+instantiating voices}.
+
+@strong{@i{Duraciones idénticas}}
-@lilypond[quote,verbatim,ragged-right,relative=2]
-voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
+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:
-\relative c''' <<
- { \voiceOne g4 ~ \stemDown g32[ f( es d c b a b64 )g] } \\
- { \voiceThree b4} \\
- { \voiceFive d,} \\
- { \voiceTwo g,}
+@lilypond[quote,relative=2,verbatim]
+\new Voice <<
+ { e4 f8 d e16 f g8 d4 }
+ { c4 d8 b c16 d e8 b4 }
>>
@end lilypond
+Este método conduce a barrados extraños y advertencias si los
+fragmentos de música no tienen las mismas duraciones exactas.
-@node Collision Resolution
-@unnumberedsubsubsec Collision Resolution
+@predefined
-Normalmente las cabezas de nota con un número de puntillos diferente
-no se mezclan en una sola, pero cuando se le da un valor verdadero a
-la propiedad @code{merge-differently-dotted} en el objeto @internalsref{NoteCollision}, se juntan en una sola:
+@code{\voiceOne},
+@code{\voiceTwo},
+@code{\voiceThree},
+@code{\voiceFour},
+@code{\oneVoice}.
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
-\new Voice << {
- g8 g8
- \override Staff.NoteCollision
- #'merge-differently-dotted = ##t
- g8 g8
-} \\ { g8.[ f16] g8.[ f16] } >>
-@end lilypond
-De forma similar puede mezclar cabezas de blanca con corcheas,
-ajustando @code{merge-differently-headed}:
+@seealso
+
+Manual de aprendizaje:
+@rlearning{Voices contain music},
+@rlearning{Explicitly instantiating voices}.
+
+Referencia de la notación:
+@ref{Percussion staves},
+@ref{Invisible rests}.
+
+Fragmentos de código:
+@rlsr{Simultaneous notes}.
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-\new Voice << {
- c8 c4.
- \override Staff.NoteCollision
- #'merge-differently-headed = ##t
-c8 c4. } \\ { c2 c2 } >>
+@node Voice styles
+@unnumberedsubsubsec Voice styles
+
+@cindex voice styles
+@cindex styles, voice
+@cindex coloring voices
+@funindex \voiceOneStyle
+@funindex \voiceTwoStyle
+@funindex \voiceThreeStyle
+@funindex \voiceFourStyle
+@funindex \voiceNeutralStyle
+
+Se pueden aplicar colores y formas distintos a las voces para permitir
+identificarlas fácilmente:
+
+@lilypond[quote,relative=2,verbatim]
+<<
+ { \voiceOneStyle d4 c2 b4 }
+ \\
+ { \voiceTwoStyle e,2 e }
+ \\
+ { \voiceThreeStyle b2. c4 }
+ \\
+ { \voiceFourStyle g'2 g }
+>>
@end lilypond
-@noindent
-@code{merge-differently-headed} y @code{merge-differently-dotted}
-se aplican solamente a direcciones de plica opuestas (es decir, a las voces 1 y 2).
+Para recuperar la presentación normal se utiliza la instrucción
+@code{\voiceNeutralstyle}.
+
+@predefined
+
+@code{\voiceOneStyle},
+
+@code{\voiceTwoStyle},
+@code{\voiceThreeStyle},
+@code{\voiceFourStyle},
+@code{\voiceNeutralStyle}.
+
+@seealso
+
+
+Manual de aprendizaje:
+@rlearning{I'm hearing Voices},
+@rlearning{Other sources of information}.
+
+Fragmentos de código:
+@rlsr{Simultaneous notes}.
+
+
+
+@node Collision resolution
+@unnumberedsubsubsec Collision resolution
+
+@cindex mezclar notas
+@cindex notas, colisiones de
+@cindex colisiones
+@cindex desplazar nota
+@cindex varias voces
+@cindex voces, varias
+@cindex polifónica, música
+@cindex desplazamiento de voces
+@cindex desplazamiento, silencio automático de
+@cindex desplazamiento de silencios, automático
+@funindex \shiftOn
+@funindex shiftOn
+@funindex \shiftOnn
+@funindex shiftOnn
+@funindex \shiftOnnn
+@funindex shiftOnnn
+@funindex \shiftOff
+@funindex shiftOff
+@funindex \mergeDifferentlyDottedOn
+@funindex mergeDifferentlyDottedOn
+@funindex \mergeDifferentlyDottedOff
+@funindex mergeDifferentlyDottedOff
+@funindex \mergeDifferentlyHeadedOn
+@funindex mergeDifferentlyHeadedOn
+@funindex \mergeDifferentlyHeadedOff
+@funindex mergeDifferentlyHeadedOff
+
+
+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.
+
+@lilypond[quote,verbatim,relative=2]
+<<
+ {
+ c8 d e d c d c4
+ g'2 fis
+ } \\ {
+ c2 c8. b16 c4
+ e,2 r
+ } \\ {
+ \oneVoice
+ s1
+ e8 a b c d2
+ }
+>>
+@end lilypond
-LilyPond también desplaza verticalmente los silencios que están en el lado contrario de una plica,
-por ejemplo
+Las cabezas de notas diferentes se pueden combinar, con la excepción
+de blancas con negras:
-@lilypond[quote,ragged-right,fragment,verbatim]
-\new Voice << c''4 \\ r4 >>
+@lilypond[quote,verbatim,relative=2]
+<<
+ {
+ \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
+ }
+>>
@end lilypond
-Si tres o más notas coinciden verticalmente en la misma columna,
-@code{merge-differently-headed} no puede completar satisfactoriamente
-la mezcla de las dos notas que deberían mezclarse.
-Para hacer posible que la mezcla funcione, aplique un @code{\shift} (desplazamiento) a la nota que no
-debe mezclarse. En el primer compás del ejemplo siguiente,
-@code{merge-differently-headed} no funciona (la cabeza de la blanca está rellena)
-En el segundo compás, se aplica @code{\shiftOn} para mover horizontalmente el
-@code{g} (Sol) superior, y @code{merge-differently-headed}
-funciona correctamente.
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\override Staff.NoteCollision #'merge-differently-headed = ##t
+Se pueden combinar cabezas con puntillos diferentes:
+
+@lilypond[quote,relative=2,verbatim]
<<
- { d=''2 g2 } \\
- { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
- { \voiceFour e,,2 e'2}
+ {
+ \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
+ }
>>
+@end lilypond
+
+La blanca y la corchea en el comienzo del segundo compás no están
+correctamente combinadas porque @code{\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 @code{\shift} o
+desplazamiento a la nota que no se debe combinar. Aquí, se aplica
+@code{\shiftOn} para mover el sol agudo fuera de la columna, y
+entonces @code{\mergeDifferentlyHeadedOn} hace su trabajo
+correctamente.
+
+@lilypond[quote,relative=2,verbatim]
<<
- { d'=''2 \shiftOn g2 } \\
- { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
- { \voiceFour e,,2 e'2}
+ {
+ \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
+ }
+
>>
@end lilypond
+Las instrucciones @code{\shiftOn}, @code{\shiftOnn} y
+@code{\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 @code{\shiftOff} (desplazamiento
+desactivado), mientras que las voces interiores (tres y cuatro) tienen
+@code{\shiftOn} (desplazamiento activado). @code{\shiftOnn} y
+@code{\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 @code{Voice}s 1 y 2).
@predefined
-@funindex \oneVoice
-@code{\oneVoice},
-@funindex \voiceOne
-@code{\voiceOne},
-@funindex \voiceTwo
-@code{\voiceTwo},
-@funindex \voiceThree
-@code{\voiceThree},
-@funindex \voiceFour
-@code{\voiceFour}.
+@code{\mergeDifferentlyDottedOn},
+@code{\mergeDifferentlyDottedOff},
+@code{\mergeDifferentlyHeadedOn},
+@code{\mergeDifferentlyHeadedOff}.
-@funindex \shiftOn
@code{\shiftOn},
-@funindex \shiftOnn
@code{\shiftOnn},
-@funindex \shiftOnnn
@code{\shiftOnnn},
-@funindex \shiftOff
-@code{\shiftOff}: estos comandos 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 @code{\shiftOff} (desplazamiento desactivado), mientras que las voces interiores (tres y cuatro)
-tienen @code{\shiftOn} (desplazamiento activado). @code{\shiftOnn} y @code{\shiftOnnn} definen niveles de desplazamiento
-más grandes.
-
-Cuando LilyPond no puede con todo, se pueden usar la propiedad
-@code{force-hshift} (forzar desplazamiento) del objeto @internalsref{NoteColumn}
-y los silencios con altura para sobreescribir las decisiones de tipografía.
-
-@lilypond[quote,verbatim,ragged-right]
-\relative <<
-{
- <d g>
- <d g>
-} \\ {
- <b f'>
- \once \override NoteColumn #'force-hshift = #1.7
- <b f'>
-} >>
-@end lilypond
+@code{\shiftOff}.
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{additional-voices-to-avoid-collisions.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{forcing-horizontal-shift-of-notes.ly}
@seealso
-Referencia del programa: los objetos responsables de resolver las colisiones son
-@internalsref{NoteCollision} y @internalsref{RestCollision}.
+Glosario musical:
+@rglos{polyphony}.
+
+Manual de aprendizaje:
+@rlearning{Multiple notes at once},
+@rlearning{Voices contain music},
+@rlearning{Collisions of objects}.
+Fragmentos de código:
+@rlsr{Simultaneous notes}.
+
+Referencia de funcionamiento interno:
+@rinternals{NoteColumn},
+@rinternals{NoteCollision},
+@rinternals{RestCollision}.
@knownissues
-Cuando se emplea @code{merge-differently-headed} con una corchea (o una nota más corta)
-con la plica hacia arriba, y una blanca con la plica hacia abajo,
-la corchea no tiene el desplazamiento correcto.
+Cuando se emplea @code{\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 racimos (clusters) donde la misma nota se presenta
-con diferentes alteraciones accidentales dentro del mismo acorde. En
-este caso se recomienda usar la transcripción enarmónica, o usar la
-notación especial de racimos (ver @ref{Clusters}).
+@ignore
+@c TODO investigate! Sometimes it works, sometimes not. --FV
+Los requisitos para combinar con éxito cabezas de nota distintas que
+tienen también distinto puntillo, no están claros.
+@end ignore
+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 @ref{Clusters}).
@node Automatic part combining
@unnumberedsubsubsec Automatic part combining
-@cindex particellas, combinación automática
-@cindex particellas, combinador de
-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 @emph{a due} quedan identificadas y es posible marcarlas.
-
-La sintaxis para la combinación de las partes es
+@cindex automática, combinación de partes
+@cindex partes, combinación automática
+@cindex partes, combinador de
+@cindex a due, partes
+@cindex solo, partes
+@funindex \partcombine
+@funindex partcombine
+
+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 @notation{a due}
+quedan identificadas y es posible marcarlas.
+
+La sintaxis para la combinación de las partes es:
@example
\partcombine @var{expresión_musical_1} @var{expresión_musical_2}
@end example
+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.
-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
-
-@lilypond[quote,verbatim,ragged-right,fragment]
-\new Staff \partcombine
- \relative g' { g g a( b) c c r r }
- \relative g' { g g r4 r e e g g }
-@end lilypond
-
-El primer Sol (@code{g}) aparece una sola vez, aunque se especificaba
-dos veces (una en cada parte). Las direcciones de las plicas, ligaduras de expresión y ligaduras de unión se
-establecen automáticamente, dependiendo de si es un solo o un unísono. La primera
-parte (la que tiene el contexto llamado @code{one}) siempre tiene las plicas para arriba, y
-@q{Solo}, mientras que la segunda (llamada @code{two}) siempre tiene las plicas para abajo y
-@q{Solo II}.
-
-Si queremos sólo las partes mezcladas y no las marcas textuales, podemos
-establecer la propiedad @code{printPartCombineTexts} al valor false
-
-@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
-\new Staff <<
- \set Staff.printPartCombineTexts = ##f
- \partcombine
- \relative g' { g a( b) r }
- \relative g' { g r4 r f }
->>
-@end lilypond
+@lilypond[quote,verbatim]
+instrumentOne = \relative c' {
+ c4 d e f
+ R1
+ d'4 c b a
+ b4 g2 f4
+ e1
+}
-Para cambiar el texto que se imprime para los solos o la fusión, podemos
-establecer las propiedades @code{soloText}, @code{soloIIText} y
-@code{aDueText}.
+instrumentTwo = \relative g' {
+ R1
+ g4 a b c
+ d c b a
+ g f( e) d
+ e1
+}
-@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
-\new Staff <<
- \set Score.soloText = #"ichi"
- \set Score.soloIIText = #"ni"
- \set Score.aDueText = #"tachi"
- \partcombine
- \relative g' { g4 g a( b) r }
- \relative g' { g4 g r r f }
+<<
+ \new Staff \instrumentOne
+ \new Staff \instrumentTwo
+ \new Staff \partcombine \instrumentOne \instrumentTwo
>>
@end lilypond
-Los dos argumentos de @code{\partcombine} se interpretan como contextos de
-@internalsref{Voice}. Si se están usando octavas relativas,
-se debe especificar @code{\relative} para ambas expresiones musicales, es decir
+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 @code{one}) siempre
+recibe las plicas hacia arriba, mientras que la segunda (llamada
+@code{two}) siempre recibe las plicas hacia abajo. En los fragmentos
+de solo, las partes se marcan con @q{Solo} y @q{Solo II},
+respectivamente. Las partes en unísono (@notation{a due}) se marcan
+con el texto predeterminado @qq{a2}.
+
+Los dos argumentos de @code{\partcombine} se interpretan como
+contextos de @rinternals{Voice}. Si se están usando octavas
+relativas, se debe especificar @code{\relative} para ambas expresiones
+musicales, es decir:
@example
\partcombine
@end example
@noindent
-Una sección @code{\relative} que se encuentra fuera de @code{\partcombine} no tiene ningún
-efecto sobre las notas de @var{expresión_musical_1} y @var{expresión_musical_2}.
+Una sección @code{\relative} que se encuentra fuera de
+@code{\partcombine} no tiene ningún efecto sobre las notas de
+@var{expresión_musical_1} y @var{expresión_musical_2}.
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{combining-two-parts-on-the-same-staff.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-partcombine-texts.ly}
@seealso
-Referencia del programa: @internalsref{PartCombineMusic}.
+Glosario musical:
+@rglos{a due},
+@rglos{part}.
+
+Referencia de la notación:
+@ref{Writing parts}.
+
+Fragmentos de código:
+@rlsr{Simultaneous notes}.
+
+Referencia de funcionamiento interno:
+@rinternals{PartCombineMusic},
+@rinternals{Voice}.
@knownissues
-Si @code{printPartCombineTexts} está establecido, cuando las dos voces tocan y terminan las mismas notas,
-el combinador de partes puede tipografiar @code{a2} más
-de una vez en el mismo compás.
+@code{\partcombine} sólo admite dos voces.
+
+Si @code{printPartCombineTexts} está establecido, cuando las dos voces
+tocan y terminan las mismas notas, el combinador de partes puede
+tipografiar @code{a2} más de una vez en el mismo compás.
@code{\partcombine} no puede estar dentro de @code{\times}.
@code{\partcombine} no puede estar dentro de @code{\relative}.
-Internamente, el @code{\partcombine} interpreta los dos argumentos como
-@code{Voice}s llamadas @code{one} y @code{two}, y después decide cuándo se pueden combinar
-las partes. Como consecuencia, si los argumentos cambian a
-contextos de @internalsref{Voice} con nombres diferentes, los eventos que contienen
-se ignorarán.
-
+Internamente, el @code{\partcombine} interpreta los dos argumentos
+como @code{Voice}s y decide cuándo se pueden combinar las dos partes.
+Cuando tienen distintas duraciones, no se combinan y reciben los
+nombres @code{one} y @code{two}. Como consecuencia, si los argumentos
+cambian a contextos de @rinternals{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.
+
+@code{\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.
@node Writing music in parallel
@unnumberedsubsubsec Writing music in parallel
-@cindex Escribir música en paralelo
-@cindex Música intercalada
+@cindex escribir música en paralelo
+@cindex música intercalada
+@cindex paralelo, música en
+@funindex \parallelMusic
+@funindex parallelMusic
+
+La música para varias partes se puede intercalar dentro del código de
+entrada. La función @code{\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.
-La música para varias partes se puede intercalar
+@warning{Es obligatorio utilizar comprobaciones de compás @code{|}, y
+los compases deben tener la misma longitud.}
+
+@lilypond[quote,verbatim]
+\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 |
-@lilypond[quote,fragment,verbatim]
-\parallelMusic #'(voiceA voiceB) {
- r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] |
- c'2 c'2 |
- r8 a'16[ d''] f''[ a' d'' f''] r8 a'16[ d''] f''[ a' d'' f''] |
- c'2 c'2 |
}
\new StaffGroup <<
- \new Staff \new Voice \voiceA
- \new Staff \new Voice \voiceB
+ \new Staff << \voiceA \\ \voiceB >>
+ \new Staff { \clef bass \voiceC }
>>
@end lilypond
-Esto funciona bastante bien para música de piano
+Se puede usar el modo relativo. Observe que la instrucción
+@code{\relative} no se utiliza dentro del propio bloque
+@code{\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 @code{vozA}
+ignoran a las notas que hay en @code{vozB}.
@lilypond[quote,verbatim]
-music = {
- \key c \major
- \time 4/4
- \parallelMusic #'(voiceA voiceB voiceC voiceD) {
- % Bar 1
- r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c''
-e''] |
- c'2 c'2 |
- r8 a16[ d'] f'[ a d' f'] r8 a16[ d'] f'[ a d' f'] |
- c2 c2 |
-
- % Bar 2
- a'8 b' c'' d'' e'' f'' g'' a'' |
- d'4 d' d' d' |
- c16 d e f d e f g e f g a f g a b |
- a,4 a,4 a,4 a,4 |
-
- % Bar 3 ...
- }
+\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 }
+>>
+@end lilypond
+
+Esto funciona aceptablemente bien para música de piano. El siguiente
+ejemplo asigna cada cuatro compases consecutivos a cuatro variables:
+
+@lilypond[quote,verbatim]
+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 <<
- \music
- \new Staff <<
- \voiceA \\
- \voiceB
- >>
- \new Staff {
- \clef bass
- <<
- \voiceC \\
- \voiceD
- >>
- }
+ \new Staff {
+ \global
+ <<
+ \relative c'' \voiceA
+ \\
+ \relative c' \voiceB
+ >>
+ }
+ \new Staff {
+ \global \clef bass
+ <<
+ \relative c \voiceC
+ \\
+ \relative c \voiceD
+ >>
+ }
>>
}
@end lilypond
+@seealso
+
+Manual de aprendizaje:
+@rlearning{Organizing pieces with variables}
+Fragmentos de código:
+@rlsr{Simultaneous notes}.