@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore Translation of GIT committish: 46458e0e0fafcb4dab3e8127110cef5984523e10 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.12.0" @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:: @end menu @node Single voice @subsection Single voice Esta sección trata de la notas simultáneas dentro de la misma voz. @menu * Chorded notes:: * Simultaneous expressions:: * Clusters:: @end menu @node Chorded notes @unnumberedsubsubsec Chorded notes @cindex acordes @cindex paréntesis en ángulo @cindex ángulo, paréntesis en @cindex relativa, altura en 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,quote,relative=1] 2 4-> -. @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 simultá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 Aquí no hay problema en tener distintas duraciones. @node Clusters @unnumberedsubsubsec Clusters @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 { 2 } @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 * Single-staff polyphony:: * Voice styles:: * Collision resolution:: * Automatic part combining:: * Writing music in parallel:: @end menu @node Single-staff polyphony @unnumberedsubsubsec Single-staff polyphony @cindex pentagrama único, polifonía de @cindex polifonía en un solo pentagrama @cindex voz @cindex letra asignada a una voz @funindex \voiceOne @funindex voiceOne @funindex \voiceOne ... \voiceFour @funindex Voice @funindex \oneVoice @funindex oneVoice @strong{@i{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: @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 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 << @{ \voiceOne ... @} \new Voice @{ \voiceTwo ... @} >> \oneVoice @end example 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 Aquí, las instrucciones @code{\voiceOne} y @code{\voiceTwo} son necesarias para definir los ajustes de cada voz. @strong{@i{La construcción de la doble barra invertida}} 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. El primer ejemplo podría haberse tipografiado de la manera siguiente: @lilypond[quote,relative=3,verbatim] << { r8 r16 g e8. f16 g8[ c,] f e16 d } \\ { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. } >> @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. 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 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}} 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: @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. @predefined @code{\voiceOne}, @code{\voiceTwo}, @code{\voiceThree}, @code{\voiceFour}, @code{\oneVoice}. @endpredefined @seealso Manual de aprendizaje: @rlearning{Voices contain music}, @rlearning{Explicitly instantiating voices}. Referencia de la notación: @ref{Percussion staves}, @ref{Invisible rests}, @ref{Stems}. Fragmentos de código: @rlsr{Simultaneous notes}. @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 Para recuperar la presentación normal se utiliza la instrucción @code{\voiceNeutralstyle}. @predefined @code{\voiceOneStyle}, @code{\voiceTwoStyle}, @code{\voiceThreeStyle}, @code{\voiceFourStyle}, @code{\voiceNeutralStyle}. @endpredefined @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 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. @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 Las cabezas de notas diferentes se pueden combinar, con la excepción de blancas con negras: @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 Se pueden combinar cabezas con puntillos diferentes: @lilypond[quote,relative=2,verbatim] << { \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] << { \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 @code{\mergeDifferentlyDottedOn}, @code{\mergeDifferentlyDottedOff}, @code{\mergeDifferentlyHeadedOn}, @code{\mergeDifferentlyHeadedOff}. @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, @code{\shiftOff}. @endpredefined @snippets @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {additional-voices-to-avoid-collisions.ly} @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {forcing-horizontal-shift-of-notes.ly} @seealso 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 @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 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. @lilypond[quote,verbatim] 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 >> @end lilypond 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 \relative @dots{} @var{expresión_musical_1} \relative @dots{} @var{expresión_musical_2} @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}. @snippets @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {combining-two-parts-on-the-same-staff.ly} @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {changing-partcombine-texts.ly} @seealso 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 @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 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 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. @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 | } \new StaffGroup << \new Staff << \voiceA \\ \voiceB >> \new Staff { \clef bass \voiceC } >> @end lilypond 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] \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 << \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}.