1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: 8451fc41680f500fff56f826017b53dc3dcbf65d
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
13 @node Conceptos fundamentales
14 @chapter Conceptos fundamentales
15 @translationof Fundamental concepts
17 Ha podido ver en el tutorial cómo producir música bellamente
18 impresa a partir de un simple archivo de texto. Esta sección
19 presenta los conceptos y técnicas que se requieren para producir
20 partituras igualmente bellas pero más complejas.
23 * Cómo funcionan los archivos de entrada de LilyPond::
24 * Las voces contienen música::
25 * Contextos y grabadores::
26 * Extender las plantillas::
30 @node Cómo funcionan los archivos de entrada de LilyPond
31 @section Cómo funcionan los archivos de entrada de LilyPond
32 @translationof How LilyPond input files work
34 El formato de entrada de LilyPond es bastante libre en su forma y
35 concede a los usuarios con experiencia mucha flexibilidad para
36 estructurar sus archivos de la forma que deseen. Sin embargo,
37 toda esta flexibilidad puede hacer que las cosas se vuelvan
38 confusas para los nuevos usuarios. Esta sección le va a explicar
39 parte de esta estructura, pero puede obviar ciertos detalles en
40 aras de la simplicidad. Para ver una descripción completa del
41 formato de entrada, consulte @ruser{Estructura del archivo}.
45 * Introducción a la estructura de los archivos de LilyPond::
46 * La partitura es una (única) expresión musical compuesta::
47 * Anidado de expresiones musicales::
48 * Acerca de la no anidabilidad de llaves y ligaduras::
51 @node Introducción a la estructura de los archivos de LilyPond
52 @subsection Introducción a la estructura de los archivos de LilyPond
53 @translationof Introduction to the LilyPond file structure
55 @cindex entrada, formato de la
56 @cindex archivo, estructura del
58 Un ejemplo básico de archivo de entrada de LilyPond es el
62 \version @w{"@version{}"}
67 @var{ @dots{} expresión musical compuesta @dots{} } % toda la música va aquí
74 Existen muchas variaciones de este esquema básico, pero el
75 ejemplo constituye un útil punto de partida.
82 @cindex score (partitura)
86 Hasta el momento, ninguno de los ejemplos que ha podido ver
87 utiliza la instrucción @code{\score@{@}}. Esto es así a causa de
88 que LilyPond añade automáticamente las órdenes adicionales que se
89 requieren cuando le proporcionamos una entrada sencilla.
90 LilyPond trata una entrada como esta:
99 como una abreviatura de esta otra:
116 En otras palabras, si la entrada consta de una única expresión
117 musical, LilyPond interpreta el archivo como si la expresión
118 musical estuviera rodeada por un envoltorio hecho por las
119 instrucciones que acabamos de ver.
121 @cindex contextos implícitos
122 @cindex implícitos, contextos
124 @strong{¡Advertencia!} Muchos de los ejemplos que aparecen en la
125 documentación de LilyPond omiten las instrucciones @code{\new
126 Staff} y @code{\new Voice}, dejando que se creen de forma
127 implícita. Esto funciona bien para ejemplos sencillos, pero para
128 ejemplos más complicados, especialmente cuando se usan
129 instrucciones adicionales, la creación implícita de los contextos
130 puede dar lugar a resultados inesperados, incluso en ocasiones
131 crear pentagramas no deseados. La forma de crear contextos de
132 forma explícita se explica en @ref{Contextos y grabadores}.
134 @warning{Cuando se escriben más de unas pocas líneas de música,
135 se recomienda crear siempre los pentagramas y las voces de forma
138 De todas formas, por ahora vamos a volver al primer ejemplo para
139 examinar la instrucción @code{\score}, dejando las demás en su
140 forma predeterminada.
142 Un bloque @code{\score} siempre debe contener una expresión musical
143 única. Recuerde que una expresión musical podía ser cualquier
144 cosa entre una sola nota hasta una enorme expresión compuesta como
149 @var{ @dots{} inserte aquí la partitura completa de una ópera de Wagner @dots{} }
155 Puesto que todo se encuentra dentro de @code{@{ @dots{} @}},
156 cuenta como una expresión musical.
158 Como vimos anteriormente, el bloque @code{\score} puede contener
159 otras cosas, tales como
181 Observe que estas tres instrucciones (@code{\header},
182 @code{\layout} y @code{\midi}) son especiales: a diferencia del
183 resto de las instrucciones que comienzan con una barra invertida
184 (@code{\}), @emph{no} son expresiones musicales y no forman parte
185 de ninguna expresión musical. Por tanto, se pueden situar dentro
186 de un bloque @code{\score} o fuera de él. De hecho, estas
187 instrucciones se sitúan por lo general fuera del bloque
188 @code{\score} (por ejemplo, @code{\header} se suele colocar antes
189 de la instrucción @code{\score}, como muestra el ejemplo que
190 aparece al principio de la sección.
192 Dos instrucciones más que no hemos visto aún son @code{\layout @{
193 @}} y @code{\midi @{ @}}. Si aparecen tal y como se muestran
194 aquí, hacen que LilyPond produzca una salida impresa y una salida
195 MIDI, respectivamente. Se describen con todo detalle en el
196 manual de Referencia de la notación, en @ruser{Disposición de la
197 partitura} y en @ruser{Creación de salida MIDI}.
199 @cindex partituras, varias
200 @cindex book, bloque implícito
201 @cindex implícito, bloque book
205 Podemos escribir varios bloques @code{\score}. Cada uno de ellos
206 recibirá el mismo tratamiento que una partitura independiente,
207 pero se combinarán todos juntos en un archivo de salida único.
208 No se necesita ninguna instrucción @code{\book}, se creará una
209 implícitamente. Sin embargo, si quiere archivos de salida
210 separados a partir de un único archivo @file{.ly}, entonces es
211 necesario utilizar la instrucción @code{\book} para separar las
212 distintas secciones: cada bloque @code{\book} produce un archivo
217 Cada bloque @code{\book} crea un archivo de salida distinto (por
218 ejemplo, un archivo PDF). Si no hemos escrito uno de forma
219 explícita, LilyPond envuelve todo nuestro código de entrada
220 dentro de un bloque @code{\book} de forma implícita.
222 Cada bloque @code{\score} es un trozo de música separado dentro
223 de un bloque @code{\book}.
225 @cindex layout, efecto de la situación del bloque
227 Cada bloque @code{\layout} afecta al bloque @code{\score} o
228 @code{\book} dentro del cual aparece (es decir, un bloque
229 @code{\layout} dentro de un bloque @code{\score} afecta solamente
230 a ese bloque @code{\score}, pero un bloque @code{\layout} fuera
231 de un bloque @code{\score} (que por ello está dentro de un bloque
232 @code{\book}, ya sea explícita o implícitamente) afecta a los
233 bloques @code{\score} que están dentro de ese @code{\book}.
235 Para ver más detalles, consulte
236 @ruser{Varias partituras en un libro}.
240 Otro magnífico atajo es la posibilidad de definir variables como
241 se muestra en @ref{Organizar las piezas mediante variables}.
242 Todas las plantillas emplean lo siguiente:
245 melodia = \relative @{
254 Cuando LilyPond examina este archivo, toma el valor de
255 @code{melodia} (todo lo que está después del signo igual) y lo
256 inserta dondequiera que ve @code{\melodia}. No se requiere un
257 cuidado especial con el nombre (puede ser @code{melodia},
258 @code{global}, @code{CompasArmadura}, @code{manoderechadelpiano}
259 o @code{fulanomengano} o cualquier otro). Recuerde que puede
260 usar casi cualquier nombre que se le ocurra, en la medida en que
261 contenga solamente caracteres alfabéticos y sea diferente de
262 cualquiera de los nombres de instrucción de LilyPond. Para ver
263 más detalles, consulte
264 @ref{Ahorrar tecleo mediante variables y funciones}. Las
265 limitaciones exactas que afectan a los nombres de variable se
266 detallan en @ruser{Estructura del archivo}.
270 Para ver una definición completa del formato del código de
271 entrada, consulte @ruser{Estructura del archivo}.
274 @node La partitura es una (única) expresión musical compuesta
275 @subsection La partitura es una (única) expresión musical compuesta
276 @translationof Score is a (single) compound musical expression
280 @cindex contenido del bloque score
281 @cindex score, contenido del bloque
282 @cindex compuesta, expresión musical
283 @cindex musical, expresión, compuesta
284 @cindex expresión musical compuesta
288 En la sección anterior,
289 @ref{Introducción a la estructura de los archivos de LilyPond},
290 hemos podido ver la organización general de los archivos de
291 entrada de LilyPond. Pero parece que nos saltamos la parte más
292 importante: ¿cómo averiguamos qué escribir después de
295 No nos hemos saltado nada en absoluto. El gran misterio es,
296 sencillamente, que no hay @emph{ningún} misterio. La siguiente
297 línea lo explica todo:
300 @emph{Un bloque @code{\score} debe contener exactamente una expresión musical.}
304 Para comprender lo que se entiende por expresión musical, quizá
305 encuentre útil dar un repaso al tutorial,
306 @ref{Explicación de las expresiones musicales}. En esta sección
307 vimos cómo elaborar grandes expresiones musicales a partir de
308 pequeñas piezas (comenzábamos con notas, luego acordes, etc.).
309 Ahora partiremos de una gran expresión musical y recorreremos el
310 camino inverso hacia abajo. Por simplicidad, vamos a hacer sólo
311 un cantante y un piano. No necesitamos un @code{StaffGroup} (que
312 simplemente agrupa un cierto número de pautas con un corchete a
313 la izquierda) para este conjunto, así que lo retiramos. Sin
314 embargo, @emph{sí} necesitamos pentagramas para un cantante y un
320 \new Staff = "cantante" <<
322 \new PianoStaff = "piano" <<
329 Aquí hemos asignado nombres a los pentagramas: @qq{cantante} y
330 @qq{piano}. Esto no es esencial en este momento, pero es un
331 hábito que resulta útil cultivar de manera que podamos saber de
332 un vistazo para qué es cada pentagrama.
334 Recuerde que utilizamos @code{<< @dots{} >>} en lugar de @code{@{
335 @dots{} @}} para presentar la música simultánea. Esto hace que
336 las partes vocal y del piano aparezcan una sobre la otra en la
337 partitura. La construcción @code{<< @dots{} >>} no sería
338 necesaria para el pentagrama del cantante en el ejemplo de arriba
339 si contiene solamente una expresión musical secuencial, pero se
340 necesitarían los @code{<< @dots{} >>} en lugar de las llaves si
341 la música de ese pentagrama fuese a contener dos o más
342 expresiones simultáneas, p.ej. dos voces simultáneas, o una voz
343 con letra. Vamos a tener una voz con letra, por lo que se
344 requieren los ángulos dobles. Después añadiremos algo de música
345 real; por ahora limitémonos a poner unas cuantas notas y texto de
346 relleno. Si ha olvidado cómo añadir la letra, puede releer la
347 sección @code{\addlyrics} de @ref{Elaborar canciones sencillas}.
349 @lilypond[verbatim,quote,ragged-right]
352 \new Staff = "singer" <<
353 \new Voice = "vocal" { c'1 }
356 \new PianoStaff = "piano" <<
357 \new Staff = "upper" { c'1 }
358 \new Staff = "lower" { c'1 }
365 Ahora tenemos muchos más detalles. Tenemos la pauta del
366 cantante: contiene una @code{Voice} o voz (en LilyPond, este
367 término hace referencia a un conjunto de notas, no necesariamente
368 notas vocales -- por ejemplo, un violín generalmente toca una voz
369 --) y el texto de la canción. También tenemos una pauta de
370 piano: contiene un pentagrama superior (mano derecha) y un
371 pentagrama inferior (mano izquierda), aunque el pentagrama
372 inferior aún no tiene la clave de Fa.
374 En este momento podríamos comenzar a meter las notas. Dentro de
375 las llaves que siguen a @code{\new Voice = "vocal"}, podríamos
380 r4 d''8\noBeam g, c4 r
384 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
385 larga y sería más difícil comprender lo que ocurre. En lugar de
386 esto utilizaremos identificadores o variables. Recordará que las
387 vimos por primera vez en la sección anterior.
389 Para asegurarnos de que el contenido de la variable @code{text}
390 se interpreta como letra, lo precedemos por @code{\lyricmode}.
391 Como @code{\addlyrics}, esto activa el modo de entrada de letra.
392 Sin ello, LilyPond trataría de interpretar el contenido como
393 notas, lo que generaría errores (Existen algunos otros modos,
394 véase @ruser{Modos de entrada}).
396 Así pues, escribiendo algunas notas, y una clave de Fa para la
397 mano izquierda, ahora tenemos un fragmento musical de verdad:
399 @lilypond[verbatim,quote,ragged-right]
400 melody = \relative { r4 d''8\noBeam g, c4 r }
401 text = \lyricmode { And God said, }
402 upper = \relative { <g' d g,>2~ <g d g,> }
403 lower = \relative { b,2 e }
407 \new Staff = "singer" <<
408 \new Voice = "vocal" { \melody }
411 \new PianoStaff = "piano" <<
412 \new Staff = "upper" { \upper }
413 \new Staff = "lower" {
423 Cuando escriba una sección @code{\score} o cuando la esté
424 leyendo, hágalo despacio y con cuidado. Comience por el nivel
425 exterior y luego trabaje sobre cada uno de los niveles
426 interiores. También es de gran ayuda ser muy estricto con los
427 márgenes (asegúrese de que en su editor de texto cada elemento
428 del mismo nivel comienza en la misma posición horizontal).
432 Referencia de la notación:
433 @ruser{Estructura de una partitura}.
436 @node Anidado de expresiones musicales
437 @subsection Anidado de expresiones musicales
438 @translationof Nesting music expressions
440 @cindex pentagramas temporales
441 @cindex temporales, pentagramas
444 No es esencial declarar todos los pentagramas al comienzo; se
445 pueden crear temporalmente en cualquier momento. Esto es de
446 especial utilidad para crear secciones de ossia (véase
447 @rglos{ossia}). A continuación presentamos un ejemplo sencillo
448 que muestra cómo introducir temporalmente un pentagrama nuevo
449 mientras dura un fragmento de tres notas:
451 @lilypond[verbatim,quote,ragged-right]
468 Advierta que el tamaño de la clave es igual al que se imprime en
469 un cambio de clave (ligeramente menor que la clave al principio
470 de una línea). Esto es normal para cualquier clave que se
471 imprime en la mitad de una línea.
473 @cindex pentagrama, posicionado del
475 La sección ossia se puede colocar encima del pentagrama de la
478 @lilypond[verbatim,quote,ragged-right]
479 \new Staff = "main" {
486 alignAboveContext = #"main"
494 Este ejemplo utiliza @code{\with}, que se explica en todo detalle
495 más adelante. Es un medio de modificar el comportamiento
496 predeterminado de un solo pentagrama. Aquí, dice que el
497 pentagrama nuevo se debe colocar por encima del pentagrama
498 llamado @qq{main} en vez de la posición predeterminada que sería
503 Los fragmentos de ossia se escriben a menudo sin clave y sin
504 indicación de compás, y generalmente en un tipo más pequeño.
505 Esto necesitaría más instrucciones que aún no se han visto.
506 Véase @ref{Tamaño de los objetos} y @ruser{Pentagramas de Ossia}.
509 @node Acerca de la no anidabilidad de llaves y ligaduras
510 @subsection Acerca de la no anidabilidad de llaves y ligaduras
511 @translationof On the un-nestedness of brackets and ties
513 @cindex corchetes y paréntesis, anidado de
514 @cindex corchetes y paréntesis, tipos de
515 @cindex corchetes y paréntesis, encerrar frente a marcar
516 @cindex paréntesis y corchetes, anidado de
517 @cindex paréntesis y corchetes, tipos de
518 @cindex paréntesis y corchetes, encerrar frente a marcar
520 En la escritura del archivo de entrada de LilyPond, hemos podido
521 ver algunos tipos de paréntesis, llaves o ángulos de distintos
522 tipos. Éstos obedecen a distintas reglas que al principio pueden
523 resultar confusas. Antes de explicar estas reglas, demos un
524 repaso a las distintas clases de corchetes, llaves y paréntesis.
526 @c attempt to force this onto a new page
528 @multitable @columnfractions .3 .7
529 @headitem Tipo de paréntesis
531 @item @code{@{ @dots{} @}}
532 @tab Encierra un fragmento secuencial de música
533 @item @code{< @dots{} >}
534 @tab Encierra las notas de un acorde
535 @item @code{<< @dots{} >>}
536 @tab Encierra expresiones musicales simultáneas
537 @item @code{( @dots{} )}
538 @tab Marca el comienzo y el final de una ligadura de expresión
539 @item @code{\( @dots{} \)}
540 @tab Marca el comienzo y el final de una ligadura de fraseo
541 @item @code{[ @dots{} ]}
542 @tab Marca el comienzo y el final de un barrado manual
545 A las anteriores, debemos añadir otras construcciones que generan
546 líneas entre o a través de las notas: las ligaduras de unión
547 (marcadas con una tilde curva, @code{~}), los grupos especiales
548 que se escriben como @code{\tuplet x/y @{ @dots{} @}}, y las
549 notas de adorno, que se escriben como @code{\grace @{ @dots{}
552 Fuera de LilyPond, el uso convencional de los paréntesis y otros
553 corchetes requiere que los distintos tipos se encuentren anidados
554 correctamente, como en: @code{<< [ @{ ( @dots{} ) @} ] >>}, de
555 manera que los paréntesis que se cierran deben encontrarse en el
556 orden exactamente opuesto al de los paréntesis que se abren.
557 Esto @strong{es} un requisito para los tres tipos de paréntesis
558 que se describen mediante la palabra @q{Encierra} en la tabla
559 anterior: se deben anidar correctamente. Sin embargo, el resto
560 de las llaves y corchetes, que se encuentran descritos por la
561 palabra @q{Marca} en la misma tabla anterior, @strong{no} tienen
562 por qué anidarse estrictamente con ninguno de los otros
563 paréntesis. De hecho, éstos no son paréntesis en el sentido de
564 que encierran algo: simplemente son marcadores que indican dónde
565 empieza o finaliza algo.
567 Así pues, por ejemplo, una ligadura de fraseo puede dar comienzo
568 antes de una barra insertada manualmente, y acabar antes de que
569 acabe la barra (algo que quizá no sea muy musical, pero es
572 @lilypond[quote,verbatim,ragged-right]
573 \relative { g'8\( a b[ c b\) a] g4 }
576 En general, los distintos tipos de corchete, y los implicados en
577 grupos especiales, ligaduras de unión y notas de adorno, se
578 pueden mezclar con total libertad. Este ejemplo muestra una
579 barra que se extiende hacia el interior de un grupo de valoración
580 especial (línea 1), una ligadura de expresión que se prolonga
581 hasta el interior de un grupo especial (línea 2), una barra y una
582 ligadura de expresión que se prolongan hasta el interior de un
583 grupo especial, una ligadura de unión que atraviesa dos grupos
584 especiales, y una ligadura de fraseo que sale del interior de un
585 grupo especial (líneas 3 y 4).
587 @lilypond[quote,verbatim,ragged-right]
589 r16[ g' \tuplet 3/2 { r16 e'8] }
590 g,16( a \tuplet 3/2 { b16 d) e }
591 g,8[( a \tuplet 3/2 { b8 d) e~] } |
592 \tuplet 5/4 { e32\( a, b d e } a4.\)
597 @node Las voces contienen música
598 @section Las voces contienen música
599 @translationof Voices contain music
601 Igual que los cantantes, LilyPond necesita voces para cantar. En
602 realidad, la música para cualquier instrumento de una partitura
603 está siempre contenida dentro de una voz --el concepto de
604 LilyPond más fundamental de todos--.
609 * Voces y música vocal::
613 @subsection Oigo voces
614 @translationof I'm hearing Voices
619 @cindex voces, varias
620 @cindex Voice (voz), contexto de
621 @cindex contexto Voice (de voz)
622 @cindex simultánea, música
623 @cindex concurrente, música
624 @cindex voces frente a acordes
625 @cindex acordes frente a voces
627 De las capas más profundas de una partitura de LilyPond, las más
628 bajas y más fundamentales reciben el nombre de @q{Voice contexts}
629 («contextos de voz») o, abreviadamente, @q{Voices} («voces»).
630 Las voces reciben a veces el nombre de @q{layers} («capas») en
631 otros programas de edición de partituras.
633 De hecho, una capa o contexto de voz es la única que puede
634 contener música. Si un contexto de voz no se declara
635 explícitamente, se crea uno de forma automática, como vimos al
636 comienzo de este capítulo. Ciertos instrumentos como el oboe
637 solamente pueden tocar una nota cada vez. La música escrita para
638 estos instrumentos solamente requiere una voz. Los instrumentos
639 que pueden tocar más de una nota a la vez, como el piano, con
640 frecuencia necesitarán varias voces para codificar las distintas
641 notas y ritmos concurrentes que son capaces de tocar.
643 Una sola voz puede contener muchas notas dentro de un acorde, por
644 supuesto; entonces ¿cuándo, exactamente, se necesitan varias
645 voces? En primer lugar observe este ejemplo de cuatro acordes:
647 @lilypond[quote,verbatim,ragged-right]
650 <d' g>4 <d fis> <d a'> <d g>
654 Esto se puede expresar utilizando sólo símbolos de acorde con
655 ángulos simples, @code{< @dots{} >}, y para este propósito tan
656 sólo se necesita una voz. Pero suponga que el Fa sostenido fuese
657 realmente una corchea seguida de un Sol corchea, una nota de paso
658 que conduce al La. Ahora tenemos dos notas que empiezan en el
659 mismo momento pero tienen distintas duraciones: la negra Re, y la
660 corchea Fa sostenido. ¿Cómo se codifica esto? No se pueden
661 escribir como un acorde porque todas las notas de un acorde deben
662 tener la misma duración. Y no se pueden escribir como dos notas
663 en secuencia porque tienen que empezar en el mismo momento. Aquí
664 es donde se necesitan dos voces.
666 Veamos cómo se hace esto dentro de la sintaxis de entrada de
672 La forma más fácil de introducir fragmentos con más de una voz en
673 un solo pentagrama es escribir cada voz como una secuencia (con
674 @code{@{ @dots{} @}}), y combinarlas simultáneamente con ángulos
675 dobles, @code{<< @dots{} >>}. Los fragmentos también se deben
676 separar mediante una doble barra invertida, @code{\\}, para
677 situarlos en voces separadas. Sin esto, las notas irían a una
678 sola voz, lo que normalmente produce errores. Esta técnica se
679 adapta especialmente bien a piezas de música que son mayormente
680 homofónicas pero ocasionalmente tienen cortas secciones de
683 He aquí cómo dividimos los acordes anteriores en dos voces y
684 añadimos la nota de paso y la ligadura:
686 @lilypond[quote,verbatim,ragged-right]
689 % Voice = "1" Voice = "2"
690 << { g'4 fis8( g) a4 g } \\ { d4 d d d } >>
694 Observe cómo las plicas de la segunda voz ahora se dirigen hacia
697 A continuación veamos otro ejemplo sencillo:
699 @lilypond[quote,verbatim,ragged-right]
702 % Voice = "1" Voice = "2"
703 << { r4 g' g4. a8 } \\ { d,2 d4 g } >> |
704 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
705 << { a2. r4 } \\ { fis2. s4 } >> |
709 No es necesario usar una construcción @code{<< \\ >>} distinta
710 para cada compás. Para música que tenga unas pocas notas en cada
711 compás, esta disposición podría facilitar la legibilidad del
712 código, pero si hay muchas notas en cada compás podría ser mejor
713 dividirlo en dos voces separadas, de la siguiente manera:
715 @lilypond[quote,verbatim,ragged-right]
718 \relative { % Voice = "1"
723 \relative { % Voice = "2"
731 @cindex voces, nombrado de
732 @cindex voces que cruzan corchetes
733 @cindex ligaduras que cruzan corchetes
735 Este ejemplo tiene sólo dos voces, pero la misma construcción se
736 puede usar para codificar tres o más voces mediante la adición de
737 más separadores de barra invertida.
739 Los contextos de voz llevan los nombres de @code{"1"},
740 @code{"2"}, etc. Los primeros contextos establecen las voces
741 @emph{externas}, la voz aguda del contexto @code{"1"} y la voz
742 grave del contexto @code{"2"}. Las voces interiores van en los
743 contextos @code{"3"} y @code{"4"}. En cada uno de estos
744 contextos, la dirección vertical de las ligaduras, plicas,
745 matices dinámicos, etc., se ajusta de forma correcta.
747 @lilypond[quote,verbatim]
748 \new Staff \relative {
751 % Voice = "1" Voice = "2" Voice = "3"
752 << { g4 f e } \\ { r8 e4 d c8~ } >> |
753 << { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
757 Todas estas voces están separadas de la voz principal que
758 contiene las notas justo por fuera de la construcción @code{<<
759 @dots{} >>}. Le llamaremos a esto la @emph{construcción
760 simultánea}. Las ligaduras (de prolongación y de expresión)
761 solamente pueden conectar notas que estén dentro de la misma voz,
762 luego las ligaduras no pueden entrar o salir de una construcción
763 simultánea. A la inversa, las voces paralelas de construcciones
764 simultáneas distintas sobre el mismo pentagrama, son la misma
765 voz. Otras propiedades relativas a las voces también conllevan
766 construcciones simultáneas. A continuación vemos el mismo
767 ejemplo, con colores y cabezas distintos para cada voz. Observe
768 que los cambios en una voz no afectan a otras voces, pero
769 persisten más tarde dentro de la misma voz. Observe también que
770 las notas ligadas se pueden dividir entre las mismas voces de dos
771 construcciones, como se indica aquí en la voz de triángulos
774 @lilypond[quote,verbatim]
775 \new Staff \relative {
804 @funindex \voiceOneStyle
805 @funindex \voiceTwoStyle
806 @funindex \voiceThreeStyle
807 @funindex \voiceFourStyle
808 @funindex \voiceNeutralStyle
810 Las instrucciones @code{\voiceXXXStyle} están pensadas
811 principalmente para usarlas en documentos educativos como este
812 mismo. Modifican el color de la cabeza, la plica y las barras, y
813 el estilo de la cabeza, de forma que las voces se puedan
814 distinguir fácilmente. La voz uno está establecida a rombos
815 rojos, la voz dos a triángulos azules, la voz tres a círculos
816 verdes con aspas, y la voz cuatro (que no se utiliza aquí) a
817 aspas color magenta. @code{\voiceNeutralStyle} (que tampoco se
818 usa aquí) devuelve todo al estilo predeterminado. Veremos más
819 adelante cómo el usuario puede crear instrucciones como éstas.
820 Véase @ref{Visibilidad y color de los objetos} y @ref{Uso de
821 variables para los ajustes de disposición}.
823 @cindex polifonía y modo relativo
824 @cindex relativo, modo, polifonía y
826 La polifonía no cambia la relación de las notas dentro de un
827 bloque @code{\relative}. La altura de cada nota aún se calcula
828 con relación a la nota que le precede inmediatamente, o a la
829 primera nota del acorde precedente. Así, en
832 \relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
836 @code{notaB} es relativa a @code{notaA} @*
837 @code{notaC} es relativa a @code{notaB}, no a @code{notaA}; @*
838 @code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
840 @code{notaE} es relativa a @code{notaD}, no a @code{notaA}.
842 Una forma alternativa, que podría ser más clara si las notas en las
843 voces están muy separadas, es colocar una instrucción @code{\relative}
844 al principio de cada voz:
847 \relative @{ notaA @dots{} @}
849 \relative @{ < notaB notaC > @dots{} @}
851 \relative @{ notaD @dots{} @}
853 \relative @{ notaE @dots{} @}
856 Finalmente, analicemos las voces en una pieza de música más
857 compleja. He aquí las notas de los dos primeros compases del
858 segundo de los Dos Nocturnos de Chopin, Op 32. Este ejemplo se
859 utilizará en fases posteriores dentro del presente capítulo y el
860 siguiente, para ilustrar varias técnicas para producir notación,
861 y por tanto le pedimos que ignore por ahora cualquier cosa en el
862 código subyacente que le parezca misterioso y tan sólo se
863 concentre en la música y las voces (todas las complicaciones se
864 explicarán en secciones posteriores).
866 @c The following should appear as music without code
867 @lilypond[quote,ragged-right]
868 \new Staff \relative {
874 % Ignore these for now - they are explained in Ch 4
875 \once \override NoteColumn.force-hshift = #0
877 \once \override NoteColumn.force-hshift = #0.5
883 \override NoteColumn.force-hshift = #0
891 Con frecuencia, la dirección de las plicas se utiliza para
892 indicar la continuidad de dos líneas melódicas simultáneas.
893 Aquí, todas las plicas de las notas agudas se dirigen hacia
894 arriba y las de las notas graves hacia abajo. Ésta es la primera
895 indicación de que se requiere más de una voz.
897 Pero la necesidad real de varias voces aflora cuando hay notas
898 que comienzan en el mismo tiempo pero tienen distintas
899 duraciones. Observe las notas que comienzan en la tercera parte
900 del primer compás. El La bemol es una negra con puntillo, el Fa
901 es una negra y el Re bemol es una blanca. Estas notas no se
902 pueden escribir como un acorde porque todas las notas de un
903 acorde deben tener la misma duración. Tampoco se pueden escribir
904 como notas secuenciales, pues deben comenzar al mismo tiempo.
905 Esta sección del compás requiere tres voces, y la práctica común
906 sería escribir todo el compás como tres voces como se muestra
907 abajo, donde hemos usado distintas cabezas y colores para las
908 tres voces. Una vez más, el código que subyace a este ejemplo se
909 explicará más tarde, así pues ignore todo lo que no entienda.
911 @c The following should appear as music without code
912 @c The three voice styles should be defined in -init
913 @lilypond[quote,ragged-right]
914 \new Staff \relative {
923 % Ignore these for now - they are explained in Ch 4
924 \once \override NoteColumn.force-hshift = #0
926 \once \override NoteColumn.force-hshift = #0.5
929 \\ % No Voice three (we want stems down)
932 \override NoteColumn.force-hshift = #0
941 Vamos a intentar codificar esta música partiendo de cero. Como
942 veremos, esto se topa con ciertas dificultades. Comenzamos tal y
943 como hemos aprendido, usando la construcción @code{<< \\ >>} para
944 introducir la música del primer compás en tres voces:
946 @lilypond[quote,verbatim,ragged-right]
947 \new Staff \relative {
950 { c''2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
957 @cindex voces y dirección de las plicas
958 @cindex plicas, voces y dirección de las
961 Las direcciones de las plicas se asignan automáticamente de forma
962 que las voces de numeración impar reciben las plicas hacia arriba
963 y las de numeración par hacia abajo. Las plicas de las voces 1 y
964 2 están correctas, pero las plicas de la voz 3 debería ir hacia
965 abajo en este fragmento en particular. Podemos corregir esto
966 simplemente olvidándonos de la voz tres y situando la música en
967 la voz cuatro. Esto se hace escribiendo otro par de barras
968 invertidas (@code{\\}).
970 @lilypond[quote,verbatim,ragged-right]
971 \new Staff \relative {
977 \\ % Omit Voice three
986 Vemos que esto arregla la dirección de la plica, pero la
987 colocación horizontal de las notas no es la deseada. LilyPond
988 desplaza las notas interiores cuando ellas o sus plicas de otro
989 modo colisionarían con las voces exteriores, pero esto no es lo
990 más adecuado para música de piano. En otras situaciones, los
991 desplazamientos que LilyPond aplica pueden no eliminar las
992 colisiones. LilyPond aporta varias formas de ajustar la
993 colocación horizontal de las notas. Aún no estamos preparados
994 para ver cómo se corrige esto, por lo que dejaremos el problema
995 para una sección posterior (véase la propiedad
996 @code{force-hshift} en @ref{Arreglar notación con
999 @warning{No se pueden crear letras ni objetos de extensión (como
1000 ligaduras, reguladores, etc.) @q{entre} voces distintas.}
1003 Referencia de la notación:
1004 @ruser{Varias voces}.
1007 @node Voces explícitas
1008 @subsection Voces explícitas
1009 @translationof Explicitly instantiating voices
1016 @funindex \voiceThree
1017 @funindex voiceThree
1018 @funindex \voiceFour
1022 @funindex \new Voice
1023 @cindex contextos de voz, creación de
1025 Los contextos de voz también se pueden crear manualmente dentro
1026 de un bloque @code{<< >>} para crear música polifónica,
1027 utilizando @code{\voiceOne} @dots{} @code{\voiceFour} para
1028 indicar las direcciones requeridas de plicas, ligaduras, etc. En
1029 partituras más largas, este método es más claro porque permite
1030 que las voces estén separadas y reciban nombres más descriptivos.
1032 Concretamente, la construcción @code{<< \\ >>} que usamos en la
1038 << @{ e'4 f g a @} \\ @{ c,4 d e f @} >>
1048 \new Voice = "1" @{ \voiceOne \relative @{ e'4 f g a @} @}
1049 \new Voice = "2" @{ \voiceTwo \relative @{ c'4 d e f @} @}
1053 Los dos ejemplos anteriores producen:
1055 @c The following example should not display the code
1056 @lilypond[ragged-right,quote]
1058 \new Voice = "1" { \voiceOne \relative { e'4 f g a } }
1059 \new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
1063 @cindex voces, retorno a única
1064 @cindex retorno a voz única
1066 Las instrucciones @code{\voiceXXX} establecen la dirección de las
1067 plicas, ligaduras de expresión, ligaduras de prolongación,
1068 articulaciones, anotaciones de texto, puntillos y digitaciones.
1069 @code{\voiceOne} y @code{\voiceThree} hacen que estos objetos
1070 apunten hacia arriba, mientras que @code{\voiceTwo} y
1071 @code{\voiceFour} los hacen apuntar hacia abajo. Estas
1072 instrucciones también producen un desplazamiento horizontal para
1073 cada voz cuando es necesario para evitar choques entre las
1074 cabezas. La instrucción @code{\oneVoice} devuelve los ajustes de
1075 nuevo a los valores normales para una sola voz.
1077 Veamos en algunos ejemplos sencillos exactamente qué efecto
1078 tienen @code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre
1079 el marcado, las ligaduras de unión y de expresión y las
1080 indicaciones de dinámica:
1082 @lilypond[quote,ragged-right,verbatim]
1084 % Default behavior or behavior after \oneVoice
1085 c'4 d8~ 8 e4( f | g4 a) b-> c |
1089 @lilypond[quote,ragged-right,verbatim]
1092 c'4 d8~ 8 e4( f | g4 a) b-> c |
1094 c,4 d8~ 8 e4( f | g4 a) b-> c |
1098 @lilypond[quote,ragged-right,verbatim]
1101 c'4 d8~ 8 e4( f | g4 a) b-> c |
1103 c,4 d8~ 8 e4( f | g4 a) b-> c |
1107 A continuación veremos tres formas distintas de componer la
1108 notación del mismo pasaje polifónico, cada una de las cuales
1109 tiene sus ventajas según la circunstancia, utilizando el ejemplo
1110 de la sección anterior.
1112 Una expresión que aparece directamente dentro de @code{<< >>}
1113 pertenece a la voz principal (pero, observe, @strong{no} dentro
1114 de una construcción @code{<< \\ >>}). Esto es útil cuando
1115 aparecen voces nuevas mientras la voz principal está sonando. A
1116 continuación podemos ver una realización más correcta del ejemplo
1117 de la sección anterior. Las notas rojas en forma de rombo
1118 muestran que la melodía principal está ahora dentro de un
1119 contexto de una sola voz, haciendo que se pueda trazar una
1120 ligadura por encima de ellas.
1122 @lilypond[quote,ragged-right,verbatim]
1123 \new Staff \relative {
1125 % This section is homophonic
1127 % Start simultaneous section of three voices
1129 % Continue the main voice in parallel
1130 { g4 f e | d2 e) | }
1131 % Initiate second voice
1133 % Set stems, etc., down
1135 r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1137 % Initiate third voice
1139 % Set stems, etc, up
1147 @cindex anidado de expresiones musicales
1148 @cindex anidado de construcciones simultáneas
1149 @cindex anidado de voces
1150 @cindex voces temporales
1151 @cindex voces, anidado de
1153 Son posibles construcciones polifónicas anidadas más
1154 profundamente, y si una voz aparece sólo brevemente podría haber
1155 una forma más natural de tipografiar la música.
1157 @lilypond[quote,ragged-right,verbatim]
1158 \new Staff \relative {
1161 { g4 f e | d2 e) | }
1166 { c8 b16 a b8 g~ 2 | }
1177 @cindex espaciadoras, notas
1179 Este método de anidar voces nuevas brevemente es útil cuando sólo
1180 hay secciones polifónicas pequeñas, pero cuando todo el
1181 pentagrama es muy polifónico podría ser más claro usar varias
1182 voces todo el tiempo, usando notas espaciadoras para pasar por
1183 encima de las secciones en que una voz está en silencio, como
1186 @lilypond[quote,ragged-right,verbatim]
1187 \new Staff \relative <<
1188 % Initiate first voice
1191 c'16^( d e f g4 f e | d2 e) |
1193 % Initiate second voice
1195 % Set stems, etc, down
1197 s4 r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1199 % Initiate third voice
1201 % Set stems, etc, up
1208 @subsubheading Columnas de notas
1210 @cindex columna de notas
1211 @cindex colisiones de notas
1212 @cindex notas, colisiones de
1213 @cindex desplazamiento, instrucciones de
1220 @funindex \shiftOnnn
1223 Las notas cercanas de un acorde, o las notas que se producen al
1224 mismo tiempo en distintas voces, se disponen en dos (y
1225 ocasionalmente más) columnas para evitar el solapamiento de las
1226 cabezas. Reciben el nombre de columnas de notas. Hay columnas
1227 distintas para cada voz, y el desplazamiento especificado en
1228 curso dependiente de la voz se aplica a la columna de la nota si
1229 en caso contrario se produjese una colisión. Esto se puede ver
1230 en el ejemplo anterior. En el compás 2 el Do en la voz dos está
1231 desplazado a la derecha respecto del Re de la voz uno, y en el
1232 último acorde el Do de la voz tres también está desplazado a la
1233 derecha respecto de las otras notas.
1235 Las instrucciones @code{\shiftOn}, @code{\shiftOnn},
1236 @code{\shiftOnnn} y @code{\shiftOff} especifican el grado en que
1237 se deben desplazar las notas y acordes de la voz si en caso
1238 contrario ocurriese una colisión. De forma predeterminada, las
1239 voces exteriores (normalmente las voces uno y dos) llevan
1240 especificado @code{\shiftOff}, mientras que las voces interiores
1241 (tres y cuatro) tienen @code{\shiftOn} especificado. Cuando se
1242 aplica un desplazamiento, las voces uno y tres se desplazan hacia
1243 la derecha y las voces dos y cuatro se desplazan hacia la
1246 @code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales
1247 de desplazamiento que se pueden especificar temporalmente para
1248 resolver colisiones en situaciones complejas (véase
1249 @ref{Ejemplos reales de música}).
1251 Una columna de notas puede contener sólo una nota (o acorde) de
1252 una voz con las plicas hacia arriba y una not (o acorde) de una
1253 voz con las plicas hacia abajo. Si las notas de dos voces que
1254 tienen las plicas en la misma dirección se sitúan en la misma
1255 posición y las dos voces no tienen ningún desplazamiento o llevan
1256 especificado el mismo desplazamiento, se producirá el mensaje de
1257 error @qq{Esta voz requiere un ajuste de @code{@bs{}voiceXx} o
1258 @code{@bs{}shiftXx}}.
1262 Manual de aprendizaje:
1263 @ref{Mover objetos}.
1265 Referencia de la notación:
1266 @ruser{Varias voces}.
1269 @node Voces y música vocal
1270 @subsection Voces y música vocal
1271 @translationof Voices and vocals
1274 La música vocal presenta una dificultad especial: tenemos que
1275 combinar dos expresiones, a saber, las notas y la letra.
1277 @funindex \new Lyrics
1281 @cindex Lyrics, creación de un contexto
1282 @cindex letra, creación de un contexto de
1283 @cindex letra, enlazar con una voz
1285 Ya ha visto la instrucción @code{\addlyrics@{@}}, que maneja bien
1286 partituras sencillas. Sin embargo esta técnica es algo limitada.
1287 Para música de mayor complejidad, tenemos que introducir la letra
1288 en un contexto @code{Lyrics} utilizando @code{\new Lyrics} y
1289 enlazar explícitamente la letra y las notas mediante
1290 @code{\lyricsto@{@}}, usando el nombre asignado a la voz.
1292 @lilypond[quote,verbatim]
1294 \new Voice = "one" {
1298 c''4 b8. a16 | g4. f8 | e4 d | c2 |
1301 \new Lyrics \lyricsto "one" {
1302 No more let | sins and | sor -- rows | grow. |
1307 Observe que la letra se debe enlazar a un contexto de
1308 @code{Voice}, @emph{no} a un contexto de @code{Staff}. Este es
1309 un caso en que es necesario crear contextos de @code{Staff} y de
1310 @code{Voice} explícitamente.
1312 @cindex letra y barrado
1313 @cindex barrado y letra
1314 @funindex \autoBeamOff
1315 @funindex autoBeamOff
1317 El barrado automático que LilyPond usa de forma predeterminada
1318 funciona bien para la música instrumental, pero no tan bien para
1319 música con letra, donde o bien el barrado no se necesita en
1320 absoluto, o bien se utiliza para indicar los melismas de la
1321 letra. En el ejemplo anterior hemos utilizado la instrucción
1322 @code{\autoBeamOff} para desactivar el barrado automático.
1324 @funindex \new ChoirStaff
1325 @funindex ChoirStaff
1326 @funindex \lyricmode
1328 @cindex vocal, estructura de una partitura
1329 @cindex coro, sistema de
1331 Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo»
1332 para ilustrar esta técnica más flexible. Primero la
1333 reescribiremos para que use variables, de manera que la música y
1334 la letra se puedan separar de la estructura de pentagramas.
1335 También introduciremos una llave de grupo de ChoirStaff. La
1336 letra en sí se debe introducir con @code{\lyricmode} para estar
1337 seguros de que se interpreta como letra y no como música.
1339 @lilypond[quote,verbatim]
1340 global = { \key f \major \time 6/8 \partial 8 }
1342 SopOneMusic = \relative {
1343 c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
1345 SopOneLyrics = \lyricmode {
1346 Let | flee -- cy flocks the | hills a -- dorn, __
1348 SopTwoMusic = \relative {
1349 r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1351 SopTwoLyrics = \lyricmode {
1352 Let | flee -- cy flocks the | hills a -- dorn,
1358 \new Voice = "SopOne" {
1362 \new Lyrics \lyricsto "SopOne" {
1367 \new Voice = "SopTwo" {
1371 \new Lyrics \lyricsto "SopTwo" {
1379 Ésta es la estructura básica de todas las partituras vocales. Se
1380 pueden añadir más pentagramas según se necesite, se pueden añadir
1381 más voces a los pentagramas y más estrofas a la letra, y las
1382 variables que contienen la música se pueden colocar fácilmente en
1383 archivos separados cuando se hagan demasiado largos.
1385 @cindex himno, estructura de
1386 @cindex SATB, estructura de
1387 @cindex vocal, partitura, varias estrofas
1388 @cindex varias estrofas vocales
1389 @cindex estrofas, varias, vocales
1391 A continuación podemos ver un ejemplo final de la primera línea
1392 de un himno con cuatro estrofas, para coro SATB. En este caso la
1393 letra de las cuatro partes es la misma. Observe cómo utilizamos
1394 variables para separar la notación musical de la estructura de
1395 pentagramas. Observe también cómo se utiliza una variable, para
1396 la que hemos elegido el nombre @q{TimeKey} («compás y
1397 tonalidad»), para que contenga varias instrucciones que se usarán
1398 dentro de los dos pentagramas. En otros ejemplos se le suele dar
1399 el nombre de @q{global}.
1403 @lilypond[quote,verbatim]
1404 keyTime = { \key c \major \time 4/4 \partial 4 }
1406 SopMusic = \relative { c'4 | e4. e8 g4 g | a4 a g }
1407 AltoMusic = \relative { c'4 | c4. c8 e4 e | f4 f e }
1408 TenorMusic = \relative { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1409 BassMusic = \relative { c4 | c4. c8 c4 c | f8 g a b c4 }
1412 \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1414 \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1416 \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1418 \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1424 \new Voice = "Sop" { \voiceOne \keyTime \SopMusic }
1425 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1426 \new Lyrics \lyricsto "Sop" { \VerseOne }
1427 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1428 \new Lyrics \lyricsto "Sop" { \VerseThree }
1429 \new Lyrics \lyricsto "Sop" { \VerseFour }
1433 \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1434 \new Voice = "Bass" { \voiceTwo \BassMusic }
1442 Referencia de la notación:
1443 @ruser{Música vocal}.
1446 @node Contextos y grabadores
1447 @section Contextos y grabadores
1448 @translationof Contexts and engravers
1450 Los contextos y grabadores se han mencionado de manera informal
1451 en secciones anteriores; ahora tan sólo vamos a ver estos
1452 conceptos con más detalle, pues son importantes en el ajuste fino
1453 de la salida de LilyPond.
1456 * Explicación de los contextos::
1458 * Explicación de los grabadores::
1459 * Modificar las propiedades de los contextos::
1460 * Añadir y eliminar grabadores::
1463 @node Explicación de los contextos
1464 @subsection Explicación de los contextos
1465 @translationof Contexts explained
1467 @cindex contextos, explicación de los
1469 Cuando se imprime la música, se tienen que añadir a la salida una
1470 gran cantidad de elementos notacionales que no aparecen
1471 explícitamente en el archivo de entrada. Por ejemplo, compare la
1472 entrada y la salida del siguiente ejemplo:
1474 @lilypond[quote,verbatim]
1475 \relative { cis''4 cis2. | a4 a2. | }
1478 La entrada es bastante escueta, pero en la salida se han añadido
1479 las líneas divisorias, las alteraciones, la clave y la armadura
1480 de la tonalidad. Cuando LilyPond @emph{interpreta} la entrada,
1481 la información musical se analiza de izquierda a derecha de igual
1482 forma que un intérprete lee la partitura. Mientras se lee el
1483 código de entrada, el programa recuerda dónde están los límites
1484 de los compases, y qué alturas requieren alteraciones
1485 accidentales explícitas. Esta información se debe conservar a
1486 varios niveles. Por ejemplo, una alteración accidental afecta
1487 solamente a un pentagrama, mientras que una línea divisoria debe
1488 estar sincronizada a lo largo de todo el sistema.
1490 Dentro de LilyPond, estas reglas y pequeñas porciones de
1491 información se agrupan en @emph{Contexts}. Ya hemos visto el
1492 contexto de voz, @code{Voice}. Otros ejemplos de contextos son
1493 @code{Staff} (Pauta o pentagrama) y @code{Score} (Partitura).
1494 Los contextos son jerárquicos, de forma que reflejan la
1495 naturaleza jerárquica de una partitura musical. Por ejemplo: un
1496 contexto de @code{Staff} contener muchos contextos de
1497 @code{Voice}, y un contexto de @code{Score} puede contener muchos
1498 contextos de @code{Staff}.
1501 @sourceimage{context-example,5cm,,}
1504 Cada contexto asume la responsabilidad de imponer algunas reglas
1505 de notación, creando ciertos objetos de notación y manteniendo
1506 las propiedades asociadas. Por ejemplo, el contexto @code{Voice}
1507 puede introducir una alteración accidental y entonces el contexto
1508 @code{Staff} mantiene la regla de mostrar o suprimir la
1509 alteración para el resto del compás.
1511 Otro ejemplo lo constituye el hecho de que la sincronización de
1512 las líneas divisorias se gestiona dentro del contexto de la
1513 partitura, @code{Score}, de forma predeterminada. Sin embargo,
1514 en algunas músicas posiblemente no queramos que las líneas
1515 divisorias estén sincronizadas (pensemos en una partitura
1516 polimétrica en compases de 4/4 y de 3/4). En tales casos,
1517 debemos modificar los ajustes por omisión de los contextos
1518 @code{Score} y @code{Staff}.
1520 Para partituras muy sencillas, los contextos se crean
1521 implícitamente y no debemos preocuparnos por ellos. Para piezas
1522 mayores, como por ejemplo cualquiera que tenga más de un
1523 pentagrama, los contextos se deben crear explícitamente para
1524 asegurarnos de que tendremos la cantidad exacta de pentagramas
1525 que necesitamos, y que están en el orden correcto. Para
1526 tipografiar piezas con notación especializada, es frecuente la
1527 modificación de contextos existentes o incluso definir unos
1528 completamente nuevos.
1530 Además de los contextos @code{Score,} @code{Staff} y
1531 @code{Voice}, hay contextos que se sitúan entre los niveles de
1532 partitura y de pentagrama para controlar los grupos de
1533 pentagramas, como los contextos @code{PianoStaff} y
1534 @code{ChoirStaff}. También existen contextos alternativos de
1535 pentagrama y de voz, y contextos para la letra, la percusión,
1536 diagramas de trastes, bajo cifrado, etc.
1538 Los nombres de todos los tipos de contextos se componen de una o
1539 más palabras que comienzan con mayúscula y que están unidas unas
1540 a otras sin guión ni barra baja, por ejemplo:
1541 @code{GregorianTranscriptionStaff}.
1545 Referencia de la notación:
1546 @ruser{Explicación de los contextos}.
1549 @node Crear contextos
1550 @subsection Crear contextos
1551 @translationof Creating contexts
1555 @cindex nuevos contextos
1556 @cindex creación de contextos
1557 @cindex contextos, creación de
1559 En un archivo de entrada, el bloque de partitura, que se presenta
1560 precedido por la instrucción @code{\score}, contiene una sola
1561 expresión musical y una definición de salida asociada (bien un
1562 bloque @code{\layout} o bien un bloque @code{\midi}). El
1563 contexto @code{Score} se suele dejar que se cree automáticamente
1564 cuando comienza la interpretación de esa expresión musical.
1566 Para partituras que solamente tienen una voz y un pentagrama,
1567 podemos también dejar que los contextos @code{Voice} y
1568 @code{Staff} se creen automáticamente, pero para partituras más
1569 complejas es necesario crearlos a mano. La instrucción más
1570 simple que hace esto es @code{\new}. Se antepone a una expresión
1571 musical, por ejemplo
1574 \new @var{tipo} @var{expresión_musical}
1578 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
1579 @code{Voice}). Esta instrucción crea un contexto nuevo, y
1580 comienza a interpretar la @var{expresión_musical} que está dentro
1583 @warning{No se debe usar @bs{}@code{new Score} porque el contexto
1584 @code{Score} esencial del nivel superior ya se crea
1585 automáticamente al interpretarse la expresión musical que está
1586 dentro del bloque @bs{}@code{score}. Los valores predeterminados
1587 de propiedades de contexto válidos para toda la partitura se
1588 pueden cambiar dentro del bloque @bs{}@code{layout}. Véase
1589 @ref{Modificar las propiedades de los contextos}.}
1591 En las secciones anteriores ha podido ver muchos ejemplos
1592 prácticos que creaban nuevos contextos de @code{Staff} y de
1593 @code{Voice}, pero para recordarle cómo se emplean estas
1594 instrucciones en la práctica, he aquí un ejemplo anotado de
1597 @lilypond[quote,verbatim,ragged-right]
1598 \score { % start of single compound music expression
1599 << % start of simultaneous staves section
1601 \new Staff { % create RH staff
1604 \new Voice { % create voice for RH notes
1605 \relative { % start of RH notes
1611 \new Staff << % create LH staff; needs two simultaneous voices
1614 \new Voice { % create LH voice one
1616 \relative { % start of LH voice one notes
1617 g8 <bes d> ees, <g c> |
1618 g8 <bes d> ees, <g c> |
1619 } % end of LH voice one notes
1620 } % end of LH voice one
1621 \new Voice { % create LH voice two
1623 \relative { % start of LH voice two notes
1626 } % end of LH voice two notes
1627 } % end of LH voice two
1628 >> % end of LH staff
1629 >> % end of simultaneous staves section
1630 } % end of single compound music expression
1633 (Observe cómo todas las instrucciones que abren un bloque con una
1634 llave curva, @code{@{}, o con ángulos dobles, @code{<<}, están
1635 sangrados (tienen un margen adicional) con dos espacios
1636 adicionales, y la llave de cierre correspondiente tiene un margen
1637 exactamente igual. Aunque no es necesario, la observancia de
1638 esta práctica reducirá considerablemente el número de errores de
1639 @q{paréntesis descompensados}, y se recomienda vivamente.
1640 Permite apreciar de un solo vistazo la estructura de la música, y
1641 cualquier paréntesis descompensado aparecerá con obviedad.
1642 Observe también cómo el pentagrama de la MI se crea usando dobles
1643 ángulos porque requiere dos voces, mientras que el pentagrama de
1644 la MD se crea con una expresión musical única encerrada entre
1645 llaves porque sólo requiere una voz.)
1648 @cindex contextos, nombrado
1649 @cindex nombrar contextos
1651 La instrucción @code{\new} también puede otorgar un nombre
1652 identificativo al contexto para distinguirlo de otros contextos
1656 \new @var{tipo} = @var{identificador} @var{expresión_musical}
1659 Observe la distinción entre el nombre del tipo de contexto,
1660 @code{Staff}, @code{Voice}, etc., y el nombre identificativo de
1661 una instancia en particular de ese tipo, que puede ser cualquier
1662 secuencia de letras inventada por el usuario. En el nombre
1663 identificativo también se pueden utilizar dígitos y espacios,
1664 pero en este caso aquél debe ir entre comillas p.ej. @code{\new
1665 Staff = "MiPentagrama 1" @var{expresión_musical}}. El nombre
1666 identificativo se utiliza para referirnos más tarde a esa
1667 instancia en particular de un contexto. Hemos visto esto en la
1668 sección acerca de la letra, en @ref{Voces y música vocal}.
1672 Referencia de la notación:
1673 @ruser{Crear y referenciar contextos}.
1676 @node Explicación de los grabadores
1677 @subsection Explicación de los grabadores
1678 @translationof Engravers explained
1682 Todas y cada una de las marcas de la salida impresa de una
1683 partitura hecha con LilyPond está producida por un
1684 @code{Engraver} (grabador). Así, tenemos un grabador para
1685 imprimir pentagramas, otro para imprimir las cabezas de las
1686 notas, otro para las plicas, otro para las barras, etc, etc. ¡En
1687 total hay más de 120 grabadores! Afortunadamente, para la mayor
1688 parte de las partituras no es necesario conocer más que algunos,
1689 y para partituras sencillas no tenemos que saber nada de ninguno
1692 Los grabadores residen y operan dentro de Contextos. Los
1693 grabadores como el grabador de la indicación metronómica,
1694 @code{Metronome_mark_engraver}, cuya acción y resultado se
1695 aplican a la partitura como un todo, operan en el contexto del
1696 nivel más alto: el contexto de partitura @code{Score}.
1698 El grabador de la clave @code{Clef_engraver} y el de la armadura
1699 @code{Key_engraver} se encuentran probablemente en todos los
1700 contextos de pentagrama (@code{Staff}), pues los distintos
1701 pentagramas podrían requerir diferentes claves y armaduras.
1703 El grabador de las cabezas de nota @code{Note_heads_engraver} y
1704 el de las plicas @code{Stem_engraver} viven en cada uno de los
1705 contextos de voz @code{Voice}, el contexto de nivel más bajo de
1708 Cada grabador procesa los objetos particulares asociados con su
1709 función, y mantiene las propiedades que están relacionadas con
1710 dicha función. Estas propiedades, como las que están asociadas
1711 con los contextos, se pueden modificar para cambiar el
1712 funcionamiento del grabador o el aspecto de esos elementos en la
1715 Todos los grabadores tienen nombres compuestos de varias palabras
1716 que describen su función. Sólo está en mayúsculas la inicial de
1717 la primera palabra, y el resto se le une mediante guiones bajos.
1718 Así, el grabador @code{Staff_symbol_engraver} es responsable de
1719 la creación de las líneas del pentagrama, y el
1720 @code{Clef_engraver} determina y establece la altura o el punto
1721 de referencia sobre el pentagrama dibujando un símbolo de clave.
1723 A continuación presentamos algunos de los grabadores más comunes,
1724 junto a su función. Podrá comprobar que es fácil adivinar la
1725 función a partir del nombre (en inglés), y viceversa.
1727 @multitable @columnfractions .3 .7
1730 @item Accidental_engraver
1731 @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
1733 @tab Graba las barras
1735 @tab Graba las claves
1736 @item Completion_heads_engraver
1737 @tab Divide las notas que atraviesan una línea divisoria
1738 @item Dynamic_engraver
1739 @tab Crea reguladores e indicaciones dinámicas textuales
1740 @item Forbid_line_break_engraver
1741 @tab Evita los saltos de línea si queda algún elemento musical activo
1743 @tab Crea la armadura de la tonalidad
1744 @item Metronome_mark_engraver
1745 @tab Graba la indicación metronómica
1746 @item Note_heads_engraver
1747 @tab Graba la cabeza de las notas
1749 @tab Graba los silencios
1750 @item Staff_symbol_engraver
1751 @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
1753 @tab Crea las plicas y los trémolos de una sola plica
1754 @item Time_signature_engraver
1755 @tab Crea las indicaciones de compás
1760 Más adelante veremos cómo la salida de LilyPond se puede cambiar
1761 mediante la modificación del funcionamiento de los Grabadores.
1765 Referencia de funcionamiento interno:
1766 @rinternals{Engravers and Performers}.
1769 @node Modificar las propiedades de los contextos
1770 @subsection Modificar las propiedades de los contextos
1771 @translationof Modifying context properties
1773 @cindex contexto, propiedades de
1774 @cindex contexto, propiedades de, modificación
1775 @cindex modificar las propiedades de contexto
1781 Los contextos se responsabilizan de mantener los valores de un
1782 cierto número de @emph{properties} de contexto. Muchas de ellas
1783 se pueden cambiar para influir en la interpretación del código de
1784 entrada y cambiar así la apariencia de la salida impresa. Se
1785 modifican mediante la instrucción @code{\set}. Esta instrucción
1786 toma la forma siguiente:
1789 \set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
1792 Donde el @emph{NombreDelContexto} es normalmente @code{Score},
1793 @code{Staff} o @code{Voice}. Se puede omitir, en cuyo caso se
1794 supone que es el contexto en curso (normalmente @code{Voice}).
1796 Los nombres de las propiedades de contexto consisten en palabras
1797 unidas sin ningún guión o barra baja, y donde todas las palabras
1798 excepto la primera empiezan en mayúscula. A continuación podemos
1799 ver algunos ejemplos de nombres de propiedades utilizadas con
1800 frecuencia. Hay muchas más que las que se muestran aquí.
1802 @c attempt to force this onto a new page
1804 @multitable @columnfractions .25 .15 .45 .15
1805 @headitem nombreDeLaPropiedad
1808 @tab Valor de ejemplo
1811 @tab Si es verdadero, poner becuadros adicionales antes de las alteraciones
1812 @tab @code{#t}, @code{#f}
1813 @item currentBarNumber
1815 @tab Ajustar el número del compás actual
1819 @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
1820 @tab @code{#t}, @code{#f}
1821 @item instrumentName
1823 @tab Establecer el nombre del pentagrama, situado a la izquierda
1824 @tab @code{"Cello I"}
1827 @tab Aumentar o disminuir el tamaño de la fuente tipográfica
1831 @tab Establecer el texto que se imprime antes del comienzo de una estrofa
1836 donde un valor Booleano es verdadero (@code{#t}, True) o falso
1837 (@code{#f}, False), un Entero es un número entero positivo, un
1838 número Real es un número decimal positivo o negativo, y el texto
1839 se encierra entre comillas dobles. Observe la aparición de
1840 signos de cuadradillo, (@code{#}), en dos lugares diferentes:
1841 como parte del valor Booleano antes de la @code{t} o la @code{f},
1842 y antes del @emph{valor} dentro de la sentencia @code{\set}. Así
1843 pues, cuando se está escribiendo un valor Booleano, hay que
1844 escribir dos signos de cuadradillo, por ejemplo: @code{##t}.
1846 @cindex propiedades que funcionan en contextos
1847 @cindex establecer propiedades en contextos
1849 Antes de poder establecer cualquiera de estas propiedades,
1850 tenemos que saber en qué contexto operan. A veces es algo obvio,
1851 pero en ocasiones puede ser algo enrevesado. Si especificamos un
1852 contexto equivocado, no se produce ningún mensaje de error, pero
1853 el funcionamiento esperado no tendrá lugar. Por ejemplo, la
1854 propiedad @code{instrumentName} (nombre del instrumento) vive
1855 claramente dentro del contexto de @code{Staff}, puesto que es el
1856 pentagrama el que debe ser nombrado. En este ejemplo, el primer
1857 pentagrama resulta etiquetado, pero no el segundo, porque hemos
1858 omitido el nombre del contexto.
1860 @lilypond[quote,verbatim,ragged-right]
1862 \new Staff \relative {
1863 \set Staff.instrumentName = #"Soprano"
1866 \new Staff \relative {
1867 \set instrumentName = #"Alto" % Wrong!
1873 Recuerde que el nombre del contexto predeterminado es
1874 @code{Voice}, así que la segunda instrucción @code{\set}
1875 establece la propiedad @code{instrumentName} del contexto
1876 @code{Voice} a @qq{Alto}, pero como LilyPond no busca esta
1877 propiedad en el contexto @code{Voice}, no se realiza ninguna
1878 acción. Esto no es un error, y no se registra ningún mensaje en
1879 el archivo Log de registro de errores.
1881 De forma parecida, si el nombre de la propiedad se escribe con
1882 alguna falta, no se produce ningún mensaje de error, y claramente
1883 la acción esperada no puede tener lugar. De hecho, se puede
1884 establecer cualquier @q{property} (ficticia) usando cualquier
1885 nombre que queramos en cualquier contexto que exista, mediante el
1886 uso de la instrucción @code{\set}. Pero si el nombre no es
1887 conocido para LilyPond, no producirá ninguna acción. Algunos
1888 editores de texto que apoyan a los archivos de entrada de
1889 LilyPond de manera especial, documentan los nombres de
1890 propiedades con viñetas cuando pasamos sobre ellos con el puntero
1891 del ratón, como JEdit con la extensión LilyPondTool, o resaltan
1892 los nombres de propiedades desconocidas de manera diferente, como
1893 ConTEXT. Si no se utiliza un editor con tales posibilidades, se
1894 recomienda comprobar la corrección del nombre de la propiedad en
1895 el manual de Referencia de funcionamiento interno: véase
1896 @rinternals{Tunable context properties} o @rinternals{Contexts}.
1898 La propiedad @code{instrumentName} tendrá efecto solamente si se
1899 establece dentro del contexto @code{Staff}, pero algunas
1900 propiedades se pueden establecer en más de un contexto. Por
1901 ejemplo, la propiedad @code{extraNatural} está establecida por
1902 defecto al valor @code{##t} (verdadero) para todos los
1903 pentagramas. Si se establece a @code{##f} (falso) en un contexto
1904 de @code{Staff} determinado, se aplicará solamente a las
1905 alteraciones de ese pentagrama. Si se establece a falso en el
1906 contexto de la partitura, @code{Score}, se aplicará a todos los
1909 Así, esto desactivará los becuadros adicionales en un pentagrama:
1911 @lilypond[quote,verbatim,ragged-right]
1913 \new Staff \relative {
1916 \new Staff \relative {
1917 \set Staff.extraNatural = ##f
1924 y esto los desactivará en todos los pentagramas:
1926 @lilypond[quote,verbatim,ragged-right]
1928 \new Staff \relative {
1931 \new Staff \relative {
1932 \set Score.extraNatural = ##f
1938 Como un ejemplo más, si se establece @code{clefTransposition}
1939 dentro del contexto de @code{Score}, éste cambia inmediatamente
1940 el valor de la transposición en todos los pentagramas en curso y
1941 establece un nuevo valor predeterminado que se aplicará a todos
1944 La instrucción opuesta, @code{\unset}, tiene el efecto de
1945 suprimir la propiedad del contexto, lo que ocasiona que la
1946 mayoría de las propiedades vuelvan a su valor predeterminado.
1947 Normalmente no es necesario el uso de @code{\unset}, pues una
1948 nueva instrucción @code{\set} hará el ajuste deseado.
1950 Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
1951 cualquier lugar del archivo de entrada y tendrán efecto a partir
1952 del tiempo en que se encuentran y hasta el final de la partitura
1953 o hasta que la propiedad se establezca de nuevo mediante
1954 @code{\set} o @code{\unset}. Probemos a modificar el tamaño de
1955 la fuente tipográfica, lo que afecta al tamaño de las cabezas de
1956 las notas (entre otras cosas) varias veces. El cambio se toma a
1957 partir del valor predeterminado, no el valor en curso.
1959 @lilypond[quote,verbatim,ragged-right]
1962 % make note heads smaller
1965 % make note heads larger
1966 \set fontSize = #2.5
1968 % return to default size
1974 Hemos podido ver cómo establecer los valores de diversos tipos de
1975 propiedad diferentes. Observe que los números enteros y reales
1976 van siempre precedidos de un símbolo de cuadradillo, @code{#},
1977 mientras que un valor booleano verdadero o falso se especifica
1978 mediante @code{##t} y @code{##f}, con dos cuadradillos. Una
1979 propiedad de texto se debe encerrar entre comillas dobles, como
1980 antes, aunque veremos más adelante que el texto realmente se
1981 puede especificar de una forma mucho más general utilizando la
1982 potentísima instrucción @code{markup}.
1984 @subsubheading Cambiar las propiedades de un contexto con @code{\with}
1988 @cindex contexto, propiedades de, establecimiento con \with
1990 El valor predeterminado de las propiedades de contexto se puede
1991 establecer en el momento en que se crea el contexto. A veces
1992 esta forma de establecer el valor de una propiedad es mucho más
1993 clara, si ha de quedar fijo durante todo el tiempo que dure el
1994 contexto. Cuando se crea un contexto con una instrucción
1995 @code{\new} puede ir inmediatamente seguido de un bloque
1996 @code{\with @{ @dots{} @}} en el que se establecen los valores
1997 predeterminados de las propiedades. Por ejemplo, si queremos
1998 suprimir la impresión de becuadros adicionales para toda la
1999 duración de un pentagrama, podemos escribir:
2002 \new Staff \with @{ extraNatural = ##f @}
2006 de la siguiente forma:
2008 @lilypond[quote,verbatim,ragged-right]
2012 gisis'4 gis aeses aes
2015 \new Staff \with { extraNatural = ##f } {
2017 gisis'4 gis aeses aes
2023 Las propiedades ajustadas de esta manera aún pueden cambiarse
2024 dinámicamente utilizando @code{\set} y ser devueltas al valor
2025 predeterminados que se estableció en el bloque @code{\with}
2026 mediante @code{\unset}.
2028 @cindex fontSize (tamaño de la tipografía)
2029 @cindex fuente, tamaño de la
2030 @cindex tamaño de la fuente
2032 Así pues, si la propiedad @code{fontSize} se ajusta dentro de una
2033 cláusula @code{\with}, tiene el efecto de reiniciar el valor
2034 predeterminado del tamaño de la fuente tipográfica. Si más tarde
2035 se modifica con @code{\set}, este nuevo valor predeterminado
2036 puede restablecerse con la instrucción @code{\unset fontSize}.
2038 @subsubheading Cambiar las propiedades de un contexto con @code{\context}
2040 @cindex contextos, establecer propiedades de, con \context
2044 Los valores de propiedad de los contextos se pueden establecer
2045 para @emph{todos} los contextos de un tipo determinado, como por
2046 ejemplo todos los contextos de @code{Staff}, con una única
2047 instrucción. El tipo de contexto se identifica mediante la
2048 utilización del nombre de su tipo, como @code{Staff}, precedido
2049 de una barra invertida: @code{\Staff}. El enunciado que
2050 establece el valor de la propiedad es el mismo que el que está en
2051 un bloque @code{\with}, presentado anteriormente. Se coloca en
2052 un bloque @code{\context} dentro de un bloque @code{\layout}.
2053 Cada bloque @code{\context} afecta a todos los contextos del tipo
2054 especificado a lo largo del bloque @code{\score} o @code{\book}
2055 en el que aparece el bloque @code{\layout}. A continuación
2056 presentamos un ejemplo que muestra el formato:
2058 @lilypond[verbatim,quote]
2074 Si se quiere aplicar la sobreescritura de propiedades a todos los
2075 pentagramas de la partitura:
2077 @lilypond[quote,verbatim]
2082 gisis'4 gis aeses aes
2087 gisis'4 gis aeses aes
2093 \Score extraNatural = ##f
2100 Las propiedades de contexto establecidas de esta forma se pueden
2101 sobreescribir para ejemplares concretos de contextos mediante
2102 enunciados dentro de un bloque @code{\with}, y mediante
2103 instrucciones @code{\set} intercaladas dentro de enunciados
2108 Referencia de la notación:
2109 @ruser{Cambiar los valores por omisión de los contextos},
2111 @c uncomment when backslash-node-name issue is resolved -pm
2112 @ruser{La instrucción set}.
2114 Referencia de funcionamiento interno:
2115 @rinternals{Contexts},
2116 @rinternals{Tunable context properties}.
2119 @node Añadir y eliminar grabadores
2120 @subsection Añadir y eliminar grabadores
2121 @translationof Adding and removing engravers
2123 @cindex grabadores, adición
2124 @cindex grabadores, eliminación
2125 @cindex adición de grabadores
2126 @cindex eliminación de grabadores
2133 Hemos visto que cada uno de los contextos contiene varios
2134 grabadores, cada uno de los cuales a su vez es responsable de la
2135 producción de una fracción particular del resultado impreso, como
2136 líneas divisorias, pentagramas, cabezas, plicas, etc. Si un
2137 grabador es eliminado de un contexto, ya no podrá producir su
2138 salida impresa. Es una forma algo radical de modificar la
2139 salida, pero a veces puede ser útil.
2141 @subsubheading Cambiar un solo contexto
2143 Para eliminar un grabador de un contexto único, usamos la
2144 instrucción @code{\with} situada inmediatamente después de la
2145 instrucción que crea el contexto, como en la sección anterior.
2147 Como ilustración, repitamos un ejemplo extraído de la sección
2148 anterior con las líneas del pentagrama eliminadas. Recuerde que
2149 las líneas del pentagrama están dibujadas por el grabador
2150 @code{Staff_symbol_engraver}.
2152 @lilypond[quote,verbatim,ragged-right]
2154 \remove "Staff_symbol_engraver"
2158 \set fontSize = #-4 % make note heads smaller
2160 \set fontSize = #2.5 % make note heads larger
2162 \unset fontSize % return to default size
2167 @cindex ámbito, grabador del
2169 Los grabadores también se pueden añadir a los contextos
2170 individuales La instrucción que lo hace es
2172 @code{\consists @var{Nombre_del_grabador}},
2174 situada dentro de un bloque @code{\with}. Ciertas partituras
2175 vocales tienen una indicación de ámbito o tesitura situada al
2176 principio del pentagrama para indicar el ámbito de notas en dicho
2177 pentagrama, véase @rglos{ambitus}. El ambitus se produce por
2178 parte del grabador @code{Ambitus_engraver}, que normalmente no
2179 está incluido en ningún contexto. Si lo añadimos al contexto
2180 @code{Voice}, calcula el rango a partir de esa única voz:
2182 @lilypond[quote,verbatim,ragged-right]
2185 \consists "Ambitus_engraver"
2202 pero si añadimos el grabador de ámbito al contexto de
2203 @code{Staff}, calcula el rango de todas las notas en todas las
2204 voces de ese pentagrama:
2206 @lilypond[quote,verbatim,ragged-right]
2208 \consists "Ambitus_engraver"
2226 @subsubheading Cambiar todos los contextos del mismo tipo
2231 Los ejemplos anteriores muestran la manera de eliminar o añadir
2232 grabadores a los contextos individuales. También es posible
2233 eliminar o añadir grabadores a todos los contextos de un tipo
2234 específico, situando las instrucciones en el contexto
2235 correspondiente dentro de un bloque @code{\layout}. Por ejemplo,
2236 si queremos mostrar los rangos de tesitura para todos los
2237 pentagramas de una partitura de cuatro pautas, podemos escribir
2239 @lilypond[quote,verbatim,ragged-right]
2268 \consists "Ambitus_engraver"
2275 Los valores predeterminados de las propiedades de los contextos
2276 también se pueden establecer para todos los contextos de un tipo
2277 en particular incluyendo la instrucción @code{\set} dentro de un
2278 bloque @code{\context} de la misma forma.
2282 Referencia de la notación:
2283 @ruser{Modificar los complementos (plug-ins) de contexto},
2284 @ruser{Cambiar los valores por omisión de los contextos}.
2287 Los grabadores @code{Stem_engraver} y @code{Beam_engraver} (de
2288 plica y de barra) adjuntan a la cabeza de las notas los objetos
2289 que crean. Si se suprime el grabador de cabezas de nota
2290 @code{Note_heads_engraver}, no se produce ninguna cabeza y por
2291 tanto no se crean tampoco plicas ni barras.
2294 @node Extender las plantillas
2295 @section Extender las plantillas
2296 @translationof Extending the templates
2298 Ha leído el tutorial y ahora sabe escribir música. Pero ¿cómo
2299 puede poner los pentagramas que quiere? Las plantillas están muy
2300 bien, pero ¿qué ocurre si quiere algo que no está en una de
2301 ellas? Bien, puede encontrar montañas de plantillas (véase
2302 @ref{Plantillas}) que le pueden servir como punto de partida.
2303 Pero ¿y si quiere algo que no está contemplado aquí? Continúe
2308 * Soprano y violoncello::
2309 * Partitura vocal a cuatro voces SATB::
2310 * Crear una partitura partiendo de cero::
2311 * Ahorrar tecleo mediante variables y funciones::
2312 * Partituras y particellas::
2315 @node Soprano y violoncello
2316 @subsection Soprano y violoncello
2317 @translationof Soprano and cello
2319 @cindex plantilla, modificar
2320 @cindex modificar plantillas
2322 Para empezar, tome la plantilla que le parezca más parecida a
2323 aquello que quiere conseguir. Digamos que quiere escribir algo
2324 para soprano y cello. En este caso comenzaríamos con la
2325 plantilla @q{Notas y letra} (para la parte de soprano).
2328 \version @w{"@version{}"}
2329 melodia = \relative @{
2336 texto = \lyricmode @{
2342 \new Voice = "uno" @{
2346 \new Lyrics \lyricsto "uno" \texto
2353 Ahora queremos añadir una parte de violoncello. Veamos el
2354 ejemplo @q{Sólo notas}:
2357 \version @w{"@version{}"}
2358 melodia = \relative @{
2372 No necesitamos dos instrucciones @code{\version}. Vamos a
2373 necesitar la sección @code{melodia}. No queremos dos secciones
2374 @code{\score} (si tuviésemos dos @code{\score}s, acabaríamos con
2375 las dos particellas por separado. Queremos las dos juntas, como
2376 un dúo. Dentro de la sección @code{\score}, no nos hacen falta
2377 dos @code{\layout} ni dos @code{\midi}.
2379 Si nos limitásemos a copiar y pegar la sección @code{melodia},
2380 acabaríamos con dos secciones @code{melodia} separadas, así que
2381 vamos a cambiarles el nombre. Llamaremos @code{musicaSoprano} a
2382 la sección de la soprano y @code{musicaCello} a la sección del
2383 violoncello. Al mismo tiempo cambiaremos el nombre de
2384 @code{texto} a @code{letraSoprano}. Recuerde cambiar el nombre a
2385 las dos apariciones de todos estos nombres -- tanto la definición
2386 inicial (la parte @code{melodia = \relative @{ }) -- como el uso
2387 de ese nombre (en la sección @code{\score}).
2389 También aprovecharemos para cambiar el pentagrama de la parte del
2390 cello (los violoncellos se escriben normalmente en clave de Fa).
2391 Asimismo, cambiaremos algunas notas del cello.
2394 \version @w{"@version{}"}
2395 musicaSoprano = \relative @{
2402 letraSoprano = \lyricmode @{
2406 musicaCello = \relative @{
2415 \new Voice = "uno" @{
2419 \new Lyrics \lyricsto "uno" \letraSoprano
2426 Esto tiene una apariencia prometedora, pero la parte del cello no
2427 sale en la partitura (no la hemos puesto en la sección
2428 @code{\score}). Si queremos que la parte del cello aparezca
2429 debajo de la de soprano, tenemos que añadir
2432 \new Staff \musicaCello
2436 justo debajo de todo lo de la soprano. También tenemos que poner
2437 @code{<<} y @code{>>} antes y después de la música -- lo que
2438 indica a LilyPond que hay más de una cosa (en este caso,
2439 @code{Staff}) sucediendo al mismo tiempo --. La @code{\score} se
2440 parecerá ahora a esto:
2442 @c Indentation in this example is deliberately poor
2447 \new Voice = "uno" @{
2451 \new Lyrics \lyricsto "uno" \letraSoprano
2453 \new Staff \musicaCello
2461 Lo anterior parece un poco enrevesado; los márgenes están
2462 descuadrados. Esto tiene fácil solución. Presentamos aquí la
2463 plantilla completa para soprano y cello.
2465 @lilypond[quote,verbatim,ragged-right,addversion]
2466 sopranoMusic = \relative {
2473 sopranoLyrics = \lyricmode {
2477 celloMusic = \relative {
2487 \new Voice = "one" {
2491 \new Lyrics \lyricsto "one" \sopranoLyrics
2493 \new Staff \celloMusic
2502 Las plantillas de inicio se pueden encontrar en el apéndice
2503 @q{Plantillas}, véase @ref{Plantillas de pentagrama único}.
2506 @node Partitura vocal a cuatro voces SATB
2507 @subsection Partitura vocal a cuatro voces SATB
2508 @translationof Four-part SATB vocal score
2510 La mayor parte de las partituras vocales escritas para coro mixto
2511 a cuatro voces con acompañamiento orquestal, como el «Elías» de
2512 Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
2513 letra en cuatro pentagramas para S, A, T y B, respectivamente,
2514 con una reducción de piano del acompañamiento de orquesta, por
2515 debajo. He aquí un ejemplo del «Mesías» de Haendel:
2517 @c The following should appear as music without code
2518 @lilypond[quote,ragged-right]
2519 global = { \key d \major \time 4/4 }
2521 sopranoMusic = \relative {
2523 r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2525 sopranoWords = \lyricmode {
2526 Wor -- thy | is the lamb | that was slain |
2529 altoMusic = \relative {
2531 r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 |
2533 altoWords = \sopranoWords
2535 tenorMusic = \relative {
2537 r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2539 tenorWords = \sopranoWords
2541 bassMusic = \relative {
2543 r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2545 bassWords = \sopranoWords
2550 r4 <a' d fis>2 <a e' a>4 |
2551 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2552 <g cis g'>4 <a d fis> <a cis e>2 |
2558 <d, d'>4 <d d'>2 <cis cis'>4 |
2559 <b b'>4. <b' b'>8 <fis fis'>2 |
2560 <e e'>4 <d d'> <a' a'>2 |
2564 << % combine ChoirStaff and PianoStaff in parallel
2566 \new Staff = "sopranos" <<
2567 \set Staff.instrumentName = #"Soprano"
2568 \new Voice = "sopranos" {
2573 \new Lyrics \lyricsto "sopranos" {
2576 \new Staff = "altos" <<
2577 \set Staff.instrumentName = #"Alto"
2578 \new Voice = "altos" {
2583 \new Lyrics \lyricsto "altos" { \altoWords }
2584 \new Staff = "tenors" <<
2585 \set Staff.instrumentName = #"Tenor"
2586 \new Voice = "tenors" {
2591 \new Lyrics \lyricsto "tenors" { \tenorWords }
2592 \new Staff = "basses" <<
2593 \set Staff.instrumentName = #"Bass"
2594 \new Voice = "basses" {
2599 \new Lyrics \lyricsto "basses" {
2604 \set PianoStaff.instrumentName = #"Piano"
2605 \new Staff = "upper" \upper
2606 \new Staff = "lower" \lower
2612 @warning{Esta disposición se puede conseguir muy fácilmente
2613 usando la plantilla incorporada: @code{satb.ly}, véase
2614 @ref{Plantillas incorporadas}. Pero para mayor facilidad de uso,
2615 esta plantilla oculta deliberadamente la necesaria estructura de
2616 contexto, proporcionándola automáticamente en vez de ello. Así
2617 pues, para nuestro objetivo de aprendizaje, veamos cómo construir
2618 la estructura partiendo de cero. Quizá necesite hacerlo cada vez
2619 que la plantilla incorporada no cumpla sus necesidades
2622 La plantilla (no incorporada: de copiar y editar) más parecida a
2624 @ref{Partitura vocal SATB y reducción para piano automática},
2625 pero necesitamos cambiar la disposición y añadir un
2626 acompañamiento de piano que no esté derivado automáticamente de
2627 las partes vocales. Las variables que contienen la música y la
2628 letra de las partes vocales es adecuada, pero tendremos que
2629 añadir variables para la reducción de piano.
2631 El orden en que aparecen los contextos en el ChoirStaff de la
2632 plantilla no se corresponde con el orden de la partitura vocal
2633 que hemos mostrado más arriba. Tenemos que reordenarlas para que
2634 haya cuatro pentagramas con la letra escrita directamente bajo
2635 las notas de cada parte. Todas las voces deben ser
2636 @code{\voiceOne}, que es la predeterminada, para que las
2637 instrucciones @code{\voiceXXX} se puedan eliminar. También
2638 tenemos que especificar la clave de tenor (clave de sol octava
2639 baja) en las partes de tenor. Aún no hemos encontrado la forma
2640 en que la letra se especifica en la plantilla, así que tenemos
2641 que utilizar el método que nos resulta familiar. También tenemos
2642 que escribir los nombres de cada pentagrama.
2644 Al hacerlo así obtenemos el ChoirStaff siguiente:
2648 \new Staff = "sopranos" <<
2649 \set Staff.instrumentName = #"Soprano"
2650 \new Voice = "sopranos" @{
2655 \new Lyrics \lyricsto "sopranos" @{
2658 \new Staff = "altos" <<
2659 \set Staff.instrumentName = #"Alto"
2660 \new Voice = "altos" @{
2665 \new Lyrics \lyricsto "altos" @{
2668 \new Staff = "tenors" <<
2669 \set Staff.instrumentName = #"Tenor"
2670 \new Voice = "tenors" @{
2675 \new Lyrics \lyricsto "tenors" @{
2678 \new Staff = "bajos" <<
2679 \set Staff.instrumentName = #"Bajo"
2680 \new Voice = "bajos" @{
2685 \new Lyrics \lyricsto "bajos" @{
2688 >> % fin del ChoirStaff
2691 A continuación debemos trabajar sobre la parte de piano. Es
2692 fácil: tan sólo hay que sacar la parte de piano de la plantilla
2693 de @q{Piano solista}:
2697 \set PianoStaff.instrumentName = #"Piano"
2698 \new Staff = "superior" \superior
2699 \new Staff = "inferior" \inferior
2703 y escribir las definiciones de variable para @code{superior} e
2706 Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
2707 ángulos dobles, ya queremos apilarlos unos sobre otros:
2710 << % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
2712 \new Staff = "sopranos" <<
2713 \new Voice = "sopranos" @{
2718 \new Lyrics \lyricsto "sopranos" @{
2721 \new Staff = "altos" <<
2722 \new Voice = "altos" @{
2727 \new Lyrics \lyricsto "altos" @{
2730 \new Staff = "tenores" <<
2731 \clef "G_8" % clave de tenor
2732 \new Voice = "tenores" @{
2737 \new Lyrics \lyricsto "tenores" @{
2740 \new Staff = "bajos" <<
2742 \new Voice = "bajos" @{
2747 \new Lyrics \lyricsto "bajos" @{
2750 >> % fin del ChoirStaff
2753 \set PianoStaff.instrumentName = #"Piano"
2754 \new Staff = "upper" \upper
2755 \new Staff = "lower" \lower
2760 Al combinar todo esto junto y escribir la música de los tres
2761 compases del ejemplo anterior, obtenemos:
2763 @lilypond[quote,verbatim,ragged-right,addversion]
2764 global = { \key d \major \time 4/4 }
2765 sopranoMusic = \relative {
2767 r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2769 sopranoWords = \lyricmode {
2770 Wor -- thy | is the lamb | that was slain |
2772 altoMusic = \relative {
2774 r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2776 altoWords = \sopranoWords
2777 tenorMusic = \relative {
2779 r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2781 tenorWords = \sopranoWords
2782 bassMusic = \relative {
2784 r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2786 bassWords = \sopranoWords
2790 r4 <a' d fis>2 <a e' a>4 |
2791 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2792 <g cis g'>4 <a d fis> <a cis e>2 |
2797 <d, d'>4 <d d'>2 <cis cis'>4 |
2798 <b b'>4. <b' b'>8 <fis fis'>2 |
2799 <e e'>4 <d d'> <a' a'>2 |
2803 << % combine ChoirStaff and PianoStaff in parallel
2805 \new Staff = "sopranos" <<
2806 \set Staff.instrumentName = #"Soprano"
2807 \new Voice = "sopranos" {
2812 \new Lyrics \lyricsto "sopranos" {
2815 \new Staff = "altos" <<
2816 \set Staff.instrumentName = #"Alto"
2817 \new Voice = "altos" {
2822 \new Lyrics \lyricsto "altos" {
2825 \new Staff = "tenors" <<
2826 \set Staff.instrumentName = #"Tenor"
2827 \new Voice = "tenors" {
2832 \new Lyrics \lyricsto "tenors" {
2835 \new Staff = "basses" <<
2836 \set Staff.instrumentName = #"Bass"
2837 \new Voice = "basses" {
2842 \new Lyrics \lyricsto "basses" {
2848 \set PianoStaff.instrumentName = #"Piano "
2849 \new Staff = "upper" \upper
2850 \new Staff = "lower" \lower
2857 @node Crear una partitura partiendo de cero
2858 @subsection Crear una partitura partiendo de cero
2859 @translationof Building a score from scratch
2861 @cindex plantilla, escribir su propia
2862 @cindex ejemplo de escritura de una partitura
2863 @cindex escribir una partitura, ejemplo
2864 @cindex partitura, ejemplo de escritura
2866 Después de adquirir algo de soltura en la escritura del código de
2867 LilyPond, se dará cuenta de que es más fácil construir
2868 completamente una partitura partiendo de cero, que modificar una
2869 plantilla. También puede desarrollar su propio estilo de forma
2870 que se adapte al tipo de música que le apetezca. Veamos a
2871 continuación cómo confeccionar una partitura para un preludio de
2872 órgano, como ejemplo.
2874 Comenzamos con una sección para el encabezamiento. Aquí es donde
2875 van el título, nombre del compositor, etc., después van las
2876 definiciones de las variables, y finalmente el bloque de
2877 partitura. Comencemos a verlas por encima y más tarde
2878 completaremos los detalles.
2880 Utilizaremos los dos primeros compases del preludio de Bach
2881 basado en @emph{Jesu, meine Freude}, que está escrito para órgano
2882 con dos manuales y pedal. Tiene estos dos compases de música al
2883 final de la sección. La parte del manual superior tiene dos
2884 voces, y el inferior y el pedal, una voz cada uno. Así pues,
2885 necesitamos cuatro definiciones para la música y una más para
2886 definir el compás y la tonalidad:
2889 \version @w{"@version{}"}
2891 title = "Jesu, meine Freude"
2892 composer = "J S Bach"
2894 keyTime = @{ \key c \minor \time 4/4 @}
2895 MusicaManualUnoVozUno = @{ s1 @}
2896 MusicaManualUnoVozDos = @{ s1 @}
2897 MusicaManualDos = @{ s1 @}
2898 MusicaPedal = @{ s1 @}
2904 Por el momento hemos escrito tan sólo una nota espaciadora,
2905 @code{s1}, en lugar de la música de verdad. La añadiremos más
2908 A continuación veamos qué va en el bloque de partitura.
2909 Sencillamente, reflejaremos la estructura de pentagramas que
2910 deseemos. La música de órgano se escribe por lo general en tres
2911 pentagramas, uno para cada uno de los manuales y otro para el
2912 pedal. Los pentagramas de los manuales se abarcan con una llave,
2913 así que los incluiremos en un grupo PianoStaff. La primera parte
2914 de manual tiene dos voces, y la segunda sólo una.
2918 \new Staff = "ManualUno" <<
2920 \MusicaManualUnoVozUno
2923 \MusicaManualUnoVozDos
2925 >> % fin del contexto de Staff ManualUno
2926 \new Staff = "ManualDos" <<
2930 >> % fin del contexto de Staff ManualDos
2931 >> % fin del contexto de PianoStaff
2934 Después, tenemos que añadir un pentagrama para el órgano de
2935 pedal. Esto va por debajo del PianoStaff, pero debe ser
2936 simultáneo con él, por lo que escribimos dobles ángulos rodeando
2937 a los dos. Si esto se nos olvida, se producirá un error en el
2938 archivo log de registro. ¡Es un error muy común que cometerá
2939 antes o después! Intente copiar el ejemplo final que aparece al
2940 final de la sección, borre los dobles ángulos y procese el
2941 archivo para ver qué error produce.
2944 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2946 \new Staff = "ManualUno" <<
2948 \MusicaManualUnoVozUno
2951 \MusicaManualUnoVozDos
2953 >> % fin del contexto de Staff ManualUno
2954 \new Staff = "ManualDos" <<
2958 >> % fin del contexto de Staff ManualDos
2959 >> % fin del contexto de PianoStaff
2960 \new Staff = "OrganoPedal" <<
2968 No es necesario utilizar la construcción simultánea @code{<<
2969 @dots{} >>} para el pentagrama del manual dos y el pentagrama del
2970 órgano de pedal, ya que contienen una única expresión, pero no
2971 hace daño, y es una buena costumbre utilizar siempre dobles
2972 ángulos después de @code{\new Staff} cuando hay varias voces. Lo
2973 opuesto es cierto para las voces: normalmente deben ir seguidas
2974 de llaves @code{@{ @dots{} @}} en caso de que tengamos música
2975 codificada como distintas variables que se deben situar
2978 Añadamos esta estructura al bloque de partitura, y ajustemos el
2979 sangrado de los márgenes. También escribimos las claves
2980 correspondientes, nos aseguramos de que las plicas y ligaduras de
2981 unión y de expresión en cada una de las voces del pentagrama
2982 superior apuntan en la dirección adecuada con @code{\voiceOne} y
2983 @code{\voiceTwo} y escribimos el compás y la tonalidad en cada
2984 uno de los pentagramas usando nuestra variable previamente
2985 definida @code{\TimeKey}.
2989 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2991 \new Staff = "ManualUno" <<
2992 \keyTime % establecer compás y tonalidad
2996 \MusicaManualUnoVozUno
3000 \MusicaManualUnoVozDos
3002 >> % fin del contexto de Staff ManualUno
3003 \new Staff = "ManualDos" <<
3009 >> % fin del contexto de Staff ManualDos
3010 >> % fin del contexto de PianoStaff
3011 \new Staff = "OrganoPedal" <<
3017 >> % fin del pentagrama de OrganoPedal
3019 @} % fin del contexto Score
3022 @cindex ampliabilidad de las pautas
3023 @cindex pautas, ampliabilidad
3025 La disposición anterior de los pentagramas de órgano es casi
3026 perfecta; sin embargo, existe un ligero defecto que no es visible
3027 cuando se observa un solo sistema: la distancia entre el
3028 pentagrama de pedal y el de la mano izquierda debiera ser
3029 aproximadamente la misma que la que existe entre los pentagramas
3030 de las manos izquierda y derecha. Concretamente, la
3031 ampliabilidad de los pentagramas dentro de un contexto
3032 @code{PianoStaff} es limitada (de forma que la distancia entre
3033 los pentagramas de las manos izquierda y derecha nunca crezcan
3034 excesivamente), y el pentagrama de los pedales debería
3035 comportarse de una forma similar.
3037 @cindex sub-propiedades
3038 @cindex propiedades, sub-propiedades
3039 @cindex objetos gráficos
3040 @cindex gráficos, objetos
3043 El grado de ampliabilidad o separabilidad de los pentagramas se
3044 puede controlar con la propiedad @code{staff-staff-spacing} del
3045 @q{objeto gráfico} @code{VerticalAxisGroup} (los objetos gráficos
3046 reciben por lo general el nombre de @q{grob}s en la documentación
3047 de lilypond); no se preocupe por el momento de los detalles, pues
3048 esto se explica más tarde de forma exhaustiva. Los más curiosos
3049 pueden echar un vistazo a @ruser{Panorámica de la modificación de
3050 las propiedades}. En este caso, queremos modificar solamente la
3051 sub-propiedad @code{stretchability}. De nuevo, los curiosos
3052 encontrarán los valores predeterminados para la propiedad
3053 staff-staff-spacing en el archivo @file{scm/define-grobs.scm}
3054 examinando la definición del grob @code{VerticalAxisGroup} grob.
3055 El valor de @code{stretchability} se toma de la definición del
3056 contexto @code{PianoStaff} (en el archivo
3057 @file{ly/engraver-init.ly}) de forma que los valores sean
3062 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
3064 \new Staff = "ManualUno" <<
3065 \keyTime % establecer compás y tonalidad
3069 \MusicaManualUnoVozUno
3073 \MusicaManualUnoVozDos
3075 >> % % fin del contexto de Staff ManualUno
3076 \new Staff = "ManualDos" \with @{
3077 \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
3084 >> % fin del contexto de Staff ManualDos
3085 >> % fin del contexto de PianoStaff
3086 \new Staff = "OrganoPedal" <<
3092 >> % fin del pentagrama de OrganoPedal
3094 @} % fin del contexto Score
3097 Con esto se completa la estructura. Toda música para órgano de
3098 tres pentagramas tendrá una estructura similar, aunque el número
3099 de voces puede variar. Todo lo que nos queda es añadir la
3100 música, y combinar todas las partes.
3102 @lilypond[quote,verbatim,ragged-right,addversion]
3104 title = "Jesu, meine Freude"
3105 composer = "J S Bach"
3107 keyTime = { \key c \minor \time 4/4 }
3108 ManualOneVoiceOneMusic = \relative {
3112 ManualOneVoiceTwoMusic = \relative {
3113 ees'16 d ees8~ 16 f ees d c8 d~ d c~ |
3114 8 c4 b8 c8. g16 c b c d |
3116 ManualTwoMusic = \relative {
3117 c'16 b c8~ 16 b c g a8 g~ 16 g aes ees |
3118 f16 ees f d g aes g f ees d ees8~ 16 f ees d |
3120 PedalOrganMusic = \relative {
3121 r8 c16 d ees d ees8~ 16 a, b g c b c8 |
3122 r16 g ees f g f g8 c,2 |
3126 << % PianoStaff and Pedal Staff must be simultaneous
3128 \new Staff = "ManualOne" <<
3129 \keyTime % set key and time signature
3133 \ManualOneVoiceOneMusic
3137 \ManualOneVoiceTwoMusic
3139 >> % end ManualOne Staff context
3140 \new Staff = "ManualTwo" \with {
3141 \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
3148 >> % end ManualTwo Staff context
3149 >> % end PianoStaff context
3150 \new Staff = "PedalOrgan" <<
3156 >> % end PedalOrgan Staff context
3158 } % end Score context
3165 @node Ahorrar tecleo mediante variables y funciones
3166 @subsection Ahorrar tecleo mediante variables y funciones
3167 @translationof Saving typing with variables and functions
3170 @cindex identificadores
3172 Llegado a este punto, usted ha visto cosas de este tipo:
3174 @lilypond[quote,verbatim,ragged-right]
3175 hornNotes = \relative { c''4 b dis c }
3184 Incluso se dará cuenta de que esto puede ser útil en música
3187 @lilypond[quote,verbatim,ragged-right]
3188 fragmentA = \relative { a'4 a8. b16 }
3189 fragmentB = \relative { a'8. gis16 ees4 }
3191 violin = \new Staff {
3192 \fragmentA \fragmentA |
3193 \fragmentB \fragmentA |
3203 Sin embargo también puede usar estos identificadores (que también
3204 se conocen como variables, macros o instrucciones definidas por
3205 el usuario) para hacer trucos:
3207 @lilypond[quote,verbatim,ragged-right]
3208 dolce = \markup { \italic \bold dolce }
3210 centreText = { \once \override TextScript.self-alignment-X = #CENTER }
3213 \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
3216 violin = \relative {
3218 c''4._\dolce b8 a8 g a b |
3220 c4.^"hi there!" d8 e f g d |
3221 c4.\fthenp b8 c4 c-. |
3232 Obviamente estos identificadores son útiles para ahorrar tecleo.
3233 Pero son dignos de tener en cuenta incluso si se van a utilizar
3234 una sola vez: reducen la complejidad. Examinemos el ejemplo
3235 anterior reescrito sin ningún identificador. Encontrará que es
3236 mucho más difícil de leer, sobre todo la última línea.
3239 violin = \relative @{
3241 c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
3242 \once \override TextScript.self-alignment-X = #CENTER
3243 c4.^"hi there!" d8 e f g d |
3245 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3252 Hasta ahora hemos contemplado la sustitución estática: cuando
3253 LilyPond se encuentra con @code{\centreText}, lo sustituye con
3254 aquello que hemos definido que sea (es decir, todo lo que está a
3255 la derecha de @code{centreText=}).
3257 LilyPond también puede manejar sustituciones no estáticas (piense
3258 en ellas como en funciones).
3260 @lilypond[quote,verbatim,ragged-right]
3262 #(define-music-function
3266 \once \override TextScript.padding = #padding
3270 c''4^"piu mosso" b a b
3272 c4^"piu mosso" b a b
3274 c4^"piu mosso" b a b
3278 La utilización de identificadores también es una buena forma de
3279 reducir el trabajo si la sintaxis de entrada de LilyPond cambia
3280 (véase @rprogram{Actualizar ficheros con convert-ly}). Si tiene
3281 una sola definición (como p.ej. @code{\dolce}) para todos sus
3282 archivos (ver @ref{Hojas de estilo}), y después la sintaxis se
3283 modifica, sólo tendrá que actualizar su definición @code{\dolce}
3284 única, en lugar de tener que hacer cambios en cada uno de los
3285 archivos @file{.ly}.
3288 @node Partituras y particellas
3289 @subsection Partituras y particellas
3290 @translationof Scores and parts
3292 En música orquestal, todas las notas se imprimen dos veces. Una
3293 vez en las particellas para los músicos, y otra para la partitura
3294 del director. Los identificadores se pueden usar para evitar la
3295 duplicación del trabajo. La música se escribe una vez y se
3296 almacena en una variable. El contenido de dicha variable se usa
3297 después para generar tanto la particella como la partitura del
3300 Es muy conveniente definir las notas en un archivo especial. Por
3301 ejemplo, supongamos que el archivo @file{trompa.ly} contiene la
3302 siguiente parte de un dúo para trompa y fagot:
3305 notasTrompa = \relative @{
3307 r4 f8 a | cis4 f | e4 d |
3312 Luego se hace una particella escribiendo en un archivo lo
3316 \include "trompa.ly"
3319 instrument = "Trompa en Fa"
3323 \transpose f c' \notasTrompa
3330 \include "trompa.ly"
3334 sustituye el contenido de @file{trompa.ly} en esta posición
3335 dentro del archivo, así que @code{notasTrompa} se define con
3336 posterioridad. La instrucción @code{\transpose f@tie{}c'} indica
3337 que el argumento constituido por @code{\notasTrompa} se debe
3338 transponer una quinta hacia arriba. Lo que suena como @code{f}
3339 se escribe como @code{c'}, lo que corresponde con el tono de
3340 afinación de una trompa normal en@tie{}Fa. La transposición se
3341 puede ver en la siguiente salida
3343 @lilypond[quote,ragged-right]
3344 \transpose f c' \relative {
3346 r4 f8 a | cis4 f | e4 d |
3350 En piezas para conjunto, con frecuencia una de las voces no suena
3351 durante muchos compases. Esto queda denotado por un silencio
3352 especial, el silencio multicompás. Se introduce con una @code{R}
3353 mayúscula seguida de una duración (@code{1}@tie{}en el caso de la
3354 redonda, @code{2}@tie{}en el caso de una blanca, etc.).
3355 Multiplicando la duración se pueden construir silencios más
3356 largos. Por ejemplo, este silencio ocupa 3@tie{}compases de 2/4
3362 Cuando se imprime la particella tienen que comprimirse los silencios
3363 multicompás. Existe una función musical para hacerlo:
3366 \compressMMRests @{ ... @}
3369 Applying this to @code{hornNotes} gives:
3371 @lilypond[quote,ragged-right]
3372 \compressMMRests \transpose f c' \relative {
3375 r4 f8 a | cis4 f | e4 d |
3379 Esta partitura se hace combinando toda la música junta.
3380 Suponiendo que la otra voz se encuentra dentro de
3381 @code{notasFagot} en el archivo @file{fagot.ly}, la partitura se
3386 \include "trompa.ly"
3389 \new Staff \notasTrompa
3390 \new Staff \notasFagot
3397 @lilypond[quote,ragged-right]
3403 r4 f8 a | cis4 f | e4 d |
3408 r4 d,8 f | gis4 c | b4 bes |
3409 a8 e f4 | g4 d | gis4 f |
3415 Manual de aprendizaje:
3416 @ref{Organizar las piezas mediante variables}.
3418 Referencia de la notación:
3419 @ruser{Transposición},
3420 @ruser{Escritura de las particellas},
3421 @ruser{Silencios de compás completo},
3422 @ruser{Inclusión de archivos de LilyPond}.