@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: 85b54e04be6730bd0781f3135ee741010e099fd8 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:: @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:: * Clusters:: @end menu @node Chorded notes @unnumberedsubsubsec Chorded notes @cindex acordes @cindex paréntesis en ángulo @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; aún se usa como referencia la nota precedente dentro del mismo acorde para las alturas relativas, pero cuando el acorde termina, la nota de referencia para el modo relativo es la primera nota de este acorde, no la última nota del acorde. 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 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. Los racimos separados necesitarían silencios de separación entre ellos. @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 La estructura básica del código necesario 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, que reciben 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. Al utilizar la instrucción @code{\oneVoice} (una voz), todos los ajustes de las voces se devuelven al estado neutro de las direcciones que es típico de los pasajes de una sola voz. Podemos hacer que una voz esté en el mismo contexto @code{Voice} antes y después de un pasaje polifónico temporal. Por ejemplo, la construcción siguiente mantiene una voz activa a todo lo largo de la sección polifónica. Dicha voz es la primera dentro de la sección a dos voces, y la voz adicional es la voz segunda. @example << @{ \voiceOne ... @} \new Voice @{ \voiceTwo ... @} >> \oneVoice @end example Utilizando el nombre que la voz recibió en el momento de su creación, este método permite asignar la letra a una voz de manera consistente. @lilypond[quote, verbatim, relative=2] << \new Voice = "melody" { a4 << { \voiceOne g f } \new Voice { \voiceTwo e d } >> \oneVoice e } \new Lyrics \lyricsto "melody" { This is my song. } >> @end lilypond Aquí, las instrucciones @code{\voiceOne} y @code{\voiceTwo} ayudan a dejar claro qué ajustes recibe cada voz. Para imprimir varias voces en un solo pentagrama, se puede utilizar como método simplificado la construcción @code{<<@{...@} \\ @{...@}>>}, en la que las dos (o más) voces se separan mediante una doble barra invertida. Nuestro 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 es más sencilla y 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. @lilypond[quote,relative=3,verbatim] << { r8 g g g g f16 es f8 d } \\ { es,8 r es r d r d r } \\ { d'8 s c s bes s a s } >> @end lilypond A menudo se utilizan silencios espaciadores para evitar la aparición de un número excesivo de silencios, como se ha podido ver en el ejemplo anterior. En todas las partituras excepto las más simples, se recomienda crear contextos @code{Voice} explícitos utilizando las instrucciones @code{\new} y @code{\context} como aparece explicado en @rlearning{Contexts and engravers} y @rlearning{Explicitly instantiating voices}. 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, incorpórelas dentro de una construcción de música simultánea y haga que ésta sea una voz explícita: @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}. @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}. @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}. @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 con igual duración se combinan automáticamente, pero las que tienen duraciones distintas no se combinan. Los silencios que se encuentran en el lado opuesto de una plica 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 colisión del segundo compás se produce 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 (de hecho, se obtiene una advertencia por este motivo). Para conseguir que la combinación funcione adecuadamente, aplique 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 (o sea 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}. @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 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. @c 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. 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 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 @rinternals{Voice} con nombres diferentes, los eventos que contienen se ignorarán. @c IIRC in users list someone pointed out more issues. TODO: lookup FV @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}.