X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fes%2Fuser%2Fsimultaneous.itely;h=d68b9c1bc6e7279ff473b9d8fa68dcea95d09af9;hb=ee442a6f8b7617abf82da5c7a26a8c99332ac28d;hp=5d3695920b4a29f59319e135bdb356eb4367ee62;hpb=5b71a12f23e99039ef9c4e3fd571d8b0d0ae655c;p=lilypond.git diff --git a/Documentation/es/user/simultaneous.itely b/Documentation/es/user/simultaneous.itely index 5d3695920b..d68b9c1bc6 100644 --- a/Documentation/es/user/simultaneous.itely +++ b/Documentation/es/user/simultaneous.itely @@ -1,358 +1,404 @@ @c -*- coding: utf-8; mode: texinfo; -*- @ignore - Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a + Translation of GIT committish: 855e78dbe64b0a48a03cea88cde16c15d1af85b0 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.38" +@c \version "2.11.51" + +@c Translation status: post-GDP @node Simultaneous notes @section Simultaneous notes -@lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16] -{simultaneous-headword.ly} +@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 -* Chorded notes:: -* Clusters:: +* Chorded notes:: +* Clusters:: @end menu @node Chorded notes -@subsubsection Chorded notes +@unnumberedsubsubsec Chorded notes -@cindex Acordes +@cindex acordes +@cindex paréntesis en ángulo +@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] -4 8 +@lilypond[verbatim,quote,relative=1] +2 4-> -. @end lilypond -Para ver más información sobre los acordes, consulte @ref{Introducing chord -names}. +Para ver más información sobre los acordes, consulte @ref{Chord +notation}. @seealso -Glosario musical: @rglos{chord}. +Glosario musical: +@rglos{chord}. -Referencia de la notación: @ref{Introducing chord names}. +Manual de aprendizaje: +@rlearning{Combining notes into chords}. -Fragmentos de código: @lsrdir{Simultaneous,Simultaneous-notes}. +Referencia de la notación: +@ref{Chord notation}. -@knownissues +Fragmentos de código: +@rlsr{Simultaneous notes}. -Las expresiones musicales como @code{<< @{ g8 e8 @} a4 >>} no se -imprimen con exactitud. Utilice @code{8 8} en su lugar. +@node Clusters +@unnumberedsubsubsec Clusters +@cindex cluster +@cindex racimo (cluster) +@funindex \makeClusters -@node Clusters -@subsubsection Clusters +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. -UNTRANSLATED NODE: IGNORE ME +@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 -* 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 -@subsubsection Basic polyphony +@node Single-staff polyphony +@unnumberedsubsubsec Single-staff polyphony -@cindex polyphony +Para 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: -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{\\} +@lilypond[quote,relative=2,verbatim] +\new Voice << + { e4 f8 d e16 f g8 d4 } + { c4 d8 b c16 d e8 b4 } +>> +@end lilypond -@funindex \\ +Este método conduce a barrados extraños y advertencias si los +fragmentos de música no tienen las mismas duraciones exactas. Para +componer tipográficamente varias voces verdaderamente independientes +dentro de un único pentagrama se utiliza la construcción +@code{<<@{...@} \\ @{...@}>>}, en que las dos (o más) voces se +encuentran separadas por dobles barras invertidas. -@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 } - >> -} +@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 -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 } - >> -} +Las plicas de las voces primera y tercera se dirigen hacia arriba, y +las de las voces segunda y cuarta se dirigen hacia abajo; las cabezas +de las notas en las voces tercera y cuarta se desplazan +horizontalmente, y los silencios se mueven de manera que eviten las +colisiones. En el ejemplo siguiente, la voz intermedia tiene las +plicas hacia arriba, por lo que la introducimos en tercer lugar, de +forma que se convierte en la voz número tres que tiene las plicas +hacia arriba tal y como era nuestro propósito. + +@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 -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. +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. + +El método que acabamos de presentar crea dos voces nuevas cuando se +encuentra la construcción @code{<<@{...@} \\ @{...@}>>} en el código +de entrada; para añadir de forma temporal una sola voz adicional a una +voz ya existente, es necesario instanciar dicha voz de forma +explícita. Para este propósito, se pueden utilizar las instrucciones +desde @code{\voiceOne} (voz uno) hasta @code{\voiceFour} (voz cuatro) +y @code{\oneVoice} (una voz única): @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}. +Esta construcción es más apropiada para mantener en todo momento el +control de las voces, por ejemplo para facilitar una asignación +coherente de la letra al contexto de voz adecuado. + +@predefined + +@funindex \voiceOne +@code{\voiceOne}, +@funindex \voiceTwo +@code{\voiceTwo}, +@funindex \voiceThree +@code{\voiceThree}, +@funindex \voiceFour +@code{\voiceFour}, +@funindex \oneVoice +@code{\oneVoice}. + +@seealso +Manual de aprendizaje: +@rlearning{Voices contain music}, +@rlearning{Explicitly instantiating voices}. -@node Explicitly instantiating voices -@subsubsection Explicitly instantiating voices +Referencia de la notación: +@ref{Percussion staves}. -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. +Fragmentos de código: +@rlsr{Simultaneous notes}. -Concretamente: -@example -<< \superior \\ \inferior >> -@end example +@node Voice styles +@unnumberedsubsubsec Voice styles -@noindent -equivale a +@cindex voice styles +@cindex styles, voice +@cindex coloring voices -@example +Se pueden aplicar colores y formas distintos a las voces para permitir +identificarlas fácilmente: + +@lilypond[quote,relative=2,verbatim] << - \new Voice = "1" @{ \voiceOne \superior @} - \new Voice = "2" @{ \voiceTwo \inferior @} + { \voiceOneStyle d4 c2 b4 } + \\ + { \voiceTwoStyle e,2 e } + \\ + { \voiceThreeStyle b2. c4 } + \\ + { \voiceFourStyle g'2 g } >> -@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 +Para recuperar la presentación normal se utiliza la instrucción +@code{\voiceNeutralstyle}. -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 -} -@end lilypond +@predefined -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: +@funindex \voiceOneStyle +@code{\voiceOneStyle}, +@funindex \voiceTwoStyle +@code{\voiceTwoStyle}, +@funindex \voiceThreeStyle +@code{\voiceThreeStyle}, +@funindex \voiceFourStyle +@code{\voiceFourStyle}, +@funindex \voiceNeutralStyle +@code{\voiceNeutralStyle}. -@lilypond[quote,verbatim,ragged-right,relative=2] -voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) +@seealso -\relative c''' << - { \voiceOne g4 ~ \stemDown g32[ f( es d c b a b64 )g] } \\ - { \voiceThree b4} \\ - { \voiceFive d,} \\ - { \voiceTwo g,} ->> -@end lilypond +Manual de aprendizaje: +@rlearning{I'm hearing Voices}, +@rlearning{Other sources of information}. -@node Collision Resolution -@subsubsection Collision Resolution +Fragmentos de código: +@rlsr{Simultaneous notes}. -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: -@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}: +@node Collision resolution +@unnumberedsubsubsec Collision resolution -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] -\new Voice << { - c8 c4. - \override Staff.NoteCollision - #'merge-differently-headed = ##t -c8 c4. } \\ { c2 c2 } >> -@end lilypond +@cindex mezclar notas +@cindex notas, colisiones de +@cindex colisiones +@funindex \shiftOn +@funindex \shiftOnn +@funindex \shiftOnnn +@funindex \shiftOff +@cindex desplazamiento de silencios, automático -@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). +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 también desplaza verticalmente los silencios que están en el lado contrario de una plica, -por ejemplo +@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[quote,ragged-right,fragment,verbatim] -\new Voice << c''4 \\ r4 >> +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 -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 + +@cindex desplazar nota + +La colisión del segundo compás se produce porque +@code{merge-differently-headed} 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{merge-differently-headed} 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 +(o sea en las @code{Voice}s 1 y 2). + +@cindex multiple voices +@cindex polyphonic music +@cindex shifting voices @predefined -@funindex \oneVoice -@code{\oneVoice}, -@funindex \voiceOne -@code{\voiceOne}, -@funindex \voiceTwo -@code{\voiceTwo}, -@funindex \voiceThree -@code{\voiceThree}, -@funindex \voiceFour -@code{\voiceFour}. +@funindex \mergeDifferentlyDottedOn +@code{\mergeDifferentlyDottedOn}, +@funindex \mergeDifferentlyDottedOff +@code{\mergeDifferentlyDottedOff}, +@funindex \mergeDifferentlyHeadedOn +@code{\mergeDifferentlyHeadedOn}, +@funindex \mergeDifferentlyHeadedOff +@code{\mergeDifferentlyHeadedOff}. + @funindex \shiftOn @code{\shiftOn}, @@ -361,114 +407,119 @@ funciona correctamente. @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 << -{ - - -} \\ { - - \once \override NoteColumn #'force-hshift = #1.7 - -} >> -@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{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 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}). +@c investigate! Sometimes it works, sometimes not. --FV +No está claro en qué circunstancias se pueden combinar cabezas de nota +distintas que tienen también distinto puntillo. +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 -@subsubsection Automatic part combining -@cindex particellas, combinación automática -@cindex particellas, combinador de +@unnumberedsubsubsec Automatic part combining + +@cindex automática, combinación de partes +@cindex partes, combinación automática +@cindex partes, combinador de +@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 @emph{a due} quedan identificadas y es posible marcarlas. +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 +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 +@lilypond[quote,verbatim] +instrumentOne = \relative c' { + c4 d e f + R1 + d'4 c b a + b4 g2 f4 + e1 +} -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 +instrumentTwo = \relative g' { + R1 + g4 a b c + d c b a + g f( e) d + 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}. - -@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 @@ -477,91 +528,166 @@ se debe especificar @code{\relative} para ambas expresiones musicales, es decir @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. +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 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 -@subsubsection 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 +@funindex parallelMusic -La música para varias partes se puede intercalar +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 | -@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}.